包含关键字 linux 的文章

必看:NvidiaGraphicsDrivers ——Debian Wiki

启用专有/争议存储库

命令忘了,手动编辑吧=-=手动编辑是不可能的,一行命令能解决我为什么要再打开编辑器?
sudo apt-add-repository non-free
sudo apt-add-repository contrib
你还可以使用--remove参数禁用某个存储库,比如main

安装驱动

sudo apt install nvidia-driver firmware-misc-nonfree

启用wayland

使用NVIDIA驱动程序启用内核模式设置

echo 'GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX nvidia-drm.modeset=1"' | sudo tee /etc/default/grub.d/nvidia-modeset.cfg
sudo update-grub
## 避免休眠问题
sudo apt install nvidia-suspend-common  #可能已被安装
sudo systemctl enable nvidia-suspend.service
sudo systemctl enable nvidia-hibernate.service
sudo systemctl enable nvidia-resume.service

验证是否已启用PreserveVideoMemoryAllocations NVIDIA模块参数

cat /proc/driver/nvidia/params | grep PreserveVideoMemoryAllocations
我们希望他输出1
这时候你大概还没有在安装后重启操作系统,所以这个文件压根还不存在。为了一劳永逸,你可以执行如下命令提前解决,反正多重复一次也没什么关系。
echo 'options nvidia NVreg_PreserveVideoMemoryAllocations=1' | sudo tee /etc/modprobe.d/nvidia-power-management.conf
sudo reboot #重启直接选择Wayland登录,如果你刚安装好的的操作系统没被你动过别的地方那么Wayland应该可用正常使用。

为什么要使用Wine

因为我打算使用网易云音乐,但是他的Linux客户端已经没人维护里,Debain12无法安装也无法启动。隔壁QQ音乐是可安装但是和提供的Appimage一样打开就闪退。
暂时还不能完全离开这些专有服务,只能去用wine了。

开始安装

有个惊喜,不知道是不是维护者看到了我发的帖子,总之Wine官网的下载安装页面更新了,简中Wiki的万年遗留错误也修了。

现在官方文档很清楚,我不再重复。
参见:Debian-Ubuntu安装 WineHQ 安装包

解决证书问题

有的人会卡在第二步:


xfox@JiaoLoong5-76s:~$  sudo wget -O /etc/apt/keyrings/winehq-archive.key https://dl.winehq.org/wine-builds/winehq.key
--2024-09-15 00:21:18--  https://dl.winehq.org/wine-builds/winehq.key
正在解析主机 dl.winehq.org (dl.winehq.org)... 2a04:4e42:8c::729, 146.75.114.217
正在连接 dl.winehq.org (dl.winehq.org)|2a04:4e42:8c::729|:443... 已连接。错误: “dl.winehq.org” 的证书不可信。

如果你去搜索,恐怕很容易找到这样的内容: 使用--no-check-certificate参数 ,特别是*SDN的垃圾帖子。
但是,这是非常危险且不被推荐的!这意味着你和服务器的通信可能不知不觉的受到中间人篡改。

手动信任证书

浏览器打开https://dl.winehq.org/ 在证书详情页面选择导出,接下来

sudo cp _.winehq.pem /usr/local/share/ca-certificates/winehq.crt
sudo update-ca-certificates
Updating certificates in /etc/ssl/certs...
rehash: warning: skipping ca-certificates.crt,it does not contain exactly one certificate or CRL
1 added, 0 removed; done.
Running hooks in /etc/ca-certificates/update.d...
done.

然后继续执行即可。

额外的

证书验证失败也可能是你的本地设备时间偏差过大导致的。
timedatectl #查看当前时间处于什么状态,是否偏差过大 ,Windows+Linux双系统易出此问题
sudo apt update
sudo apt install systemd-timesyncd
sudo systemctl enable systemd-timesyncd
sudo systemctl start systemd-timesyncd
sudo systemctl status systemd-timesyncd
sudo timedatectl set-local-rtc 0 #设置本地时间为UTC时间
timedatectl #检查时间

你应当优先阅读NvidiaGraphicsDrivers

启用非自由软件源

安装驱动程序

sudo apt install nvidia-driver
sudo systemctl reboot


展开查看日志

xfox@loong5-76s:~$ sudo apt install nvidia-driver
将要安装:                                     
  nvidia-driver

将要安装的依赖:  firmware-nvidia-gsp      libgles1                libnvidia-glcore           nvidia-egl-common         nvidia-settings
  glx-alternative-mesa     libglx-nvidia0          libnvidia-glvkspirv        nvidia-egl-icd            nvidia-smi
  glx-alternative-nvidia   libnvcuvid1             libnvidia-ml1              nvidia-installer-cleanup  nvidia-support
  glx-diversions           libnvidia-allocator1    libnvidia-pkcs11-openssl3  nvidia-kernel-common      nvidia-suspend-common
  libcuda1                 libnvidia-cfg1          libnvidia-ptxjitcompiler1  nvidia-kernel-dkms        nvidia-vdpau-driver
  libegl-nvidia0           libnvidia-egl-gbm1      libnvidia-rtcore           nvidia-kernel-support     nvidia-vulkan-common
  libgl1-nvidia-glvnd-glx  libnvidia-egl-wayland1  nvidia-alternative         nvidia-legacy-check       nvidia-vulkan-icd
  libgles-nvidia1          libnvidia-eglcore       nvidia-driver-bin          nvidia-modprobe           update-glx
  libgles-nvidia2          libnvidia-encode1       nvidia-driver-libs         nvidia-persistenced       xserver-xorg-video-nvidia

建议安装:  nvidia-cuda-mps

推荐安装:  libcuda1:i386  nvidia-driver-libs:i386

摘要:  升级:0,安装:46,卸载:0,不升级:0
  下载大小:154 MB
  所需的空间:486 MB / 243 GB 可用
