如何从TTY重新启动Compiz?(相关问题,如何设置备用窗口管理器?)

我正在测试Natty,但是Compiz一直在崩溃。然而,并不总是给我重新启动Compiz的选项,而且由于某种原因没有配置备用窗口管理器(WM)。
没有WM,所有的程序仍在运行,但它们无法接受键盘输入,我也无法在它们之间切换。
不过,我可以按下Ctrl+Alt+F1来获取一个终端,然后可以使用killall Xorg来重置一切;但是,如果可能的话,我更愿意只重置Compiz。
如果我尝试在TTY中输入compiz --replace,它会报错“fatal--无法打开显示”。有没有办法让TTY1重新启动Compiz?像compiz --replace --display=something这样的命令?
此外,有没有办法配置一个备用窗口管理器,以便更容易从Compiz崩溃中恢复?

你应该开始接受答案了。到目前为止,你已经提出了8个问题,但还没有接受任何答案。 - Michael Martin-Smucker
可以为一个(终端)新手简化这个吗? - user165081
3个回答

切换到终端1(Ctrl+Alt+F1)并运行。
DISPLAY=:0 unity --replace 

或者

DISPLAY=:0 compiz --replace

有时候它无法重新启动。如果是这样的话,就杀掉所有的compiz进程,然后再试一次。

2最新版的 Unity 会自动在 DISPLAY=:0 上启动。 - Owais Lone
你也可以切换使用"setsid unity"。 - Owais Lone
你们两个的评论都很有价值,但对我来说还不够清楚:它们是否意味着 DISPLAY=:0 可以被省略,即使在使用 tty-1 替代在 tty-7 中崩溃运行的 unity 时?另外,你们是否推荐使用 setsid 来实现这个目的(而不是 () 或 & disown 或 nohup),如果是的话,请说明原因。 - nutty about natty
请参考setsid和http://askubuntu.com/questions/106351/running-programs-in-the-background-from-terminal/106359#106359。 - nutty about natty
3我已经关闭了Compiz,并且我不得不运行DISPLAY=:0 unity --replace来启动Unity。仅仅运行Compiz无法显示全屏窗口装饰,并且无法自动启动Unity。 - conualfy
这几乎关闭了我打开的1000多个窗口。看起来比注销/登录(试图重新打开关闭的窗口)还要破坏性更大。 - Tino

你需要设置DISPLAY环境变量,在通常情况下,如果只有一个Xorg实例,你可以这样做:
export DISPLAY=":0.0"

我遇到了类似的问题,我的菜单栏和任务栏都消失了。
我尝试了上面的解决方案,但没有起作用。然而,通过以下方法,我成功恢复了一切正常 :)
DISPLAY=:0
compiz --replace