问题:在 Unity Tweak Tool 中将窗口扩展设置为开启后,Unity 会在尝试启动窗口扩展/Scale Compiz 效果时崩溃。这会导致 Unity 面板和启动器以及窗口装饰消失。如何修复此问题并阻止其发生?
答案1
我能够解决这个问题。我在 Ubuntu 14.04 上也看到了同样的问题。这似乎是由 Unity Tweak Tool 处理配置“窗口扩展”的方式引起的。(我怀疑它没有消除 scale 和 Desktop Wall 插件中的某些内容之间的冲突)。如果您在 CCSM(CompizConfig 设置管理器)中启用它,而不是使用 Unity Tweak Tool 来执行此操作,则 compiz 中的 Scale 将执行“窗口扩展”而不会崩溃。
首先,在崩溃后无需重置所有内容(在我见过的某些情况下,右键单击和双击在桌面上仍然有效)您可以做的是右键单击桌面,然后创建一个新的文本文件。右键单击图标,使用属性使其可执行,您可以通过右键单击图标并转到权限选项卡来获得该属性,然后选中“允许将文件作为程序执行”复选框。(如果您甚至无法执行这些操作,您可以按 Ctrl-Alt-F1 进入控制台,登录并发出sudo killall Xorg
或发出sudo service lightdm restart
,然后您应该返回到欢迎界面以重新登录并重新开始 - 或者,如果没有,您可以按 Ctrl-Alt-F7)。
接下来,双击您创建的图标,然后单击“显示”,使用默认文本编辑器打开文件。在文件中输入以下内容:
unity --replace
现在保存文件。
然后,双击您创建的文件,单击出现的对话框中的“运行”按钮,Unity 应该会在几分钟内重新启动并运行。当 Unity 崩溃时,您可以双击该图标将其重新启动,同时执行以下操作来解决该问题。
最后,打开 CCSM (Compiz) 和 Unity Tweak Tool。关闭 Window Spread 并关闭 Unity Tweak Tool。转到 CCSM 中的 Scale 插件并启用它。执行此操作后,您将收到有关该插件与 Desktop Wall 中的某些内容(或另一个插件,具体取决于插件冲突在您的机器上的实际位置)发生冲突的通知。选择解决冲突并选择禁用冲突的 compiz 插件。然后,您可以转到 Bindings 选项卡并为(屏幕图标)Initiate Window Picker(Super-w 可能已设置,但如果没有,您可以设置它)设置热点角。关闭 CCSM。完成后,删除您在桌面上创建的图标。
执行此操作后,无论我使用窗口扩展/缩放效果多少次,即使在编写此内容时,我都不再看到崩溃(不得不尝试几次只是为了看看我是否可以让它在我编写此内容时崩溃 - 是的,生活在边缘)。
问题不在于 Unity,而在于 Unity Tweak Tool 在设置 Window Spreading 时无法解决 Compiz 插件冲突。它设置了 Scale 效果,但没有处理冲突并禁用它。有人可能应该让 Unity Tweak Tool 的开发人员知道这个问题。
希望这对那些遭遇同样崩溃的人有所帮助。