我已经使用 Ubuntu 18.04.4 LTS 好几年了,工作区都是垂直堆叠的。我喜欢在顶部工作区中打开 Firefox,但大约两周前,这个程序在启动后开始出现异常。它顽固地在从顶部开始的第三个工作区中打开,即使我打开了第一个工作区。我总是必须将其移动到第一个工作区,但当我再次启动并启动 Firefox 时,它又转到第三个工作区。
有想法该怎么解决这个吗?
答案1
Firefox 有一个配置“widget.disable-workspace-management”,默认为“false”,也就是说,Firefox 默认会进行一些工作区管理。将其设置为“true”可以解决这个问题。步骤如下:
- 打开 Firefox。
- 在地址栏(您通常输入 URL 的地方)中输入“about:config”。
- 您可能需要接受有关更改偏好设置的警告。
- 在“搜索首选项名称”字段中,输入上面提到的整个配置名称,或者只输入“工作区”。
- 在出现的结果 widget.disable-workspace-management 中,它应该默认显示“false”。要切换到“true”,请点击首选项最右侧的双箭头图标(如果将鼠标悬停在其上,状态提示将显示“切换”)。
- 您无需执行“保存”操作。您的更改将立即生效。
如果您愿意,您可以在命令行上更改此首选项(如果您使用安装脚本来设置应用程序,当您全新安装操作系统时,这将非常有用)。要执行此操作:
确保没有 Firefox 实例正在运行(否则更改可能会被覆盖)。
找到与您的 Firefox 配置文件相对应的 prefs.js 文件。找到它的一种方法是先执行,
sudo updatedb
然后执行locate -b "\prefs.js"
。在结果中,选择看起来与您的配置文件相对应的文件。对我来说,正确的文件如下:~/.mozilla/firefox/main/prefs.js
。然后,您可以将配置附加到该文件中。使用上面的文件名,命令如下:
echo 'user_pref("widget.disable-workspace-management", true);' >> mozilla/firefox/main/prefs.js
以下是一个完全自动化的命令的尝试。它可能对你有用,也可能没用:
if pgrep -x "firefox" > /dev/null; then
echo "ERROR: Should not modify config while Firefox is running." >&2
echo "Please exit all Firefox instances and try again." >&2
else
for d in ~/.mozilla/firefox/*; do
if [ -e "${d}/prefs.js" ]; then
echo 'user_pref("widget.disable-workspace-management", true);' >> "${d}/prefs.js"
fi
done
fi
我从“jamiemint”的回复中了解到了这个配置值这里。谢谢 jamiemint!
答案2
Firefox 窗口大小和位置保存在xulstore.json
Firefox 配置文件目录中名为的文件中。
要重置它,请通过运行(首先关闭 Firefox):
find ~/.mozilla/firefox/ -type f -name "xulstore.json"
然后重命名或删除该文件,或者运行以下命令将为您重命名该文件:
find ~/.mozilla/firefox/ -type f -name "xulstore.json" -exec mv {} {}.old \;
然后启动 Firefox。
答案3
我按照@Raffa 的建议做了,而且成功了……几天后。现在,不知何故,Firefox 会在最后一个(第四个)工作区中打开。只有 Firefox 会这样。其他程序可以在活动工作区中正确打开。恐怕提出的解决方案不起作用。有些事情不太对劲的一个迹象是,当它在错误的工作区中打开时,它所花的时间比在活动工作区中打开的时间要长得多。还有其他解决方案可以解决这个难题吗?