是否继续? [Y/n] y
获取:1 https://mirrors.tuna.tsinghua.edu.cn/debian testing/contrib amd64 update-glx amd64 1.2.2 [5,432 B]
获取:2 https://mirrors.tuna.tsinghua.edu.cn/debian testing/contrib amd64 glx-alternative-mesa amd64 1.2.2 [4,760 B]
获取:3 https://mirrors.tuna.tsinghua.edu.cn/debian testing/contrib amd64 nvidia-installer-cleanup amd64 20240109+1 [13.9 kB]
获取:4 https://mirrors.tuna.tsinghua.edu.cn/debian testing/contrib amd64 glx-diversions amd64 1.2.2 [7,408 B]
获取:5 https://mirrors.tuna.tsinghua.edu.cn/debian testing/contrib amd64 glx-alternative-nvidia amd64 1.2.2 [5,776 B]
获取:6 https://mirrors.tuna.tsinghua.edu.cn/debian testing/non-free amd64 nvidia-legacy-check amd64 535.183.06-1 [157 kB]
获取:7 https://mirrors.tuna.tsinghua.edu.cn/debian testing/contrib amd64 nvidia-support amd64 20240109+1 [14.8 kB]
获取:8 https://mirrors.tuna.tsinghua.edu.cn/debian testing/non-free amd64 nvidia-alternative amd64 535.183.06-1 [153 kB]
获取:9 https://mirrors.tuna.tsinghua.edu.cn/debian testing/non-free amd64 libnvidia-ptxjitcompiler1 amd64 535.183.06-1 [6,973 kB]
获取:10 https://mirrors.tuna.tsinghua.edu.cn/debian testing/non-free amd64 libnvidia-pkcs11-openssl3 amd64 535.183.06-1 [155 kB]
获取:11 https://mirrors.tuna.tsinghua.edu.cn/debian testing/non-free amd64 libcuda1 amd64 535.183.06-1 [2,999 kB]
获取:12 https://mirrors.tuna.tsinghua.edu.cn/debian testing/non-free amd64 libnvidia-glvkspirv amd64 535.183.06-1 [10.7 MB]
获取:13 https://mirrors.tuna.tsinghua.edu.cn/debian testing/non-free amd64 libnvidia-eglcore amd64 535.183.06-1 [10.6 MB]
获取:14 https://mirrors.tuna.tsinghua.edu.cn/debian testing/non-free amd64 libnvidia-glcore amd64 535.183.06-1 [10.8 MB]
获取:15 https://mirrors.tuna.tsinghua.edu.cn/debian testing/non-free amd64 libglx-nvidia0 amd64 535.183.06-1 [387 kB]
获取:16 https://mirrors.tuna.tsinghua.edu.cn/debian testing/non-free amd64 libgl1-nvidia-glvnd-glx amd64 535.183.06-1 [332 kB]
获取:17 https://mirrors.tuna.tsinghua.edu.cn/debian testing/non-free amd64 nvidia-egl-common amd64 535.183.06-1 [151 kB]
获取:18 https://mirrors.tuna.tsinghua.edu.cn/debian testing/main amd64 libnvidia-egl-wayland1 amd64 1:1.1.15-1 [31.5 kB]
获取:19 https://mirrors.tuna.tsinghua.edu.cn/debian testing/non-free amd64 libegl-nvidia0 amd64 535.183.06-1 [422 kB]
获取:20 https://mirrors.tuna.tsinghua.edu.cn/debian testing/non-free amd64 nvidia-egl-icd amd64 535.183.06-1 [151 kB]
获取:21 https://mirrors.tuna.tsinghua.edu.cn/debian testing/non-free amd64 nvidia-driver-libs amd64 535.183.06-1 [151 kB]
获取:22 https://mirrors.tuna.tsinghua.edu.cn/debian testing/non-free amd64 libnvidia-ml1 amd64 535.183.06-1 [684 kB]
获取:23 https://mirrors.tuna.tsinghua.edu.cn/debian testing/non-free amd64 nvidia-driver-bin amd64 535.183.06-1 [218 kB]
获取:24 https://mirrors.tuna.tsinghua.edu.cn/debian testing/non-free amd64 xserver-xorg-video-nvidia amd64 535.183.06-1 [2,289 kB]
获取:25 https://mirrors.tuna.tsinghua.edu.cn/debian testing/non-free amd64 nvidia-vdpau-driver amd64 535.183.06-1 [641 kB]
获取:26 https://mirrors.tuna.tsinghua.edu.cn/debian testing/non-free-firmware amd64 firmware-nvidia-gsp amd64 535.183.06-1 [38.5 MB]
获取:27 https://mirrors.tuna.tsinghua.edu.cn/debian testing/contrib amd64 nvidia-kernel-common amd64 20240109+1 [4,572 B]
获取:28 https://mirrors.tuna.tsinghua.edu.cn/debian testing/contrib amd64 nvidia-modprobe amd64 550.78-1 [21.7 kB]
获取:29 https://mirrors.tuna.tsinghua.edu.cn/debian testing/non-free amd64 nvidia-kernel-support amd64 535.183.06-1 [152 kB]
获取:30 https://mirrors.tuna.tsinghua.edu.cn/debian testing/non-free amd64 nvidia-kernel-dkms amd64 535.183.06-1 [44.9 MB]
获取:31 https://mirrors.tuna.tsinghua.edu.cn/debian testing/non-free amd64 nvidia-driver amd64 535.183.06-1 [516 kB]
获取:32 https://mirrors.tuna.tsinghua.edu.cn/debian testing/non-free amd64 libnvidia-cfg1 amd64 535.183.06-1 [241 kB]
获取:33 https://mirrors.tuna.tsinghua.edu.cn/debian testing/contrib amd64 nvidia-persistenced amd64 535.171.04-1 [27.1 kB]
获取:34 https://mirrors.tuna.tsinghua.edu.cn/debian testing/contrib amd64 nvidia-settings amd64 535.171.04-1 [767 kB]
获取:35 https://mirrors.tuna.tsinghua.edu.cn/debian testing/main amd64 libgles1 amd64 1.7.0-1+b1 [12.2 kB]
获取:36 https://mirrors.tuna.tsinghua.edu.cn/debian testing/non-free amd64 libgles-nvidia1 amd64 535.183.06-1 [171 kB]
获取:37 https://mirrors.tuna.tsinghua.edu.cn/debian testing/non-free amd64 libgles-nvidia2 amd64 535.183.06-1 [180 kB]
获取:38 https://mirrors.tuna.tsinghua.edu.cn/debian testing/non-free amd64 libnvcuvid1 amd64 535.183.06-1 [1,502 kB]
获取:39 https://mirrors.tuna.tsinghua.edu.cn/debian testing/non-free amd64 libnvidia-allocator1 amd64 535.183.06-1 [207 kB]
获取:40 https://mirrors.tuna.tsinghua.edu.cn/debian testing/contrib amd64 libnvidia-egl-gbm1 amd64 1.1.2-1 [11.8 kB]
获取:41 https://mirrors.tuna.tsinghua.edu.cn/debian testing/non-free amd64 libnvidia-encode1 amd64 535.183.06-1 [231 kB]
获取:42 https://mirrors.tuna.tsinghua.edu.cn/debian testing/non-free amd64 libnvidia-rtcore amd64 535.183.06-1 [17.5 MB]
获取:43 https://mirrors.tuna.tsinghua.edu.cn/debian testing/non-free amd64 nvidia-smi amd64 535.183.06-1 [386 kB]
获取:44 https://mirrors.tuna.tsinghua.edu.cn/debian testing/non-free amd64 nvidia-suspend-common amd64 535.183.06-1 [153 kB]
获取:45 https://mirrors.tuna.tsinghua.edu.cn/debian testing/non-free amd64 nvidia-vulkan-common amd64 535.183.06-1 [151 kB]
获取:46 https://mirrors.tuna.tsinghua.edu.cn/debian testing/non-free amd64 nvidia-vulkan-icd amd64 535.183.06-1 [151 kB]
已下载 154 MB,耗时 3秒 (52.9 MB/s)           
正在从软件包中解出模板:100%
正在预设定软件包 ...
正在选中未选择的软件包 update-glx。(正在读取数据库 ... 系统当前共安装有 340595 个文件和目录。)
准备解压 .../update-glx_1.2.2_amd64.deb  ...
正在解压 update-glx (1.2.2) ...
正在选中未选择的软件包 glx-alternative-mesa。准备解压 .../glx-alternative-mesa_1.2.2_amd64.deb  ...
正在解压 glx-alternative-mesa (1.2.2) ...
正在选中未选择的软件包 nvidia-installer-cleanup。准备解压 .../nvidia-installer-cleanup_20240109+1_amd64.deb  ...
正在解压 nvidia-installer-cleanup (20240109+1) ...
正在设置 nvidia-installer-cleanup (20240109+1) ...
正在选中未选择的软件包 glx-diversions。(正在读取数据库 ... 系统当前共安装有 340735 个文件和目录。)
准备解压 .../glx-diversions_1.2.2_amd64.deb  ...
正在解压 glx-diversions (1.2.2) ...
正在选中未选择的软件包 glx-alternative-nvidia。准备解压 .../glx-alternative-nvidia_1.2.2_amd64.deb  ...
正在解压 glx-alternative-nvidia (1.2.2) ...
正在选中未选择的软件包 nvidia-legacy-check。准备解压 .../nvidia-legacy-check_535.183.06-1_amd64.deb  ...
正在解压 nvidia-legacy-check (535.183.06-1) ...
正在选中未选择的软件包 nvidia-support。准备解压 .../nvidia-support_20240109+1_amd64.deb  ...
正在解压 nvidia-support (20240109+1) ...
正在设置 nvidia-legacy-check (535.183.06-1) ...
正在选中未选择的软件包 nvidia-alternative。(正在读取数据库 ... 系统当前共安装有 340773 个文件和目录。)
准备解压 .../00-nvidia-alternative_535.183.06-1_amd64.deb  ...
正在解压 nvidia-alternative (535.183.06-1) ...
正在选中未选择的软件包 libnvidia-ptxjitcompiler1:amd64。准备解压 .../01-libnvidia-ptxjitcompiler1_535.183.06-1_amd64.deb  ...
正在解压 libnvidia-ptxjitcompiler1:amd64 (535.183.06-1) ...
正在选中未选择的软件包 libnvidia-pkcs11-openssl3:amd64。准备解压 .../02-libnvidia-pkcs11-openssl3_535.183.06-1_amd64.deb  ...
正在解压 libnvidia-pkcs11-openssl3:amd64 (535.183.06-1) ...
正在选中未选择的软件包 libcuda1:amd64。准备解压 .../03-libcuda1_535.183.06-1_amd64.deb  ...
正在解压 libcuda1:amd64 (535.183.06-1) ...
正在选中未选择的软件包 libnvidia-glvkspirv:amd64。准备解压 .../04-libnvidia-glvkspirv_535.183.06-1_amd64.deb  ...
正在解压 libnvidia-glvkspirv:amd64 (535.183.06-1) ...
正在选中未选择的软件包 libnvidia-eglcore:amd64。准备解压 .../05-libnvidia-eglcore_535.183.06-1_amd64.deb  ...
正在解压 libnvidia-eglcore:amd64 (535.183.06-1) ...
正在选中未选择的软件包 libnvidia-glcore:amd64。准备解压 .../06-libnvidia-glcore_535.183.06-1_amd64.deb  ...
正在解压 libnvidia-glcore:amd64 (535.183.06-1) ...
正在选中未选择的软件包 libglx-nvidia0:amd64。准备解压 .../07-libglx-nvidia0_535.183.06-1_amd64.deb  ...
正在解压 libglx-nvidia0:amd64 (535.183.06-1) ...
正在选中未选择的软件包 libgl1-nvidia-glvnd-glx:amd64。准备解压 .../08-libgl1-nvidia-glvnd-glx_535.183.06-1_amd64.deb  ...
正在解压 libgl1-nvidia-glvnd-glx:amd64 (535.183.06-1) ...
正在选中未选择的软件包 nvidia-egl-common。准备解压 .../09-nvidia-egl-common_535.183.06-1_amd64.deb  ...
正在解压 nvidia-egl-common (535.183.06-1) ...
正在选中未选择的软件包 libnvidia-egl-wayland1:amd64。准备解压 .../10-libnvidia-egl-wayland1_1%3a1.1.15-1_amd64.deb  ...
正在解压 libnvidia-egl-wayland1:amd64 (1:1.1.15-1) ...
正在选中未选择的软件包 libegl-nvidia0:amd64。准备解压 .../11-libegl-nvidia0_535.183.06-1_amd64.deb  ...
正在解压 libegl-nvidia0:amd64 (535.183.06-1) ...
正在选中未选择的软件包 nvidia-egl-icd:amd64。准备解压 .../12-nvidia-egl-icd_535.183.06-1_amd64.deb  ...
正在解压 nvidia-egl-icd:amd64 (535.183.06-1) ...
正在选中未选择的软件包 nvidia-driver-libs:amd64。准备解压 .../13-nvidia-driver-libs_535.183.06-1_amd64.deb  ...
正在解压 nvidia-driver-libs:amd64 (535.183.06-1) ...
正在选中未选择的软件包 libnvidia-ml1:amd64。准备解压 .../14-libnvidia-ml1_535.183.06-1_amd64.deb  ...
正在解压 libnvidia-ml1:amd64 (535.183.06-1) ...
正在选中未选择的软件包 nvidia-driver-bin。准备解压 .../15-nvidia-driver-bin_535.183.06-1_amd64.deb  ...
正在解压 nvidia-driver-bin (535.183.06-1) ...
正在选中未选择的软件包 xserver-xorg-video-nvidia。准备解压 .../16-xserver-xorg-video-nvidia_535.183.06-1_amd64.deb  ...
正在解压 xserver-xorg-video-nvidia (535.183.06-1) ...
正在选中未选择的软件包 nvidia-vdpau-driver:amd64。准备解压 .../17-nvidia-vdpau-driver_535.183.06-1_amd64.deb  ...
正在解压 nvidia-vdpau-driver:amd64 (535.183.06-1) ...
正在选中未选择的软件包 firmware-nvidia-gsp。准备解压 .../18-firmware-nvidia-gsp_535.183.06-1_amd64.deb  ...
正在解压 firmware-nvidia-gsp (535.183.06-1) ...
正在选中未选择的软件包 nvidia-kernel-common。准备解压 .../19-nvidia-kernel-common_20240109+1_amd64.deb  ...
正在解压 nvidia-kernel-common (20240109+1) ...
正在选中未选择的软件包 nvidia-modprobe。准备解压 .../20-nvidia-modprobe_550.78-1_amd64.deb  ...
正在解压 nvidia-modprobe (550.78-1) ...
正在选中未选择的软件包 nvidia-kernel-support。准备解压 .../21-nvidia-kernel-support_535.183.06-1_amd64.deb  ...
正在解压 nvidia-kernel-support (535.183.06-1) ...
正在选中未选择的软件包 nvidia-kernel-dkms。准备解压 .../22-nvidia-kernel-dkms_535.183.06-1_amd64.deb  ...
正在解压 nvidia-kernel-dkms (535.183.06-1) ...
正在选中未选择的软件包 nvidia-driver。准备解压 .../23-nvidia-driver_535.183.06-1_amd64.deb  ...
正在解压 nvidia-driver (535.183.06-1) ...
正在选中未选择的软件包 libnvidia-cfg1:amd64。准备解压 .../24-libnvidia-cfg1_535.183.06-1_amd64.deb  ...
正在解压 libnvidia-cfg1:amd64 (535.183.06-1) ...
正在选中未选择的软件包 nvidia-persistenced。准备解压 .../25-nvidia-persistenced_535.171.04-1_amd64.deb  ...
正在解压 nvidia-persistenced (535.171.04-1) ...
正在选中未选择的软件包 nvidia-settings。准备解压 .../26-nvidia-settings_535.171.04-1_amd64.deb  ...
正在解压 nvidia-settings (535.171.04-1) ...
正在选中未选择的软件包 libgles1:amd64。准备解压 .../27-libgles1_1.7.0-1+b1_amd64.deb  ...
正在解压 libgles1:amd64 (1.7.0-1+b1) ...
正在选中未选择的软件包 libgles-nvidia1:amd64。准备解压 .../28-libgles-nvidia1_535.183.06-1_amd64.deb  ...
正在解压 libgles-nvidia1:amd64 (535.183.06-1) ...
正在选中未选择的软件包 libgles-nvidia2:amd64。准备解压 .../29-libgles-nvidia2_535.183.06-1_amd64.deb  ...
正在解压 libgles-nvidia2:amd64 (535.183.06-1) ...
正在选中未选择的软件包 libnvcuvid1:amd64。准备解压 .../30-libnvcuvid1_535.183.06-1_amd64.deb  ...
正在解压 libnvcuvid1:amd64 (535.183.06-1) ...
正在选中未选择的软件包 libnvidia-allocator1:amd64。准备解压 .../31-libnvidia-allocator1_535.183.06-1_amd64.deb  ...
正在解压 libnvidia-allocator1:amd64 (535.183.06-1) ...
正在选中未选择的软件包 libnvidia-egl-gbm1:amd64。准备解压 .../32-libnvidia-egl-gbm1_1.1.2-1_amd64.deb  ...
正在解压 libnvidia-egl-gbm1:amd64 (1.1.2-1) ...
正在选中未选择的软件包 libnvidia-encode1:amd64。准备解压 .../33-libnvidia-encode1_535.183.06-1_amd64.deb  ...
正在解压 libnvidia-encode1:amd64 (535.183.06-1) ...
正在选中未选择的软件包 libnvidia-rtcore:amd64。准备解压 .../34-libnvidia-rtcore_535.183.06-1_amd64.deb  ...
正在解压 libnvidia-rtcore:amd64 (535.183.06-1) ...
正在选中未选择的软件包 nvidia-smi。准备解压 .../35-nvidia-smi_535.183.06-1_amd64.deb  ...
正在解压 nvidia-smi (535.183.06-1) ...
正在选中未选择的软件包 nvidia-suspend-common。准备解压 .../36-nvidia-suspend-common_535.183.06-1_amd64.deb  ...
正在解压 nvidia-suspend-common (535.183.06-1) ...
正在选中未选择的软件包 nvidia-vulkan-common。准备解压 .../37-nvidia-vulkan-common_535.183.06-1_amd64.deb  ...
正在解压 nvidia-vulkan-common (535.183.06-1) ...
正在选中未选择的软件包 nvidia-vulkan-icd:amd64。准备解压 .../38-nvidia-vulkan-icd_535.183.06-1_amd64.deb  ...
正在解压 nvidia-vulkan-icd:amd64 (535.183.06-1) ...
正在设置 nvidia-support (20240109+1) ...
正在设置 libnvidia-glvkspirv:amd64 (535.183.06-1) ...
正在设置 libnvidia-eglcore:amd64 (535.183.06-1) ...
正在设置 nvidia-egl-common (535.183.06-1) ...
正在设置 nvidia-kernel-common (20240109+1) ...
正在设置 libnvidia-allocator1:amd64 (535.183.06-1) ...
正在设置 update-glx (1.2.2) ...
正在设置 nvidia-modprobe (550.78-1) ...
正在设置 libnvidia-egl-wayland1:amd64 (1:1.1.15-1) ...
正在设置 libgles1:amd64 (1.7.0-1+b1) ...
正在设置 libnvidia-glcore:amd64 (535.183.06-1) ...
正在设置 libnvidia-ptxjitcompiler1:amd64 (535.183.06-1) ...
正在设置 nvidia-vulkan-common (535.183.06-1) ...
正在设置 firmware-nvidia-gsp (535.183.06-1) ...
正在设置 libnvidia-egl-gbm1:amd64 (1.1.2-1) ...
正在设置 libnvidia-rtcore:amd64 (535.183.06-1) ...
正在设置 nvidia-suspend-common (535.183.06-1) ...
Created symlink '/etc/systemd/system/systemd-hibernate.service.wants/nvidia-hibernate.service' → '/usr/lib/systemd/system/nvidia-hibernate.service'.
Created symlink '/etc/systemd/system/systemd-suspend.service.wants/nvidia-resume.service' → '/usr/lib/systemd/system/nvidia-resume.service'.
Created symlink '/etc/systemd/system/systemd-hibernate.service.wants/nvidia-resume.service' → '/usr/lib/systemd/system/nvidia-resume.service'.
Created symlink '/etc/systemd/system/systemd-suspend.service.wants/nvidia-suspend.service' → '/usr/lib/systemd/system/nvidia-suspend.service'.
正在设置 glx-alternative-mesa (1.2.2) ...
正在设置 glx-diversions (1.2.2) ...
update-alternatives: 使用 /usr/lib/mesa-diverted 来在自动模式中提供 /usr/lib/glx (glx)
正在处理用于 mailcap (3.72) 的触发器 ...
正在处理用于 initramfs-tools (0.145) 的触发器 ...
update-initramfs: Generating /boot/initrd.img-6.10.6-amd64
正在处理用于 hicolor-icon-theme (0.18-1) 的触发器 ...
正在处理用于 libc-bin (2.40-2) 的触发器 ...
正在处理用于 man-db (2.13.0-1) 的触发器 ...
正在处理用于 glx-alternative-mesa (1.2.2) 的触发器 ...
update-alternatives: 链接组 glx 已更改次要链接,故更新候选项 /usr/lib/mesa-diverted
正在设置 glx-alternative-nvidia (1.2.2) ...
正在处理用于 glx-alternative-nvidia (1.2.2) 的触发器 ...
正在设置 nvidia-alternative (535.183.06-1) ...
正在处理用于 nvidia-alternative (535.183.06-1) 的触发器 ...
update-alternatives: 使用 /usr/lib/nvidia/current 来在自动模式中提供 /usr/lib/nvidia/nvidia (nvidia)
正在设置 libnvidia-ml1:amd64 (535.183.06-1) ...
正在设置 libnvidia-cfg1:amd64 (535.183.06-1) ...
正在设置 libglx-nvidia0:amd64 (535.183.06-1) ...
正在设置 nvidia-kernel-support (535.183.06-1) ...
正在设置 xserver-xorg-video-nvidia (535.183.06-1) ...
正在设置 nvidia-vulkan-icd:amd64 (535.183.06-1) ...
正在设置 libnvidia-pkcs11-openssl3:amd64 (535.183.06-1) ...
正在设置 nvidia-vdpau-driver:amd64 (535.183.06-1) ...
正在设置 libgl1-nvidia-glvnd-glx:amd64 (535.183.06-1) ...
正在设置 libgles-nvidia1:amd64 (535.183.06-1) ...
正在设置 libegl-nvidia0:amd64 (535.183.06-1) ...
正在设置 nvidia-settings (535.171.04-1) ...
正在设置 nvidia-smi (535.183.06-1) ...
正在设置 libgles-nvidia2:amd64 (535.183.06-1) ...
正在设置 nvidia-driver-bin (535.183.06-1) ...
正在设置 nvidia-persistenced (535.171.04-1) ...
info: 您指定的主目录 /var/run/nvpd/ 无法访问:No such file or directory

