如何将 Google Remote 添加到 vast 上的无头 Docker 中

如何将 Google Remote 添加到 vast 上的无头 Docker 中

我想为我在 vastai 上租用的无头 docker 添加 GUI。它使用 cuda 16.04 docker 镜像

我从更新和升级开始,然后

我遵循了本指南https://cloud.google.com/solutions/chrome-desktop-remote-on-compute-engine选定的 xfce

当我运行脚本时,我得到了建议的代码

DISPLAY= /opt/google/chrome-remote-desktop/start-host --code="mycodes" --redirect-url="https://remotedesktop.google.com/_/oauthredirect" --name=$(hostname)

输出:拒绝运行 /opt/google/chrome-remote-desktop/start-host

如何将用户更改为能够运行 Chrome 远程桌面的用户

我已添加用户

adduser gamer
usermod -aG chrome-remote-desktop gamer

我尝试以用户身份运行它

runuser -l gamer -c 'DISPLAY= /opt/google/chrome-remote-desktop/start-host --code="mycodes" --redirect-url="https://remotedesktop.google.com/_/oauthredirect" --name=$(hostname)' 

输出 [0429/133320.745672:ERROR:cert_verify_proc_builtin.cc(559)] 没有用于执行 AIA 追踪的 net_fetcher。无法启动主机:OAuth 错误。

答案1

我遇到了同样的问题:无法启动主机:OAuth 错误。

它不起作用,因为 Google 更改了某些内容,现在 Chrome 远程桌面不支持 OSLogin 功能 - 此信息显示在文档中。要解决此问题,只需在实例上禁用 OSLogin。

PS. 但 Chrome 远程桌面仍然可以通过 IAP 工作,因此您的实例不需要外部 IP。

答案2

好吧,我成功了。我不确定之前哪里出错了,但最终一切都解决了。我写了一篇博客文章。您可以在链接中查看完整说明http://cryptolabs.co.za/2020/04/30/how-to-rendering-blender-eevee-on-a-headless-system/

我使用这个 bashscript 安装了我需要的东西。

 $bash -c 'apt -y update; apt-get install -y --no-install-recommends;   apt-get install -y gdebi; apt-get install -y gnupg2; apt-get install -y fonts-noto-cjk; apt-get install -y pulseaudio; apt-get install -y supervisor;   apt-get install -y x11vnc;  apt-get install -y fluxbox; apt-get install -y eterm; wget https://dl.google.com/linux/direct/chrome-remote-desktop_current_amd64.deb; dpkg --install chrome-remote-desktop_current_amd64.deb; wget https://dl.google.com/linux/linux_signing_key.pub; wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb; dpkg --install chrome-remote-desktop_current_amd64.deb; apt-key add /tmp/linux_signing_key.pub; dpkg --install google-chrome-stable_current_amd64.deb; apt install --assume-yes --fix-broken; apt-get clean; rm -rf /var/cache/* /var/log/apt/* /var/lib/apt/lists/*;useradd -m -G chrome-remote-desktop,pulse-access chrome;usermod -s /bin/bash chrome; ln -s /crdonly /usr/local/sbin/crdonly; ln -s /update /usr/local/sbin/update;mkdir -p /home/chrome/.config/chrome-remote-desktop;mkdir -p /home/chrome/.fluxbox'

接下来我们安装Xfce桌面环境。

$echo ' \n\
    session.screen0.toolbar.visible:        false\n\
    session.screen0.fullMaximization:       true\n\
    session.screen0.maxDisableResize:       true\n\
    session.screen0.maxDisableMove: true\n\
    session.screen0.defaultDeco:    NONE\n\
' >> /home/chrome/.fluxbox/init
$chown -R chrome:chrome /home/chrome/.config /home/chrome/.fluxbox



$DEBIAN_FRONTEND=noninteractive 
apt update
apt upgrade
#apt install --assume-yes xfce4 desktop-base
$bash -c 'echo "exec /etc/X11/Xsession /usr/bin/xfce4-session" > /etc/chrome-remote-desktop-session'
$apt install --assume-yes xscreensaver

为了确保万无一失,我们希望停止运行 lightdm.serves。您的实例没有连接显示器,因此显示管理器服务不会启动

$systemctl disable lightdm.service

配置并启动 Chrome 远程桌面服务

要启动远程桌面服务器,您需要拥有用于连接该服务器的 Google 帐户的授权密钥。

1 在本地计算机上,使用 Chrome 浏览器,转到 Chrome 远程桌面命令行设置页面:https://remotedesktop.google.com/headless

2 如果您尚未登录,请使用 Google 帐户登录。此帐户将用于授权远程访问。

3 在“设置另一台计算机”页面上,单击“开始”。

  1. 在下载并安装 Chrome 远程桌面页面上,点击下一步。

5 点击授权。您需要允许 Chrome 远程桌面访问您的帐户。如果您同意,页面将显示 Debian Linux 的命令行,如下所示:

runuser -l chrome -c 'DISPLAY= /opt/google/chrome-remote-desktop/start-host --code="4/yourcode" --redirect-url="https://remotedesktop.google.com/_/oauthredirect" --name=VastInstance'

根据要求输入密码,您应该会看到输出“主机准备好接收连接”。

连接到实例

您可以使用 Chrome 远程桌面网络应用程序连接到该实例。

  1. 在本地计算机上,转到 Chrome 远程桌面网站。https://remotedesktop.google.com/
  2. 单击“远程访问”
  3. 如果您尚未登录 Google,请使用设置 Chrome 远程桌面服务时所用的同一 Google 帐号登录。您会在远程设备列表中看到您的新实例。

相关内容