桌面忘记主题了?

桌面忘记主题了?

我在 VirtualBox 中运行 Ubuntu(在 Windows 7 主机上)。现在有好几次,顶级菜单栏、任务栏(以及似乎每个系统对话框)都忘记了它们在我第一次安装系统时遵循的开箱即用的“氛围”主题。窗口标题仍然保留主题,但其他内容几乎没有保留主题。

我在 Google 上搜索了各种方法,希望能够帮助解决此问题。我找到的所有方法都建议运行 gconf 重置或删除 .gconf* .gnome* 和其他类似目录。我遵循了所有这些建议,但都无济于事。我仍然得到一种无聊的 Windows-95 风格的灰色 3D 外观和感觉。以前,经过多次折腾后,我放弃了,并重新启动了 VM 实例,并惊喜地发现整个 UI 中都恢复了原始的“Ambience”主题,但它总会在一段时间后再次消失,通常是在重新启动后,所以我永远也搞不清楚我做了什么破坏了它。

这是来自 Ubuntu 站点的一个示例,是我希望它看起来的样子。

替代文本

这是我的系统的当前屏幕截图。

替代文本

还要注意,我的 GNOME 终端通常具有漂亮的紫色半透明外观,从屏幕截图中可以看出,它们现在只是纯哑光白色。

最后一次(就在昨天),尝试了多种组合,所有常用的技巧,并多次重新启动都没有解决问题,所以我在 SU 上想知道:

我该如何恢复 Gnome/Ubuntu 桌面的开箱即用主题,请注意,删除所有配置文件(如网上很多地方所建议的那样)无法实现这一点?

了解以下情况可能会有所帮助:在我调整虚拟机实例的大小、强制 Ubuntu 桌面自行调整大小或调整 Compiz 设置后,它似乎会失败。我无法弄清楚是哪一种原因,也可能两者都不是。考虑到我为让一切恢复正常所经历的痛苦(以及考虑到我不知道如何恢复正常),事实证明很难明确找出原因。

答案1

@zpletan 的回答我开始四处寻找,很快就发现了问题的根源。Ubuntu 中有详细介绍错误 #574296。总之,我的带有 SSD 的 Core i7 系统启动所有程序的时间完全不同,以至于 gnome-settings-daemon 运行得太早,失败了,并且主要给我留下一个原始 GTK 主题。

短暂睡眠可以/etc/xdg/autostart/gnome-settings-daemon.desktop解决这个问题:

Exec= bash -c "sleep 2; /usr/lib/gnome-settings-daemon/gnome-settings-daemon"

答案2

我无法用任何建议的答案来解决这个问题(目前接受的答案偶尔有效,但通常对我不起作用)。我尝试大量增加睡眠时间,但仍然无法持续工作。

然而,其中一个答案确实指出了跟踪此问题的一个错误,我发现了一个对错误进行评论这帮我解决了这个问题。

以下是关键内容:

首先,创建一个 bash 脚本(我将其命名为/etc/xdg/autostart/gnomesettingsdaemonfix.sh

#!/bin/bash

pid=$(pgrep gnome-settings-)

while [ -n "$pid" ];
do
  pid=$(pgrep gnome-settings-)
  sleep 0
done

exit 0

确保它是可执行的(运行chmod +x)。

然后编辑/etc/xdg/autostart/gnome-settings-daemon.desktop

将该Exec行更改为:

Exec=bash -c '/etc/xdg/autostart/gnomesettingsdaemonfix.sh;/usr/lib/gnome-settings-daemon/gnome-settings-daemon'

到目前为止,这似乎已经为我解决了问题。

答案3

按 Alt+F2(运行应用程序)并运行以下命令:

gksudo gnome-settings-daemon

答案4

几个月来我一直在寻找这个问题的解决办法。显然没人知道是什么原因造成的。这个错误已经存在好几年了,但没人修复过它。

有时它会在启动期间发生,并且 gnome-settings-daemon 的第一个和第二个实例之间存在竞争条件,有时它会在工作桌面会话中间发生,此时 gnome-settings-daemon 停止运行或崩溃。

我发现唯一能解决这个问题的方法是输入

killall gnome-settings-daemon
gnome-settings-daemon &

在我打开的正在运行的终端中。

关闭终端会终止 gnome-settings-daemon 的后台实例,桌面会恢复为默认主题(不是 Ubuntu 默认,而是 gnome 默认)。因此,我在后台运行守护进程,并让终端也运行,因为该进程需要其父进程。

相关内容