info: 从 100 到 999 中选择 UID...

info: 从 100 到 999 中选择 GID...
info: 正在添加系统用户"nvpd" (UID 116)...
info: 正在添加新组"nvpd" (GID 127)...
info: 正在将新用户"nvpd" (UID 116)添加到组"nvpd"...
info: 无法创建主目录"/var/run/nvpd/"。Created symlink '/etc/systemd/system/multi-user.target.wants/nvidia-persistenced.service' → '/usr/lib/systemd/system/nvidia-persistenced.service'.
Could not execute systemctl:  at /usr/bin/deb-systemd-invoke line 148.
正在设置 libcuda1:amd64 (535.183.06-1) ...
正在设置 nvidia-egl-icd:amd64 (535.183.06-1) ...
正在设置 nvidia-driver-libs:amd64 (535.183.06-1) ...
正在设置 libnvcuvid1:amd64 (535.183.06-1) ...
正在设置 libnvidia-encode1:amd64 (535.183.06-1) ...
正在处理用于 nvidia-alternative (535.183.06-1) 的触发器 ...
update-alternatives: 链接组 nvidia 已更改次要链接,故更新候选项 /usr/lib/nvidia/current
正在设置 nvidia-kernel-dkms (535.183.06-1) ...
Loading new nvidia-current-535.183.06 DKMS files...
Building for 6.10.6-amd64
Building initial module for 6.10.6-amd64
Done.

