我在我的Ubuntu 10.10安装中安装了一个黑暗的GTK主题,并且我也喜欢为Firefox安装了一个角色。
问题是Firefox正在使用我的黑暗GTK主题来处理普通网页上的按钮和文本字段等项目,这通常会产生无法读取的菜单,文本区域和按钮。 (白色背景上的白色文本或黑色按钮上的黑色文本)。
我不想改变任何一个主题,因为它们在所有其他应用程序中看起来都很棒,而且我不想在我的Firefox安装上做一些疯狂的事情,比如使用自定义用户脚本或CSS覆盖。
我想要做的就是告诉Firefox完全停止使用我的GTK主题。这似乎是Google的Chrome浏览器所做的事情,它到目前为止最有意义。
Web开发人员如何解决所有可能的GTK主题?
使用以下命令之一启动Firefox:
env GTK_THEME=Adwaita:light firefox
env GTK2_RC_FILES=/usr/share/themes/Simple/gtk-2.0/gtkrc firefox
这将使用Simple/Adwaita:light主题启动Firefox,这是非常基本的,应该与您的Persona融为一体。您可以通过将Simple替换为主题名称来尝试其他主题,但这不适用于所有主题。
到目前为止,我已成功测试了Simple和Redmond主题......
之前
后
永久解决方案:
您可以指定一个轻量级GTK主题,用于在about:config中呈现网页。这很好,因为您的系统主题仍然适用于菜单等,但网页将以轻量级主题呈现。
about:config
widget.content.gtk-theme-override
作为名称Arc
name__我想添加到伟大的 @lovinglinux的答案 一种让Firefox在从任务栏中的启动器而不是命令行打开时加载主题的方法:
在“Exec”行中,使用上述@lovinglinux提供的说明,使用命令替换“=”后面的值:
bash -c'GTK2_RC_FILES =/usr/share/themes/Redmond/gtk-2.0/gtkrc firefox%u'
结果如下:
UPDATE:当Firefox更新时,我的原始答案实际上被覆盖了。
我现在的(永久)解决方案
编辑~/.mozilla/firefox/abcdef.default/chrome/userContent.css
(其中abcdef是随机字符串)
加
input:not(.urlbar-input):not(.textbox-input):not(.form-control):not([type='checkbox']):not([type='radio']), textarea, select {
-moz-appearance: none !important;
background-color: #eee;
color: #111;
}
原始答案
我找到了一个解决方案来制作Firefox 完全忽略你的GTK主题。
编辑/usr/share/applications/firefox.desktop
并进行更改
Exec=firefox %u
至
Exec=bash -c 'GTK_THEME=" " firefox %u'
当你(重新)启动FF时它将仅使用FF主题。
我正在使用Adwaita dark theme
和Ubuntu 18
。我在firefox 63.0
中使用默认主题。在我的情况下,没有任何副作用的最佳解决方案是强制firefox使用轻主题(在我的情况下为Adwaita
)仅用于web内容呈现:
about:config
。widget.content.gtk-theme-override
(右键单击>新建>字符串)。Adwaita
)。告诉Firefox它应该使用灯光主题而不是黑暗的最佳解决方案是在启动之前指定GTK_THEME变量。
所以,你有4种方法可以做到这一点..
1-从终端你可以做:
GTK_THEME=Adwaita:light firefox
2-如果你讨厌终端并想在firefox工作时关闭它:
GTK_THEME=Adwaita:light firefox &
3-来自firefox about:config你可以将以下设置设置为false:
browser.display.use_system_colors
不适用于localhost SITES!所以,如果你是一名网络开发人员/设计师,那对你来说效果不好。
4-如果你想要这是一个defualt行为:
只需在位于/usr/lib/firefox/firefox.sh的Firefox启动器脚本中添加两行即可
在终端类型中输入:
Sudo gedit /usr/lib/firefox/firefox.sh
看一下脚本的开头:
MOZ_LIBDIR=/usr/lib/firefox
MOZ_APP_LAUNCHER=`which $0`
MOZ_APP_NAME=firefox
export MOZ_APP_LAUNCHER
并将其更改为:
MOZ_LIBDIR=/usr/lib/firefox
MOZ_APP_LAUNCHER=`which $0`
MOZ_APP_NAME=firefox
GTK_THEME=Adwaita:light
export MOZ_APP_LAUNCHER
export GTK_THEME
最后,重启Firefox。
希望这可以帮助。
投票支持我。
谢谢 :)
有一种非常简单的方法可以为网页恢复默认颜色方案,同时仍然保留您的Firefox元素的GTK主题。我知道这不是所要求的,但它可能会帮助人们从Google搜索到这里。
about:config
。browser.display.foreground_color
browser.diaplay.background_color
reset
。应该是它,不需要重新启动。这适用于Firefox Quantum。
您可以使用不同的用户和相同的配置文件启动Firefox。将当前配置文件(〜/ .mozilla/firefox/profile)复制到该用户的不同文件夹,然后将其复制给用户,然后在控制台上运行:
su newuser
firefox -profilemanager
这听起来有点矫枉过正,但您可以将其放入脚本中。 Firefox将使用配置文件中的主题,但保留新用户的未经训练的GTK。
此外,这是使用Firefox和Ubuntu很有趣的东西:P
Bannaz解决方案 非常好用,因为我不使用.desktop文件,但有时(或者每次)升级Firefox时,我对启动器脚本的补丁消失了。
因此,我的解决方案是创建一个新的启动器脚本文件,该文件设置首选GTK主题,执行原始启动器脚本并且不受升级影响。
我系统上的原始启动器位于/usr/bin/firefox
。
我创建了一个位于/usr/bin/local/firefox
的新启动器,其中包含以下内容:
#!/bin/sh
export GTK_THEME=Adwaita
exec /usr/bin/firefox "[email protected]"
更改路径位置以适合您的系统。并且不要忘记让它可执行:
Sudo chmod +x /usr/local/bin/firefox
您可以从工具 - >插件 - >主题向Firefox添加另一个主题。然后只使用该主题而不是默认主题。