为什么“metacity --replace”挂起我的系统,但“metacity --replace&”没问题?

Pet*_*r.O 5 command-line metacity

以下适用于 Lucid 10.04
它发生在我的“真实”计算机上,也发生在 VirtualBox VM 中...

(更新)我刚刚将 Maverick 10.10 安装到 VM 上......几乎发生了同样的事情!
我确实有键盘控制(最初)但我可以退出终端的唯一方法是在进程仍在运行的情况下关闭它(或 Ctrl+C),这会导致锁定(按 Enter 不会将其带回提示)

$ metacity --replace 
Run Code Online (Sandbox Code Playgroud)

上面的命令(在终端中)每次都会导致我的系统挂起。

该命令不会返回到提示。
窗口装饰消失(可能是因为命令还没有完成?)。
键盘变得不起作用,(但鼠标仍然有效)...

但是,以下命令每次都可以正常工作。

$ (metacity --replace &)
$ metacity --replace &    # this works too   
Run Code Online (Sandbox Code Playgroud)

它可能“挂起”只是因为我松开了键盘,因此无法按 Enter 键将其带回提示符,(...正如我所注意到的,一些不相关的命令没有“完全”返回提示,直到我按 Enter)

这里发生了什么?
我的“主机”操作系统不是新的,但虚拟机处于完好状态(几乎)......而且它们都表现出这种键盘“锁定”。

aya*_*4m1 2

运行metacity --replace不会使其作为守护进程运行。如果您按 Ctrl-C 或以其他方式停止该 Metacity 进程的运行(关闭终端也会执行此操作),您将失去窗口管理器。这就是您失去窗户装饰的原因。我不太确定为什么键盘停止工作(我的猜测是,一旦窗口管理器关闭,窗口的新更新(例如打字)将不会绘制到屏幕上),但我已经测试过这一点,如果您按 Ctrl 键+Alt+F1 您仍然可以放入帧缓冲区。显然键盘并没有完全停止工作,事实上,如果您单击其中的菜单项,gnome-terminal您可以使用向上和向下箭头进行导航。

screen当您需要从终端启动它然后关闭您使用的终端窗口时,您应该在包装器中运行metacity,例如。只需运行screen metacity --replace并按 Ctrl+A+D 即可脱离进程screen