nvidia-current.ko.xz:
Running module version sanity check.
 - Original module
   - No original module exists within this kernel
 - Installation
   - Installing to /lib/modules/6.10.6-amd64/updates/dkms/

nvidia-current-modeset.ko.xz:
Running module version sanity check.
 - Original module
   - No original module exists within this kernel
 - Installation
   - Installing to /lib/modules/6.10.6-amd64/updates/dkms/

nvidia-current-drm.ko.xz:
Running module version sanity check.
 - Original module
   - No original module exists within this kernel
 - Installation
   - Installing to /lib/modules/6.10.6-amd64/updates/dkms/

nvidia-current-uvm.ko.xz:
Running module version sanity check.
 - Original module
   - No original module exists within this kernel
 - Installation
   - Installing to /lib/modules/6.10.6-amd64/updates/dkms/

nvidia-current-peermem.ko.xz:
Running module version sanity check.
 - Original module
   - No original module exists within this kernel
 - Installation
   - Installing to /lib/modules/6.10.6-amd64/updates/dkms/
depmod....
正在设置 nvidia-driver (535.183.06-1) ...
正在处理用于 libc-bin (2.40-2) 的触发器 ...
正在处理用于 initramfs-tools (0.145) 的触发器 ...
update-initramfs: Generating /boot/initrd.img-6.10.6-amd64
正在处理用于 update-glx (1.2.2) 的触发器 ...
正在处理用于 glx-alternative-nvidia (1.2.2) 的触发器 ...
update-alternatives: 使用 /usr/lib/nvidia 来在自动模式中提供 /usr/lib/glx (glx)
正在处理用于 glx-alternative-mesa (1.2.2) 的触发器 ...
正在处理用于 libc-bin (2.40-2) 的触发器 ...
正在处理用于 initramfs-tools (0.145) 的触发器 ...
update-initramfs: Generating /boot/initrd.img-6.10.6-amd64

