我最近更新了我的 Arch,目前运行的内核版本是 5.6.6-arch1-1。当我尝试从 Firefox 或 Chrome 打开文件查找器窗口(例如上传电子邮件附件)时,两个浏览器都会崩溃。 Firefox 中给出的错误是:
(firefox:3606): GLib-GIO-ERROR **: 19:32:17.971: Settings schema 'org.gtk.Settings.FileChooser' does not contain a key named 'show-type-column'
ExceptionHandler::GenerateDump cloned child 3841
ExceptionHandler::SendContinueSignalToChild sent continue signal to child
ExceptionHandler::WaitForContinueSignal waiting for continue signal...
Exiting due to channel error.
Exiting due to channel error.
Exiting due to channel error.
Exiting due to channel error.
Trace/breakpoint trap (core dumped)
现在,根据我在网上找到的一些帖子,我发现GLib
这些 gtk 模式的搜索者基于XDG_DATA_DIRS
环境变量中的内容。然而,我发现在我的例子中该变量是空的。在我的~/.xinitrc
(不确定我是否应该在其他地方这样做)我添加了一行
export XDG_DATA_DIRS=/usr/share/:/usr/local/share
并重新启动。但是,错误仍然存在,现在我不知道该怎么办。我跑了find -iname org.gtk.Settings.FileChooser /
,唯一的结果就是/usr/share/glib-2.0/schemas/
它应该的样子。此外,该 xml 文件有一个字段名称show-type-column
,因此如果系统找到它(我不确定),那么一切都应该没问题。
有人知道该怎么做吗?这非常不方便,所以我洗耳恭听
答案1
经过最后一两天的修补后,我设法解决了问题。最后,我认为XDG_DATA_DIRS
未设置的事实是一个转移注意力的事实,因为最终的修复不涉及设置该变量。还,这答案非常有用。
修复首先需要使用以下命令重新编译 glib2 模式:
sudo glib-compile-schemas /usr/share/glib-2.0/schemas/
然后重新安装 Firefox
sudo pacman -S firefox
仅仅重新编译架构不起作用,重新安装 Firefox 也不起作用,就像我前几天尝试过的那样。不知何故,需要将两者结合起来。仍然不确定是什么出了问题,但这就是我修复它的方法。