踩坑杂记

总是踩坑,有的时候一个坑或者原理类似的坑还反复踩,踩麻了所以记录一下。

也不一定是踩坑,也包括一些折腾日记,自用。

Hexo 报错:expected end of comment, got end of file (2022.02.27)

{# 是 nunjucks 的注释,写 tex 的时候出现了个这个就挂了

Manjaro 终端输入卡顿延迟 (2022.03.15)

compton 的锅,要加 --xrender-sync-fence 参数,之前好过一段时间没管结果更新系统后又出现了。

yay 使用 tuna 源而无法更新 aur (2022.05.24)

Tuna 很早就移除了 aur 镜像, 将 aur 源修改为官方源的方法为:

1
yay --aururl "https://aur.archlinux.org" --save

但是切换后更新部分软件包仍会出现报错,如更新 wps-office 时:

1
(数据已丢失)

不难发现仍然用到了 tuna 源。我一开始不能理解,后来在Github 上找到了一点线索,原来是 cache 导致的问题。

在 yay 的 cache 目录下进入 wps-office 的仓库,查看 git --remote 可以看到远程仓库指向的是 tuna 的地址。

解决方法:修改远程仓库地址,或者直接清理掉 cache 。前者有人给出了批处理脚本

pacman 更新报错「GPGME 错误:无数据」 (2022.05.29)

原因是下载 .sig 文件的时候被登陆网页劫持了,解决方案为 sudo rm /var/lib/pacman/sync/*.sig

编译 grpc 报错:fatal error: Killed signal terminated program cc1plus (2022.06.01)

原因是 make -j 并行编译占用内存过多(直接飙升到十几 G 吃满内存然后挂了)。 之前不知道这个参数的含义就用了,所以看到内存崩了心态也崩了。

解决方法:限制并行数量,如 make -j4 (根据实际情况调整,不然确实挺慢的)。

pacman 更新报错:could not read db 'core' (Can't parse line 1) (2022.06.04)

和 GPGME no data 类似,是下载 .db 文件的时候被登陆网页劫持,解决方案为 sudo rm /var/lib/pacman/sync/*.db

ctex 编译报错:Undefined control sequence. __clist_map_1:w #1->_disable_package:n (2022.07.04)

本地目录有个 ~/texmf/ 会被优先检索,但是这里的文件版本太低未经维护。删掉。

通过 ssh 协议克隆 github.com 项目无响应 (2023.03.20)

没有完全明白这个问题到底出在哪,适用于我的解决方法是在 ~/.ssh/config 文件添加如下部分

1
2
3
4
Host github.com
Hostname ssh.github.com
Port 443
User git

前提是执行 ssh -T -p 443 git@ssh.github.com 有效。

YouCompleteMe 对于 C++ 项目的编译选项 (2023.03.21)

如果是用 cmake 构建的项目的话,在 cmake 的时候添加参数 -DCMAKE_EXPORT_COMPILE_COMMANDS=ON 然后将 compile_commands.json 文件链接到项目根目录,然后 YCM 就可以自动选用该文件内的编译选项。

TODO: vim-ale 可能也有类似功能,但是懒得找了。

git@github.com: Permission denied (publickey) (2023.04.03)

Emm 这个也不算踩坑吧,就是一时忘了怎么弄了。总之就是得添加 ssh-publickey 到 github 。

1
ssh-keygen -t ed25519

然后到 Github~/.ssh/id_ed25519.pub 的内容添加进去。

MATLAB 报错:MATLABWindow 应用程序未能启动 (2023.04.08)

在 Matlab 中输入 cd(matlabroot) 以及 ! bin/glnxa64/MATLABWindow ,可以具体什么地方出了问题。比如我的输出如下

1
bin/glnxa64/MATLABWindow: symbol lookup error: /usr/lib/libharfbuzz.so.0: undefined symbol: FT_Get_Color_Glyph_Layer
那就是 MATLAB 里的 libfreetype 出了问题。将 MATLABROOT/bin/glnxa64/libfreetype.so.* 删除(或者移动到备份文件夹里)即可。

另外,直接在 Matlab 中输入 matlabroot 即可查看安装根目录。

vim-matlab 插件无法成功执行 UpdateRemotePlugins (2023.04.08)

怪无语的,参见 Issue 里面 imlkh 的回答。

pkg-config opencv 报错 opencv.pc not found (2023.04.12)

查一下安装文件发现是 opencv4.pc ,所以应该运行 pkg-config opencv4

服务端 v2ray 运行不了 (2023.04.14)

v2ray 被升级到了 v5.x 后运行命令改了,原来是 v2ray -config FILENAME 现在是 v2ray run -config FILENAME 。将 /etc/systemd/system/v2ray.service 的运行命令改掉就可以了?修改后需要执行 systemctl daemon-reload

休眠系统后无法重新启动 (2023.04.18 - ?)

一直有这个问题,试了下换个 linx 内核,从 510 换到了 515 ,然后系统炸了,所以也不知道怎么解决。

换了也没用,换到 61 还是会有这个问题。

mount: /new_root can't find UUID=XXX (2023.04.18 - ?)

很奇怪,不理解怎么出错的。

如果 UUID 没有错误的话,可能有用的解决方案是通过启动盘的终端 sudo manjaro-chroot -a 挂载系统目录,然后运行如下命令

1
2
3
mkinitcpio -P
sync
exit
然而偶尔还是会出现这个问题,全凭运气。

UPDATE: 因为这个问题是自动挂载失败,如果实在解决不了,其实可以尝试直接在 emergency shell 里手动挂载:

1
2
mount /dev/sdb5 /new_root
exit
其中 /dev/sdb5 是系统的安装位置,上述命令直接在 emergency shell 里执行,然后就可以进入系统了。

可能有用的页面: - 参考页面* - 参考页面* - 参考页面* - 参考页面* - 参考页面* - 参考页面*

latex quantikz 包报错:I did not find the tikz library 'quantikz2'. (2023.05.13 ~ ?)

不知道咋回事,还是用 Qcircuit 吧。

sudo 拒绝了正确的密码 (2023.06.06)

sudo 一直拒绝密码,但是 su root 没有问题。

systemctl status systemd-homed 查看 systemd-homed 状态,如果不是 active 就需要启动它。

steam 启动报错 usr/lib32/libharfbuzz.so.0: undefined symbol: FT_Get_Transform (2023.06.24)

印象里这个报错在其他地方也出现过好多次了。。。

yay -s lib-freetype2lib32-freetype2-infinality-ultimate 替换成 lib32-freetype2 即可。

蓝牙耳机无法连接 (2023.06.24)

老问题了,今天莫名其妙连成功了?

做过的尝试:sudo bluetoothctl 然后 untrust, remove 然后重新 scan, pair, trust, connect 。

docker 报错 Error response from daemon: Get "https://gcr.io/v2/": net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers) (2023.07.24)

gcr.io 是墙外的镜像源拉不下来。可能的解决方案是把 gcr.io 换成 gcr.lank8s.cn 。

qv2ray 报错 error while loading shared libraries: libgrpc++_alts.so.x.xx: cannot open shared object file: No such file or directory (2023.09.25)

改用 v2raya

code-oss 无法安装或使用 remote-ssh/pylance 插件 (2023.10.26)

一个简单的解决方案是安装 code-marketplace 和 code-features 。

但是安装完 code-features 后 code-oss 需要重新配置,慎重选择。

可能出现用不了的情况,见参考页面。

pacman 无法安装最新版 yay (2024.03.26)

原因是 extra 和 archlinuxcn 都有 yay 并且 archlinuxcn 里面的版本更新。而它们的优先级是由 pacman.conf 文件中的位置顺序决定的。可以通过 pacman -Si yay 查看所有的可用来源。

摘自 ArchWiki:

repositories listed first will take precedence over those listed later in the file when packages in two repositories have identical names, regardless of version number.

另外不同的 Server 也是根据在文件中的位置排序的。

torch.cuda.is_available() 返回 False (2024.03.27)

安装的 pytorch 是 cpu 版本的。。。用 pacman 安装的话应该安装 python-pytorch-cuda 而不是 python-pytorch

fcitx 在 vscode 中无法使用 (2024.03.28)

解决方案:命令行运行 gsettings set org.gnome.settings-daemon.plugins.xsettings overrides "{'Gtk/IMModule':<'fcitx'>}"