启用Wayland支持

我在安装闭源驱动后发现我已经无法在登陆界面启动Wayland桌面环境了,按照GS同学的提醒,我应该在配置文件中新增一行配置。

[21:04:22] (频道)gsrc:/etc/modprobe.d/nvidia.conf
[21:04:28] (频道)gsrc:options nvidia-drm modeset=1

详情参考:https://wiki.archlinux.org/title/NVIDIA#DRM_kernel_mode_setting
如此操作后Wayland已经可以正常使用了。

Debian13 题外话 Fcitx5输入法

当你从X11切换到Wayland后,你可能面临一个问题:Fcitx5输入法在开机后不可用。
令我感到惊喜的是,这个问题的解决方案会在你尝试启用的时候弹出一个消息通知。如同下面截图显示的那样,对Fctix5开发者们贴心的设计都表示由衷的感谢。
2024-09-02T15:56:56.png

xfox@orangepi3b:~$ journalctl -xeu cloudflared.service
部分输出如下:

lines 1-95/316 25%
Aug 05 22:50:15 orangepi3b systemd[1]: Starting cloudflared.service - cloudflared...
░░ Subject: A start job for unit cloudflared.service has begun execution
░░ Defined-By: systemd
░░ Support: https://www.debian.org/support
░░
░░ A start job for unit cloudflared.service has begun execution.
░░
░░ The job identifier is 142.
Aug 05 22:50:20 orangepi3b cloudflared[1116]: 2024-08-05T14:50:20Z INF Starting tunnel tunnelID=740e1ff0-2276-4e32-9028-2a491dbd654a
Aug 05 22:50:20 orangepi3b cloudflared[1116]: 2024-08-05T14:50:20Z INF Version 2024.6.1
Aug 05 22:50:20 orangepi3b cloudflared[1116]: 2024-08-05T14:50:20Z INF GOOS: linux, GOVersion: go1.22.2, GoArch: arm64
Aug 05 22:50:20 orangepi3b cloudflared[1116]: 2024-08-05T14:50:20Z INF Settings: map[no-autoupdate:true token:*****]
Aug 05 22:50:20 orangepi3b cloudflared[1116]: 2024-08-05T14:50:20Z INF Generated Connector ID: f222f304-ee8e-4354-b409-212c19408f21
Aug 05 22:50:20 orangepi3b cloudflared[1116]: 2024-08-05T14:50:20Z INF cloudflared will not automatically update if installed by a package manager.
Aug 05 22:50:21 orangepi3b cloudflared[1116]: 2024-08-05T14:50:21Z ERR Failed to fetch features, default to disable error="lookup cfd-features.argotunnel.com on [2001:4860:4860::8888]:53: dial udp [2001:4860:4860::8888]:53: connect: network is unreachable"
Aug 05 22:50:21 orangepi3b cloudflared[1116]: 2024-08-05T14:50:21Z ERR update check failed error="Get \"https://update.argotunnel.com?arch=arm64&clientVersion=2024.6.1&os=linux\": dial tcp: lookup update.argotunnel.com on [2001:4860:4860::8888]:53: dial udp [2001:4860:4860::8888]:53: connect: network is unreachable"
Aug 05 22:50:21 orangepi3b cloudflared[1116]: 2024-08-05T14:50:21Z WRN Unable to lookup protocol percentage.
Aug 05 22:50:21 orangepi3b cloudflared[1116]: 2024-08-05T14:50:21Z INF Initial protocol quic
Aug 05 22:50:21 orangepi3b cloudflared[1116]: 2024-08-05T14:50:21Z INF ICMP proxy will use 0.0.0.0 as source for IPv4
Aug 05 22:50:21 orangepi3b cloudflared[1116]: 2024-08-05T14:50:21Z INF ICMP proxy will use ::1 in zone lo as source for IPv6
Aug 05 22:50:21 orangepi3b cloudflared[1116]: 2024-08-05T14:50:21Z WRN The user running cloudflared process has a GID (group ID) that is not within ping_group_range. You might need to add that user to a group within that range, or instead update the range to encompass a group the user is already in by modifying /proc/sys/net/ipv4/ping_group_range. Otherwise cloudflared will not be able to ping this network error="Group ID 0 is not between ping group 1 to 0"
Aug 05 22:50:21 orangepi3b cloudflared[1116]: 2024-08-05T14:50:21Z WRN ICMP proxy feature is disabled error="cannot create ICMPv4 proxy: Group ID 0 is not between ping group 1 to 0 nor ICMPv6 proxy: socket: permission denied"
Aug 05 22:50:21 orangepi3b cloudflared[1116]: 2024-08-05T14:50:21Z ERR edge discovery: error looking up Cloudflare edge IPs: the DNS query failed error="lookup _v2-origintunneld._tcp.argotunnel.com on [2001:4860:4860::8888]:53: dial udp [2001:4860:4860::8888]:53: connect: network is unreachable" event=0
Aug 05 22:50:21 orangepi3b cloudflared[1116]: 2024-08-05T14:50:21Z ERR Please try the following things to diagnose this issue: event=0
Aug 05 22:50:21 orangepi3b cloudflared[1116]: 2024-08-05T14:50:21Z ERR   1. ensure that argotunnel.com is returning "origintunneld" service records. event=0
Aug 05 22:50:21 orangepi3b cloudflared[1116]: 2024-08-05T14:50:21Z ERR      Run your system's equivalent of: dig srv _origintunneld._tcp.argotunnel.com event=0
Aug 05 22:50:21 orangepi3b cloudflared[1116]: 2024-08-05T14:50:21Z ERR   2. ensure that your DNS resolver is not returning compressed SRV records. event=0
Aug 05 22:50:21 orangepi3b cloudflared[1116]: 2024-08-05T14:50:21Z ERR      See GitHub issue https://github.com/golang/go/issues/27546 event=0
Aug 05 22:50:21 orangepi3b cloudflared[1116]: 2024-08-05T14:50:21Z ERR      For example, you could use Cloudflare's 1.1.1.1 as your resolver: event=0
Aug 05 22:50:21 orangepi3b cloudflared[1116]: 2024-08-05T14:50:21Z ERR      https://developers.cloudflare.com/1.1.1.1/setting-up-1.1.1.1/ event=0
Aug 05 22:50:21 orangepi3b cloudflared[1116]: 2024-08-05T14:50:21Z INF Starting metrics server on 127.0.0.1:37845/metrics
Aug 05 22:50:21 orangepi3b cloudflared[1116]: 2024-08-05T14:50:21Z ERR edge discovery: error looking up Cloudflare edge IPs: the DNS query failed error="lookup _v2-origintunneld._tcp.argotunnel.com on [2001:4860:4860::8888]:53: dial udp [2001:4860:4860::8888]:53: connect: network is unreachable" event=0
Aug 05 22:50:21 orangepi3b cloudflared[1116]: 2024-08-05T14:50:21Z ERR Please try the following things to diagnose this issue: event=0
Aug 05 22:50:21 orangepi3b cloudflared[1116]: 2024-08-05T14:50:21Z ERR   1. ensure that argotunnel.com is returning "origintunneld" service records. event=0
Aug 05 22:50:21 orangepi3b cloudflared[1116]: 2024-08-05T14:50:21Z ERR      Run your system's equivalent of: dig srv _origintunneld._tcp.argotunnel.com event=0
Aug 05 22:50:21 orangepi3b cloudflared[1116]: 2024-08-05T14:50:21Z ERR   2. ensure that your DNS resolver is not returning compressed SRV records. event=0
Aug 05 22:50:21 orangepi3b cloudflared[1116]: 2024-08-05T14:50:21Z ERR      See GitHub issue https://github.com/golang/go/issues/27546 event=0
Aug 05 22:50:21 orangepi3b cloudflared[1116]: 2024-08-05T14:50:21Z ERR      For example, you could use Cloudflare's 1.1.1.1 as your resolver: event=0
Aug 05 22:50:21 orangepi3b cloudflared[1116]: 2024-08-05T14:50:21Z ERR      https://developers.cloudflare.com/1.1.1.1/setting-up-1.1.1.1/ event=0
Aug 05 22:50:21 orangepi3b cloudflared[1116]: 2024-08-05T14:50:21Z INF Tunnel server stopped
Aug 05 22:50:21 orangepi3b cloudflared[1116]: 2024-08-05T14:50:21Z ERR Initiating shutdown error="Could not lookup srv records on _v2-origintunneld._tcp.argotunnel.com: lookup _v2-origintunneld._tcp.argotunnel.com on [2001:4860:4860::8888]:53: dial udp [2001:4860:4860::8888]:53: connect: network is unreachable"
Aug 05 22:50:22 orangepi3b cloudflared[1116]: 2024-08-05T14:50:22Z INF Metrics server stopped
Aug 05 22:50:22 orangepi3b cloudflared[1116]: Could not lookup srv records on _v2-origintunneld._tcp.argotunnel.com: lookup _v2-origintunneld._tcp.argotunnel.com on [2001:4860:4860::8888]:53: dial udp [2001:4860:4860::8888]:53: connect: network is unreachable

