这个答案源自Rob Calistri在FrançoisBeaufort的G +帖子中的评论。应归功于来源。如果您最近更新了Ubuntu(或Ubuntu Gnome),而不是黑屏,则通过Chrome远程桌面进行连接时,您可能只会看到墙纸而没有任何面板。此修改将强制Chrome远程桌面使用现有的X服务器,而不是创建新的桌面。
安装Debian软件包后chrome-remote-desktop_current_amd64.deb
,请确保当前用户属于该chrome-remote-desktop
组:
sudo usermod -a -G chrome-remote-desktop username
停止Chrome远程桌面:
/opt/google/chrome-remote-desktop/chrome-remote-desktop --stop
备份原始配置:
sudo cp /opt/google/chrome-remote-desktop/chrome-remote-desktop /opt/google/chrome-remote-desktop/chrome-remote-desktop.orig
编辑配置文件(sudo vim
,gksudo gedit
,等):
gksudo gedit /opt/google/chrome-remote-desktop/chrome-remote-desktop
查找DEFAULT_SIZES
并修改远程桌面分辨率。例如:
DEFAULT_SIZES = "1920x1080"
将X显示号设置为当前显示号(可echo $DISPLAY
从任何端子获取)。在Ubuntu 17.10及更低版本上,通常是0
,在Ubuntu 18.04上通常是1
:
FIRST_X_DISPLAY_NUMBER = 0
注释掉寻找其他显示的部分,如下所示:
#while os.path.exists(X_LOCK_FILE_TEMPLATE % display):
# display += 1
重用现有的X会话,而不是启动一个新的会话。launch_session()
通过注释掉launch_x_server()
并launch_x_session()
设置显示环境变量来进行更改,以使函数定义最终看起来像下面这样:
def launch_session(self, x_args):
self._init_child_env()
self._setup_pulseaudio()
self._setup_gnubby()
#self._launch_x_server(x_args)
#self._launch_x_session()
display = self.get_unused_display_number()
self.child_env["DISPLAY"] = ":%d" % display
保存并退出编辑器。启动Chrome远程桌面:
/opt/google/chrome-remote-desktop/chrome-remote-desktop --start
注意:最初于2015年2月为Ubuntu(Gnome)14.04编写此答案时,存在一个问题,即Chrome远程桌面以某种方式导致deja-dup-monitor疯狂并消耗了所有系统内存(请参阅launchpad bug)。通过Chrome远程桌面连接/断开连接后,这使得Ubuntu基本上无法使用。
2016年11月更新:根据以上链接的G +帖子评论中的Rob Calistri的进一步更新,对说明进行了修订。使用Ubuntu 16.04,似乎可以解决deja-dup-monitor错误(在我上一次测试中,它从未超过2.8 MiB的内存使用量)。