如何在KUbuntu 18.04系统中为所有用户默认自动修复Firefox窗口无法调整大小的问题
如何在KUbuntu 18.04系统中为所有用户默认自动修复Firefox窗口无法调整大小的问题
我完全理解你们实验室100多台Ubuntu 18.04机器遇到这个Firefox窗口无法调整大小的困扰——明明bug标记已关闭却还出现,又暂时没法升级系统,确实头疼。先理清楚问题背景,再给你两种靠谱的批量解决思路:
问题背景
Firefox存在一个窗口无法调整大小的已知问题,虽官方标记已修复,但在KUbuntu 18.04搭配Firefox 111.0+build2-0ubuntu0.18.04.1版本时仍会出现,大概率是bug回归了。手动修复的步骤很简单:
- 打开Firefox
- 点击菜单 → 更多工具 → 自定义工具栏...
- 勾选「标题栏」选项
- 之后就能用鼠标拖动窗口边框调整大小了
批量自动修复方案
针对实验室的场景,有两种高效的方式可以让所有用户默认生效:
方案一:通过系统用户模板(skel)配置新用户+重置现有用户
这个思路和你想到的一致,就是把调好的Firefox配置作为系统默认模板,新用户登录自动继承,现有用户重置配置后也会用上:
创建模板配置
- 在一台测试机上用临时普通用户登录,按手动步骤打开Firefox并勾选「标题栏」,然后关闭Firefox。
- 找到该用户的Firefox配置文件夹:
~/.mozilla/firefox/[随机字符串].default/,复制里面的prefs.js文件(核心配置是user_pref("browser.tabs.drawInTitlebar", false);,这条就是开启独立标题栏的设置)。
配置系统用户模板
- 创建skel下的Firefox目录结构:
sudo mkdir -p /etc/skel/.mozilla/firefox/default/ - 将刚才的
prefs.js复制到这个目录,或者直接创建新的配置文件:
写入内容:sudo nano /etc/skel/.mozilla/firefox/default/prefs.jsuser_pref("browser.tabs.drawInTitlebar", false); - 再创建
profiles.ini指定默认配置:
写入:sudo nano /etc/skel/.mozilla/firefox/profiles.ini[General] StartWithLastProfile=1 [Profile0] Name=default IsRelative=1 Path=default Default=1
- 创建skel下的Firefox目录结构:
重置现有用户配置
因为你们允许重置实验室用户,直接删除现有用户的Firefox配置文件夹,下次登录就会自动套用模板:# 批量处理所有普通用户(UID≥1000) for user in $(ls /home/); do if id -u "$user" -ge 1000; then sudo rm -rf /home/$user/.mozilla/ fi done
方案二:系统级强制配置(无需重置用户)
如果不想动现有用户的文件,可以用Firefox的系统级配置功能,强制所有用户生效,甚至能锁定设置不让用户修改:
创建本地配置引导文件
sudo nano /usr/lib/firefox/browser/defaults/preferences/local-settings.js写入:
pref("general.config.obscure_value", 0); pref("general.config.filename", "mozilla.cfg");创建系统级配置文件
sudo nano /usr/lib/firefox/mozilla.cfg写入:
// # 如果你想强制用户用这个设置,不让修改,用lockPref lockPref("browser.tabs.drawInTitlebar", false); # 如果你允许用户后续手动更改,把上面的lockPref改成pref即可 # pref("browser.tabs.drawInTitlebar", false);重启Firefox生效
所有用户下次打开Firefox时,标题栏就会自动开启,窗口可以正常调整大小了。
方案对比
- 方案一适合需要保留用户自主修改权限的场景,新用户自动继承,现有用户需重置配置;
- 方案二更适合实验室统一管理,无需动用户文件,还能锁定设置防止用户误改。
备注:内容来源于stack exchange,提问作者Bastion