除了刚执行服务部署的时候,其他时间大部分log只是在重复的报错各种连接失败和重试

在大量的日志中我发现参杂了这条:
2024-08-05T13:47:45Z ERR Failed to fetch features, default to disable error="lookup cfd-features.argotunnel.com on [fe80::1%end1]:53: dial udp [fe80::1%end1]:53: i/o timeout"

看上去是dns解析有问题,所以我去看了看/etc/resolv.conf
内容默认是H2-3V的ipv4地址和一个看上去不太对劲的ipv6内网地址,遂改为如下内容:
nameserver 8.8.8.8 # Google IPv4
nameserver 8.8.4.4 # Google IPv4
nameserver 2001:4860:4860::8888 # Google IPv6
nameserver 2001:4860:4860::8844 # Google IPv6
但是看注释这个文件内容貌似是由NetworkManager生成的,所以规范一点用nmcli解决问题。

xfox@orangepi3b:~$ nmcli connection show
NAME                UUID                                  TYPE      DEVICE
Orange Pi ethernet  b76cc74f-5847-4558-8098-5709829e4eb2  ethernet  end1
lo                  572b3c59-1519-4e09-b290-a48063e98424  loopback  lo
sudo nmcli connection modify "Orange Pi ethernet" ipv4.dns "8.8.8.8,8.8.4.4"
sudo nmcli connection modify "Orange Pi ethernet" ipv6.dns "2001:4860:4860::8888,2001:4860:4860::8844"

