在Unity和Gnome Shell中是否可以使用不同的GTK+主题?

我有时会使用两个不同的桌面环境,比如Unity和Gnome Shell(进行比较、测试、截图等),但是Unity在使用Adwaita主题时看起来很糟糕,而这个主题与Gnome Shell和Ambiance主题相同。每次都要更改非常麻烦,而且有时候(虽然现在比以前少了)会崩溃(我正在使用Oneiric版本)。

两个会话都使用相同的主题,因为您正在使用您的用户登录,选择一个新用户将为您完成。 - Uri Herrera
3个回答

在之前的答案基础上:
对于11.10
#!/bin/bash

if [ "$XDG_CURRENT_DESKTOP" = "Unity" ]
then
  gsettings set org.gnome.desktop.interface gtk-theme 'Ambiance'
  gconftool-2 --set --type string /apps/metacity/general/theme 'Ambiance'
  gsettings set org.gnome.desktop.interface icon-theme 'Faenza-Ambiance'

else
  gsettings set org.gnome.desktop.interface gtk-theme 'Adwaita'
  gconftool-2 --set --type string /apps/metacity/general/theme 'Adwaita'
  gsettings set org.gnome.desktop.interface icon-theme 'Faenza'

fi

适用于12.04和12.10版本

#!/bin/bash

if [ "$XDG_CURRENT_DESKTOP" = "Unity" ]
then
  gsettings set org.gnome.desktop.interface gtk-theme 'Ambiance'
  gsettings set org.gnome.desktop.interface icon-theme 'ubuntu-mono-dark'
  gsettings set org.gnome.desktop.wm.preferences theme 'Ambiance'

else 
  gsettings set org.gnome.desktop.interface gtk-theme 'Adwaita'
  gsettings set org.gnome.desktop.interface icon-theme 'gnome'
  gsettings set org.gnome.desktop.wm.preferences theme 'Adwaita'

fi

将此脚本添加到“启动应用程序”(添加 => 命令 sh path/to/script)。

您可以尝试创建一个脚本,在每次启动时执行,识别您正在使用的桌面环境,并根据您正在运行的内容切换主题。

能否通过脚本更改主题?我可以使用XDG_CURRENT_DESKTOP来确定桌面环境,但我不知道Gnome 3是如何保存主题设置的。 - Arnel A. Borja

对于16.10

使用启动应用程序(如Matteo建议的)并根据Mr Hyde的启动脚本进行调整:

#!/bin/bash

if [ "$XDG_CURRENT_DESKTOP" = "Unity" ]
then
  gsettings set org.gnome.desktop.interface gtk-theme 'Ambiance'
  gsettings set org.gnome.desktop.interface icon-theme 'ubuntu-mono-dark'
  gsettings set org.gnome.desktop.interface cursor-theme 'DMZ-White'
  gsettings set org.gnome.desktop.wm.preferences theme 'Ambiance'

else 
  gsettings set org.gnome.desktop.interface gtk-theme 'Adwaita'
  gsettings set org.gnome.desktop.interface icon-theme 'Adwaita'
  gsettings set org.gnome.desktop.interface cursor-theme 'Adwaita'
  gsettings set org.gnome.desktop.wm.preferences theme 'Adwaita'

fi