我正在连接到运行 Xubuntu 的远程服务器。当我直接登录到该框时,一切都很好 - 当我使用 Chrome 远程桌面连接时出现问题。如果我尝试通过 GUI 执行任何重要操作(例如重新启动、更改网络、安装软件),我会收到权限错误。例如,尝试启用我的 OpenVPN 连接会返回:
VPN 连接失败 无权控制网络
在终端中,我似乎以普通用户身份登录。但我无法重新启动(不记得这是否通常需要 sudo - 更改网络肯定不需要):
foo@bar:~$ reboot
reboot: 需要 root 身份
只要我使用 sudo,我就可以通过命令行做任何事情 - 但这对于我希望能够远程执行的 GUI 中的所有操作没有任何好处。
我尝试将我的用户添加到 netdev,但这并不能解决问题:
foo @ bar:〜$组foo adm cdrom sudo dip plugdev netdev lpadmin sambashare chrome-remote-desktop
我的理论是,我实际上并没有以我的用户身份登录,或者至少 GUI 是由没有适当权限的另一个用户触发的。
我如何才能知道哪个“用户”触发了我所在的 xfce 会话?
我该如何授予该用户适当的权限?我知道将非 root 用户添加到 root 是一种不好的做法,但我很想这么做 ;)
寻找 chrome-remote-desktop 用户,但似乎不存在 - 尽管有一个名为该名称的组:
foo@bar:~$ grep ‘chrome-remote-desktop’ /etc/group
chrome-远程桌面:x:1001:foo
有什么想法吗?提前致谢!
答案1
这种情况的发生是因为 Chrome 远程桌面的工作方式。它会创建一个新会话,您可以与其他会话并行远程访问该会话。通常,X 服务器/GUI 在会话 7 上运行(您可以尝试使用Ctrl+ Alt+更改会话,其中Fnn
是会话编号),而 Chrome 远程桌面使用不同的会话编号。因此,每当要求您使用 GUI 输入密码时,窗口都会出现在主 GUI 会话(会话 7)中,并且无法直接从 Chrome 远程桌面访问它。
幸运的是,您可以通过一些黑客技术来规避这个问题。正如这里提到的,您可以编辑/opt/google/chrome-remote-desktop/chrome-remote-desktop
(首先创建此文件的备份,以防出现任何问题):
FIRST_X_DISPLAY_NUMBER = 0 # Replace 20 by 0
然后注释掉while循环:
def get_unused_display_number():
"""Return a candidate display number for which there is currently no
X Server lock file"""
display = FIRST_X_DISPLAY_NUMBER
# while os.path.exists(X_LOCK_FILE_TEMPLATE % display):
# display += 1
return display
另一个解决方案是从终端运行应用程序sudo
,例如sudo google-chrome
(不建议)。
希望开发 Chrome 远程桌面的团队能够听取我们的意见并尽快改变这种行为。
答案2
你可能想尝试将你自己的用户添加到用户组中chrome-remote-desktop
- 对我来说,使用以下命令即可
sudo /opt/google/chrome-remote-desktop/chrome-remote-desktop --add-user-as-root $USER