启用自动获取dns服务器功能:

可选,特别是你的网络需要被劫持dns才能跳转认证页面完成认证的情况下。(某些大学) 但是对于我参数应为yes,因为我不想用路由器下发的的瘸腿DNS,特别是有这样一条提示:

# NOTE: the libc resolver may not support more than 3 nameservers.
# The nameservers listed below may not be recognized.
...
sudo nmcli connection modify "Orange Pi ethernet" ipv4.ignore-auto-dns no
sudo nmcli connection modify "Orange Pi ethernet" ipv6.ignore-auto-dns no

重启网络连接

我使用SSH连接,所以最好一次性执行完所有内容,以免需要重启设备。
sudo nmcli connection down "Orange Pi ethernet" && sudo nmcli connection up "Orange Pi ethernet"

查看当前DNS设置状态

cat /etc/resolv.conf

# Generated by NetworkManager
nameserver 8.8.8.8
nameserver 8.8.4.4
nameserver 2001:4860:4860::8888
# NOTE: the libc resolver may not support more than 3 nameservers.
# The nameservers listed below may not be recognized.
nameserver 2001:4860:4860::8844


重新安装cloudflared服务

sudo cloudflared service uninstall
#最好先在cloudfalre zero trust > Networks > Tunnels里刷新一下token
#接着按照面板提供的指令直接安装即可。
sudo cloudflared service install *******
2024-08-05T15:00:44Z INF Using Systemd
2024-08-05T15:00:48Z INF Linux service for cloudflared installed successfully

END

问题成功解决!!!

今天更新发现了这个问题,使用LinuxGSM更新到1.21后
执行java -Xmx6144M -jar ./minecraft_server.jar nogui
错误: 加载主类 net.minecraft.bundler.Main 时出现 LinkageError

    java.lang.UnsupportedClassVersionError: net/minecraft/bundler/Main has been compiled by a more recent version of the Java Runtime (class file version 65.0), this version of the Java Runtime only recognizes class file versions up to 61.0

