我在最近的 Debian 中安装了一些日常使用的常用软件包,例如 i3wm、jq、bat-musl、kitty 等。然后,当我尝试运行 i3-msg 命令时,收到以下错误:
i3-msg: symbol lookup error: /lib/x86_64-linux-gnu/libpangoft2-1.0.so.0: undefined symbol: hb_glib_script_from_script
然后,突然间,i3 不再响应,我不得不强制重新启动系统。此后,计算机不再显示登录 GUI 屏幕。相反,它一直向我显示黑屏,并带有闪烁的下划线光标,就像永远的空tty一样。我可以切换到另一个 tty(如 tty2 或 3)并在终端环境中登录。但是,如果我尝试返回到应该出现登录的 tty1,我会返回黑屏,有时系统甚至不允许再次更改 tty,卡在黑屏中但光标不再闪烁。尽管如此,即使它像这样冻结,它也会将单个电源关闭按钮单击响应为正常关闭事件(非强制)。
经过大量研究后,我尝试使用以下命令手动运行 gnome-shell,但从 i3 开始我总是遇到相同的错误:
> dbus-run-session —- gnome-shell —-display-server —-wayland
gnome-shell: symbol lookup error: /lib/x86_64-linux-gnu/libpangoft2-1.0.so.0: undefined symbol: hb_glib_script_from_script
该库有所需的符号:
> nn -D /lib/x86_64-linux-gnu/libpangoft2-1.0.so.0 | grep glib
U hb_glib_script_from_script
U hb_glib_script_to_script
我已经尝试重新安装该库,但错误没有改变。我不知道如何修复它,也不知道这个错误是否真的是登录 GUI 屏幕未显示的原因。
我不想重装整个系统。有人可以帮我吗?
这是我的系统版本:
> uname-a
Linux pc-name 4.19.0-9-amd64 #1 SMP Debian 4.19.118-2+dev10u1 (2020-06-07) x86_64 GNU/Linux
答案1
U hb_glib_script_from_script
U hb_glib_script_to_script
并不意味着图书馆有符号,表示图书馆需要符号;代表U
“未定义”。 (严格来说,库有符号,但没有对应的对象。)
尝试重新安装libharfbuzz0b
,这是实现该符号的库:
sudo apt install --reinstall libharfbuzz0b
并确保您没有任何其他版本的libharfbuzz
库,例如在/usr/local/lib
。