踩坑杂记
总是踩坑,有的时候一个坑或者原理类似的坑还反复踩,踩麻了所以记录一下。
也不一定是踩坑,也包括一些折腾日记,自用。
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 | Host github.com |
前提是执行 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
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
3mkinitcpio -P
sync
exit
UPDATE:
因为这个问题是自动挂载失败,如果实在解决不了,其实可以尝试直接在
emergency shell 里手动挂载: 1
2mount /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-freetype2
把
lib32-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'>}"