我在 Google Cloud Platform 上有一个 Ubuntu 20 VM。大多数情况下,我只需要通过 SSH 进入 VM。但是,偶尔我需要使用桌面环境。我对 Unix 不是特别熟练。
我跟着这篇文章来自谷歌使用 Xfce 设置 Chrome 远程桌面 - 效果很好。
问题是,我现在不知道如何禁用它。虚拟机非常小,因此运行桌面附带的所有随机进程可能会导致性能下降。我希望能够随意关闭和打开桌面。如果做不到这一点,我想阻止它在启动时启动,这样至少我可以重新启动机器来关闭桌面。
我很难理解在 Unix 上运行服务/启动服务的各种方法。以下是我尝试过的方法:
- 终止进程。有几十个进程,但我尝试终止各种进程 - xfce4-panel、chrome-remote-desktop-host、xfce4-session、lightdm 等。这很费力而且不起作用 - 这些进程大多在被终止后不久又重新生成。我想是某个服务在运行它们吧?
- 使用“service X stop”停止服务。当我运行“service --status-all”时,lightdm 和 chrome-remote-desktop 都显示未运行,但各种 google/desktop 进程仍在运行,我仍然可以通过 Chrome 远程桌面打开桌面环境。
- 使用例如“update-rc.d chrome-remote-desktop remove”从 rc.d 中删除服务。但是,当我重新启动时,我仍然发现所有进程都在运行。/etc/init.d/ 中仍然有它们的条目 - 我不确定是否应该删除它们。
因此,总而言之,我如何随意关闭/启动 xfce 和 chrome 远程桌面,或者如何确保它们不会在启动时启动(但仍然可以手动启动)?
答案1
我终于明白了,现代服务系统是systemd
通过命令调用和操作的systemctl
。使用systemctl status
我得到了每个正在运行的服务的列表。从那里,很容易就能识别出我正在寻找的服务是chrome-remote-desktop@myusername
。
我可以用它systemctl stop chrome-remote-desktop@myusername
来停止该服务,或者disable
阻止它在启动时运行。