意思是本机的JDK版本比游戏二进制文件版本编译所用的版本低了,Debian12默认OpenJDK版本是17对应class file version 61,65对应的应该是OpenJDK21,所以我得去手动安装OpenJDK21+

解决方案

wget https://download.java.net/java/GA/jdk22.0.1/c7ec1332f7bb44aeba2eb341ae18aca4/8/GPL/openjdk-22.0.1_linux-x64_bin.tar.gz
tar xvf openjdk-22.0.1_linux-x64_bin.tar.gz jdk-22.0.1/
sudo mv jdk-22.0.1/ /usr/local/jdk-22
sudo nano /etc/profile
添加:

setting jdk22 shehl path

export JAVA_HOME=/usr/local/jdk-22/
export PATH=$JAVA_HOME/bin:$PATH
保存
source /etc/profile
java --version

如果你完全按照我的操作进行那就得到如下输出

openjdk 22.0.1 2024-04-16
OpenJDK Runtime Environment (build 22.0.1+8-16)
OpenJDK 64-Bit Server VM (build 22.0.1+8-16, mixed mode, sharing)
现在可以返回启动mc服务器了。
cd ~ && ./mcserver monitor

后记

难怪https://linuxgsm.com/servers/mcserver/ 上Minimum Recommended Distrosy要求Debian13
其实就是因为Debian12 官方仓库的JDK最高已经锁死17了。

为什么使用WSL?

很遗憾我的主要设备X99 E5 2683V4 目前用途是打游戏,所以我不得不使用Windows,希望有一天我能在Linux发行版上玩自己喜欢的游戏。

安装WSL2

必须运行 Windows 10 版本 2004 及更高版本(内部版本 19041 及更高版本)或 Windows 11 才能使用以下命令。

参见:如何使用 WSL 在 Windows 上安装 Linux
wsl --set-default-version 2 #确保任何版本的Windows10在下一步操作时默认使用wsl2
wsl --install -d Debian
接下来你会被提示设置账户密码

安装必要的工具

sudo apt update && sudo apt upgrade
sudo apt install gnupg openssh-client # 在我操作时发现后者已经默认安装

导入密钥

我把我的完整密钥在一个U盘里存了一份,插上U盘,路径为E:\Keys

cd /mnt/e/Keys
gpg --import all_keys.asc
接下来的操作:为gpg-agent启用ssh支持,启动gpg-agent服务,指定使用gpg-agent作为SSH代理,指定用于SSH认证的key,更新gpg-agent配置
可以参照我的另一篇文章在Termux 里使用GPG密钥登录ssh服务器

一番倒腾后,现在输入ssh xfox.fun 输入密钥密码我就可以连接到我的服务器了。
顺便去看了一眼IDC的账单,05/07/2023到期,暂时不用再担心续费。

为什么我必须要用AAC

因为我发现我新买的1MORE ComFoBuds Pro耳机最多支持AAC(手机AAC编码连接一切正常),而PC连接使用SBC×编码的时候要么音质不佳要么音质凑合了有卡顿中断问题。瞬间无比怀念我的KMOUK KM-HTW008 这玩意就没出过类似问题,而且降噪也很好,甚至感觉万魔的这个深度降噪不如他,也就风噪万魔强点。可惜,我买了俩,这俩KMOUK都丢了,一个丢在支教路上,第二个丢在家里。(初步怀疑第二个是放在桌子上的时候家里老爷子神智不清醒的时候当垃圾扔了,就剩下耳机充电仓😭,当时我这个难受啊...)
总之,我不得不使用AAC提高我的耳机使用体验。

参考文章:

高级音频分配配置文件(A2DP)AAC 在debian12上不可用 ——Debian Wiki

通过偷共享库的方式让 Debian 在使用 pipewire-pulse 连接蓝牙听歌时使用 AAC 编码传输音频流

为什么偷文件

AAC codec
The AAC codec is unavailable in Debian 12 bookworm.
In the case of PipeWire its support (see the 1021370 request) requires libfdk-aac2, however a decision has not made if this package may be moved from the non-free to the main section (see 981285). The only workaround is to build the AAC Bluetooth plugin from sources.

按照官方说明,唯一的解决办法是自己编译libfdk-aac2 。但是编译过程可能存在一些困难,而其他发行版大多已经内置了(就很难受,你Apt-X都支持了居然到现在还没折腾清楚AAC的许可问题。)在技术水准没那么高,明知道可以偷的情况下没必要自己编译。偷对版本就行,否则就和原帖博主挂出来憨皮一样把自己PC 搞炸。

Debian12 快速偷文件指南

如果你确定自己使用Debian12,
直接下载libspa-codec-bluez5-aac_0.3.65-4~glasgall1_amd64.tar.xz
解压得到libspa-codec-bluez5-aac.so,
sudo cp libspa-codec-bluez5-aac.so /usr/lib/x86_64-linux-gnu/spa-0.2/bluez5/
重启PC即可一步到位.

后记

AAC确实可以用了,但是卡顿问题有一定缓解,但是没有完全解决!这肯定就不只是编码的缘故了,百分之百是有干扰。
我的使用环境是:Thinkpad E14 Gen3 (AMD R5 5600U) WIFI和蓝牙使用RTL8852AE 驱动是rtw89 2024年1月18日的版本。 使用一块WIFI4 的4G WIFI棒子对PC和手机提供网络访问(插在1+ 100W A+C双口充电器上)。 这就极有可能构成一定干扰。
PC关了WIFI后本地音乐蓝牙播放就没干扰了,棒子直接插PC上走RDNIS给PC提供网络,手机WIFI连接棒子,问题暂时解决。

使用场景

现在我有了一部安卓设备,我需要使用它在任何时候登录我的服务器,而我的服务器仅支持使用公钥访问
目前我暂时不清楚有哪些应用支持使用GPG密钥替代密码认证登录SSH,所以直接使用Termux模拟的Linux Shell环境就了最佳选择。

Windows下?

安装GPG4Win 参考https://share.google/aimode/mKLZnshwabsq5QVuy 设置环境变量。

安装依赖

pkg update && pkg upgrade
pkg install gnupg openssh util-linux
其他操作系统自行使用各自的包管理器安装,这些包在绝大多数桌面发行版默认安装。

- 阅读剩余部分 -