在 Compute Engine 上设置适用于 Linux 的 Chrome 远程桌面

Last reviewed 2022-11-16 UTC

本教程介绍如何在 Compute Engine 中的 Debian Linux 虚拟机 (VM) 实例上设置 Chrome 远程桌面服务。如需了解 Windows 虚拟机的单独说明,请参阅 Windows 虚拟机。Chrome 远程桌面可让您从本地计算机或移动设备使用图形界面远程访问应用。

按照本教程操作时,默认防火墙规则允许 Chrome 远程桌面连接;您无需配置任何其他防火墙规则。只有初始设置需要 SSH 访问权限。

虚拟机需要访问互联网(通过外部 IP 地址或 Cloud NAT),您需要使用 Google 账号进行身份验证和授权。

本教程假定您熟悉 Linux 命令行,知道如何安装 Debian 软件包。

如需了解创建虚拟工作站的其他选项,请参阅创建虚拟工作站

目标

  • 创建无外设 Compute Engine 虚拟机实例,以在其上运行 Chrome 远程桌面。
  • 在虚拟机实例上安装和配置 Chrome 远程桌面服务。
  • 在虚拟机实例中设置 X Window System 桌面环境。
  • 从本地计算机连接到虚拟机实例上的桌面环境。

费用

本教程使用 Google Cloud 的以下收费组件:

  • Compute Engine

请使用价格计算器根据您的预计使用情况来估算费用。

准备工作

  1. 登录您的 Google Cloud 账号。如果您是 Google Cloud 新手,请创建一个账号来评估我们的产品在实际场景中的表现。新客户还可获享 $300 赠金,用于运行、测试和部署工作负载。
  2. 在 Google Cloud Console 中的项目选择器页面上,选择或创建一个 Google Cloud 项目

    转到“项目选择器”

  3. 确保您的 Google Cloud 项目已启用结算功能

  4. 启用 Compute Engine API。

    启用 API

  5. 在 Google Cloud Console 中的项目选择器页面上,选择或创建一个 Google Cloud 项目

    转到“项目选择器”

  6. 确保您的 Google Cloud 项目已启用结算功能

  7. 启用 Compute Engine API。

    启用 API

  8. 完成本文档中描述的任务后,您可以通过删除所创建的资源来避免继续计费。如需了解详情,请参阅清理

  9. 确保您拥有项目的以下一个或多个角色: roles/compute.admin

    检查角色

    1. 在 Google Cloud 控制台中,前往 IAM 页面。

      转到 IAM
    2. 选择项目。
    3. 主账号列中,找到您的电子邮件地址所在的行。

      如果您的电子邮件地址不在此列,则表示您没有任何角色。

    4. 在您的电子邮件地址所在的行对应的角色列中,检查角色列表是否包含所需的角色。

    授予角色

    1. 在 Google Cloud 控制台中,前往 IAM 页面。

      转到 IAM
    2. 选择项目。
    3. 点击 授予访问权限
    4. 新的主账号字段中,输入您的电子邮件地址。
    5. 选择角色列表中,选择一个角色。
    6. 如需授予其他角色,请点击 添加其他角色,然后添加其他各个角色。
    7. 点击 Save(保存)。
  10. 在本地计算机上使用 Google Chrome 浏览器。

创建 Compute Engine 实例

本教程使用具有 Debian Linux 启动磁盘的默认机器类型。如果您在自己的环境中使用此方法,可能需要调整机器类型、名称、区域、启动磁盘大小或其他设置。

  1. 在 Google Cloud 控制台中,进入虚拟机实例页面。

    转到“虚拟机实例”

  2. 点击创建

  3. 将实例名称设置为 crdhost

  4. 点击创建

    创建实例需要一些时间。

  5. 创建实例后,点击实例列表中的 SSH 以连接到新实例:

    创建连到虚拟机实例的 SSH 连接。

在虚拟机实例上安装 Chrome 远程桌面

  1. 在虚拟机实例的 SSH 窗口中,将 Debian Linux Chrome 远程桌面仓库添加到 apt 软件包列表中,然后安装 chrome-remote-desktop 软件包。

    curl https://dl.google.com/linux/linux_signing_key.pub \
        | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/chrome-remote-desktop.gpg
    echo "deb [arch=amd64] https://dl.google.com/linux/chrome-remote-desktop/deb stable main" \
        | sudo tee /etc/apt/sources.list.d/chrome-remote-desktop.list
    sudo apt-get update
    sudo DEBIAN_FRONTEND=noninteractive \
        apt-get install --assume-yes chrome-remote-desktop
    

    DEBIAN_FRONTEND=noninteractive 参数会隐藏配置直接连接虚拟机实例的键盘布局的提示。

安装 X Windows System 桌面环境

您需要安装 X Window System 桌面环境和窗口管理器才能使用 Chrome 远程桌面。常见的选项是:

您可以使用其他桌面环境,但 Chrome 远程桌面不支持 3D 图形加速。如果选择使用 3D 图形加速的桌面环境,则需要停用该功能,否则将无法启动远程桌面服务。

对于通过较慢的网络创建的远程连接,我们建议使用 Xfce,因为它具有最少的图形元素和少数几个动画。

Xfce

  1. 在连接到虚拟机实例的 SSH 窗口中,安装 Xfce 桌面环境和基本桌面组件:

    sudo DEBIAN_FRONTEND=noninteractive \
        apt install --assume-yes xfce4 desktop-base dbus-x11 xscreensaver
    

    XScreenSaver 是必需的,因为 Xfce 默认屏幕锁定器 (Light Locker) 不适用于 Chrome 远程桌面(Light Locker 会显示空白屏幕,无法解锁)。

  2. 将 Chrome 远程桌面配置为默认使用 Xfce:

    sudo bash -c 'echo "exec /etc/X11/Xsession /usr/bin/xfce4-session" > /etc/chrome-remote-desktop-session'
    
  3. 由于没有显示器连接到您的实例,因此请停用实例上的显示管理器服务:

    sudo systemctl disable lightdm.service
    
  4. 可选:安装全套 Linux 桌面应用,包括 Firefox 浏览器、LibreOffice 办公应用套件和 Evince PDF 查看器:

    sudo apt install --assume-yes task-xfce-desktop
    
  5. 可选:在您的实例上安装 Chrome 浏览器:

    curl -L -o google-chrome-stable_current_amd64.deb \
    https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
    sudo apt install --assume-yes --fix-broken ./google-chrome-stable_current_amd64.deb
    

Cinnamon

  1. 在连接到虚拟机实例的 SSH 窗口中,安装 Cinnamon 桌面环境和基本桌面组件:

    sudo DEBIAN_FRONTEND=noninteractive \
        apt install --assume-yes cinnamon-core desktop-base dbus-x11
    
  2. 将 Chrome 远程桌面会话设置为默认使用 2D 模式下的 Cinnamon(不使用 3D 图形加速):

    sudo bash -c 'echo "exec /etc/X11/Xsession /usr/bin/cinnamon-session-cinnamon2d" > /etc/chrome-remote-desktop-session'
    
  3. (可选)安装全套 Linux 桌面应用,包括 Firefox 浏览器、LibreOffice 办公应用套件和 Evince PDF 查看器:

    sudo apt install --assume-yes task-cinnamon-desktop
    
  4. 可选:在您的实例上安装 Chrome 浏览器:

    curl -L -o google-chrome-stable_current_amd64.deb \
    https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
    sudo apt install --assume-yes --fix-broken ./google-chrome-stable_current_amd64.deb
    

Gnome

  1. 在连接到虚拟机实例的 SSH 窗口中,安装完整的 Gnome 桌面环境,包括 Firefox 浏览器、LibreOffice 办公应用套件和 Evince PDF 查看器:

    sudo DEBIAN_FRONTEND=noninteractive \
        apt install --assume-yes  task-gnome-desktop
    
  2. 将 Chrome 远程桌面会话设置为使用 Gnome

    sudo bash -c 'echo "exec /etc/X11/Xsession /usr/bin/gnome-session" > /etc/chrome-remote-desktop-session'
    
  3. 停用实例上的 Gnome 显示管理器服务,因为它与 Chrome 远程桌面服务冲突。

    sudo systemctl disable gdm3.service
    sudo reboot
    

    此命令会重新启动虚拟机。

  4. 请先通过 SSH 重新连接,然后再继续操作。

  5. 可选:在您的实例上安装 Chrome 浏览器:

    curl -L -o google-chrome-stable_current_amd64.deb \
    https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
    sudo apt install --assume-yes --fix-broken ./google-chrome-stable_current_amd64.deb
    

Gnome-Classic

  1. 在连接到虚拟机实例的 SSH 窗口中,安装完整的 Gnome 桌面环境,包括 Firefox 浏览器、LibreOffice 办公应用套件和 Evince PDF 查看器:

    sudo DEBIAN_FRONTEND=noninteractive \
        apt install --assume-yes  task-gnome-desktop
    

    DEBIAN_FRONTEND=noninteractive 参数会隐藏配置直接连接虚拟机实例的键盘布局的提示。

  2. 将 Chrome 远程桌面会话设置为使用 Gnome-Classic 桌面:

    sudo bash -c 'echo "exec /etc/X11/Xsession /usr/bin/gnome-session-classic" > /etc/chrome-remote-desktop-session'
    
  3. 停用实例上的 Gnome 显示管理器服务,因为它与 Chrome 远程桌面服务冲突。

    sudo systemctl disable gdm3.service
    sudo reboot
    

    此命令会重新启动虚拟机。

  4. 请先通过 SSH 重新连接,然后再继续操作。

  5. 可选:在您的实例上安装 Chrome 浏览器:

    curl -L -o google-chrome-stable_current_amd64.deb \
    https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
    sudo apt install --assume-yes --fix-broken ./google-chrome-stable_current_amd64.deb
    

KDE Plasma

  1. 在连接到虚拟机实例的 SSH 窗口中,安装完整的 KDE Plasma 桌面环境,包括 Firefox 浏览器、LibreOffice 办公应用套件和 Evince PDF 查看器:

    sudo DEBIAN_FRONTEND=noninteractive \
        apt install --assume-yes  task-kde-desktop
    

    DEBIAN_FRONTEND=noninteractive 参数会隐藏配置直接连接虚拟机实例的键盘布局的提示。

  2. 将 Chrome 远程桌面会话设置为使用 KDE Plasma

    sudo bash -c 'echo "exec /etc/X11/Xsession /usr/bin/startplasma-x11" > /etc/chrome-remote-desktop-session'
    
  3. 可选:在您的实例上安装 Chrome 浏览器:

    curl -L -o google-chrome-stable_current_amd64.deb \
    https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
    sudo apt install --assume-yes --fix-broken ./google-chrome-stable_current_amd64.deb
    

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

如需启动远程桌面服务器,您需要拥有要用来连接到该服务器的 Google 账号的授权密钥:

  1. 在 Google Cloud 控制台中,转到虚拟机实例页面:

    转到“虚拟机实例”页面

  2. 点击 SSH 按钮,连接到您的实例。

  3. 在本地计算机上,使用 Chrome 浏览器,转到 Chrome 远程桌面命令行设置页面:

    https://remotedesktop.google.com/headless

  4. 如果您尚未登录,请使用 Google 账号登录。这是将用于授权远程访问的账号。

  5. 再设置一台计算机页面上,点击开始

  6. 点击授权

    您需要允许 Chrome 远程桌面访问您的账号。当您批准访问后,该页面会显示如下命令行(对于 Debian Linux):

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

    您可以使用此命令在您的虚拟机实例上设置和启动 Chrome 远程桌面服务,并使用授权代码将其与您的 Google 账号相关联。

  7. 将命令复制到与您的实例连接的 SSH 窗口,然后运行该命令。

  8. 出现提示时,输入一个 6 位数的 PIN 码。稍后连接时使用此号码进行额外的授权。

    您可能会看到 No net_fetcherFailed to read 之类错误。您可以忽略这些错误。

  9. 使用以下命令验证服务正在运行。

    sudo systemctl status chrome-remote-desktop@$USER
    

    如果服务正在运行,您会看到包含 active 状态的输出:

    chrome-remote-desktop.service - LSB: Chrome Remote Desktop service
        Loaded: loaded (/lib/systemd/system/chrome-remote-desktop@USER.service; enabled; vendor preset: enabled)
        Active: active (running) since DATE_TIME; ELAPSED_TIME
    

连接到虚拟机实例

您可以使用 Chrome 远程桌面 Web 应用连接到虚拟机实例。

  1. 在本地计算机上,转到 Chrome 远程桌面网站。

  2. 点击访问我的计算机

  3. 如果您尚未登录 Google,请使用您用于设置 Chrome 远程桌面服务的同一 Google 账号进行登录。

    您可以在远程设备列表中看到此新虚拟机实例 crdhost

  4. 点击远程桌面实例的名称。

  5. 收到系统提示时,请输入您之前创建的 PIN 码,然后点击箭头按钮进行连接。

    现在,您已连接到远程 Compute Engine 实例上的桌面环境。

  6. 如果出现提示,请始终允许远程桌面应用读取剪贴板,以便您可以在本地和远程应用之间复制和粘贴。

  7. 如果您安装的是 Xfce 桌面,则首次连接时,系统会提示您设置桌面面板。点击使用默认配置 (Use Default Config),以在顶部显示标准任务栏并在底部显示快速启动面板。

显示任务栏和快速启动面板的 xfce 桌面。

改善远程桌面体验

本部分介绍如何更改设置,以改善远程桌面体验。

安装远程桌面 Chrome 应用

远程桌面 Chrome 应用提供了单独的基于窗口的体验,允许在远程系统上使用通常被 Chrome 拦截的键盘快捷键。

如果未安装此应用,请执行以下操作:

  1. 使用将鼠标移动到窗口一侧时显示的按钮 打开会话选项面板。
  2. 安装应用部分,点击开始
  3. 点击安装

远程桌面会话会在单独的应用窗口中重新打开。

点击地址栏中的打开方式 图标,可以将任何远程桌面会话从 Chrome 标签页移至应用窗口。

停用 Cinnamon 中的动画和效果

Cinnamon 桌面使用多种图形功能和动画,例如半透明窗口和淡入淡出式菜单。因为这些动画通过远程连接进行渲染需要较长时间,所以会让您感觉用户界面操作缓慢。

要停用这些效果,请执行以下步骤:

  1. 在 Cinnamon 桌面中,选择菜单 (Menu) > 偏好设置 (Preferences) > 效果 (Effects)。

    在 Cinnamon 中设置桌面偏好设置。

  2. 停用各个效果:

    在 Cinnamon 中停用动画效果。

设置用户密码

Compute Engine 创建的用户账号没有密码。但是,多个桌面环境需要有密码才能解锁屏保并授权管理操作。因此,请务必为您的用户设置密码:

  1. 使用 SSH 连接到实例,方法与第一次设置实例时相同。
  2. 为用户创建密码:

    sudo passwd $(whoami)
    

停用屏保和锁定屏幕

因为您是从远程计算机访问桌面的,所以通常不需要使用屏保或屏幕锁定器,因此可以停用它们。

Xfce

  1. 应用 (Applications) 菜单中,选择设置 (Settings) > 屏保 (Screensaver)。
  2. 模式 (Mode) 设置为停用屏保 (Disable Screen Saver)。

Cinnamon

  1. 在桌面上,选择 Menu > Preferences > Screensaver
  2. 设置标签页中,将延迟设置为从不,并停用以下两个锁定设置以自动锁定屏幕。

Gnome

  1. 在桌面上,点击活动并输入 Settings
  2. 选择设置应用。
  3. 设置应用中,依次选择隐私权 >屏幕锁定
  4. 停用自动屏幕锁定并关闭对话框。
  5. 依次选择设备 > 键盘
  6. 在键盘快捷键列表中,前往 System 部分,然后点击 Lock Screen
  7. Backspace 键停用该快捷键,然后点击设置
  8. 选择电源,然后将空白屏幕设置为永不

Gnome-Classic

  1. 在桌面中,选择应用 > 系统工具 > 设置
  2. 设置应用中,依次选择隐私权 >屏幕锁定
  3. 停用自动屏幕锁定并关闭对话框。
  4. 依次选择设备 > 键盘
  5. 在键盘快捷键列表中,前往 System 部分,然后点击 Lock Screen
  6. Backspace 键停用该快捷键,然后点击设置
  7. 选择电源,然后将空白屏幕设置为永不

KDE Plasma

  1. 在桌面上,点击 KDE 菜单按钮,然后输入 Screen Locking
  2. 选择屏幕锁定应用。
  3. 配置屏幕锁定应用中,停用自动锁定屏幕,然后点击 按钮清除键盘快捷键。
  4. 点击确定

提高桌面分辨率

如果您使用的是超高分辨率监视器,您可能会发现 1600 x 1200 的默认最大远程桌面尺寸太小。如果是这样,您可以将其提高到您的显示器的分辨率大小。

  1. 使用 SSH 连接到实例。
  2. CHROME_REMOTE_DESKTOP_DEFAULT_DESKTOP_SIZES 环境变量设置为包含您的显示器的分辨率大小:

    echo "export CHROME_REMOTE_DESKTOP_DEFAULT_DESKTOP_SIZES=1600x1200,3840x2560" \
        >> ~/.profile
    
  3. 重启服务:

    sudo systemctl restart chrome-remote-desktop@$USER
    

启用高级视频编解码器:

具有高品质颜色的 AV1 编解码器可提供更高的图像质量,并更好地对纯色信息(如文本)进行编码:

  1. 使用将鼠标移动到窗口一侧时显示的按钮 打开会话选项面板。
  2. 视频编解码器字段中,选择 AV1
  3. 确保已启用高品质颜色字段。

选择其他桌面环境

在上一部分中,您在 /etc/chrome-remote-desktop-session 配置文件中设置了默认桌面环境。您还可以通过在主目录的 .chrome-remote-desktop-session 配置文件中指定其他桌面环境(如果已安装)来选择其他桌面环境:

Xfce

echo "exec /etc/X11/Xsession /usr/bin/xfce4-session" > ~/.chrome-remote-desktop-session

Cinnamon

echo "exec /etc/X11/Xsession /usr/bin/cinnamon-session-cinnamon2d" > ~/.chrome-remote-desktop-session

Gnome

echo "exec /etc/X11/Xsession /usr/bin/gnome-session" > ~/.chrome-remote-desktop-session

Gnome-Classic

echo "exec /etc/X11/Xsession /usr/bin/gnome-session-classic" > ~/.chrome-remote-desktop-session

KDE Plasma

echo "exec /etc/X11/Xsession /usr/bin/startplasma-x11" > ~/.chrome-remote-desktop-session

完成此更改后,重启服务以使更改生效:

sudo systemctl restart chrome-remote-desktop@$USER

如前所述,Chrome 远程桌面不支持 3D 图形加速。因此,对于使用这些功能的任何桌面环境,您需要停用 3D 图形,否则将无法启动会话。

自动执行安装过程

当您需要使用 Chrome 远程桌面设置多台机器时,手动安装步骤可能会变得重复。您可以按照以下步骤使用自定义启动脚本来自动执行此过程。

本教程使用具有 Debian Linux 启动磁盘的默认机器类型。如果您在自己的环境中使用此方法,可能需要调整机器类型、名称、区域、启动磁盘大小或其他设置。

  1. 在 Google Cloud 控制台中,转到虚拟机实例页面:

    转到“虚拟机实例”页面

  2. 点击创建实例

  3. 将实例名称设置为 crdhost-autoinstall

  4. 滚动到高级选项部分并展开。

  5. 展开管理部分。

  6. 复制以下 Shell 脚本并将其粘贴到 Automation/Startup Script 字段中:

    #!/bin/bash -x
    #
    # Startup script to install Chrome remote desktop and a desktop environment.
    #
    # See environmental variables at then end of the script for configuration
    #
    
    function install_desktop_env {
      PACKAGES="desktop-base xscreensaver dbus-x11"
    
      if [[ "$INSTALL_XFCE" != "yes" && "$INSTALL_CINNAMON" != "yes" ]] ; then
        # neither XFCE nor cinnamon specified; install both
        INSTALL_XFCE=yes
        INSTALL_CINNAMON=yes
      fi
    
      if [[ "$INSTALL_XFCE" = "yes" ]] ; then
        PACKAGES="$PACKAGES xfce4"
        echo "exec xfce4-session" > /etc/chrome-remote-desktop-session
        [[ "$INSTALL_FULL_DESKTOP" = "yes" ]] && \
          PACKAGES="$PACKAGES task-xfce-desktop"
      fi
    
      if [[ "$INSTALL_CINNAMON" = "yes" ]] ; then
        PACKAGES="$PACKAGES cinnamon-core"
        echo "exec cinnamon-session-cinnamon2d" > /etc/chrome-remote-desktop-session
        [[ "$INSTALL_FULL_DESKTOP" = "yes" ]] && \
          PACKAGES="$PACKAGES task-cinnamon-desktop"
      fi
    
      DEBIAN_FRONTEND=noninteractive \
        apt-get install --assume-yes $PACKAGES $EXTRA_PACKAGES
    
      systemctl disable lightdm.service
    }
    
    function download_and_install { # args URL FILENAME
      if [[ -e "$2" ]] ; then
         echo "cannot download $1 to $2 - file exists"
         return 1;
      fi
      curl -L -o "$2" "$1" && \
        apt-get install --assume-yes --fix-broken "$2" && \
        rm "$2"
    }
    
    function is_installed {  # args PACKAGE_NAME
      dpkg-query --list "$1" | grep -q "^ii" 2>/dev/null
      return $?
    }
    
    # Configure the following environmental variables as required:
    INSTALL_XFCE=yes
    INSTALL_CINNAMON=yes
    INSTALL_CHROME=yes
    INSTALL_FULL_DESKTOP=yes
    
    # Any additional packages that should be installed on startup can be added here
    EXTRA_PACKAGES="less bzip2 zip unzip tasksel wget"
    
    apt-get update
    
    if ! is_installed chrome-remote-desktop; then
        if [[ ! -e /etc/apt/sources.list.d/chrome-remote-desktop.list ]]; then
            echo "deb [arch=amd64] https://dl.google.com/linux/chrome-remote-desktop/deb stable main" \
                | tee -a /etc/apt/sources.list.d/chrome-remote-desktop.list
        fi
        apt-get update
        DEBIAN_FRONTEND=noninteractive \
            apt-get install --assume-yes chrome-remote-desktop
    fi
    
    install_desktop_env
    
    [[ "$INSTALL_CHROME" = "yes" ]] && ! is_installed google-chrome-stable && \
      download_and_install \
        https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb \
        /tmp/google-chrome-stable_current_amd64.deb
    
    echo "Chrome remote desktop installation completed"
    

    每次重新启动机器时,此脚本都将执行以下任务:

    • 如果未安装远程桌面软件包:
      • 添加 Chrome 远程桌面 Debian 软件包仓库
      • 安装 Chrome 远程桌面软件包和依赖项。
    • 安装 Xfce 或 Cinnamon 桌面环境(具体取决于脚本设置)。
    • 如果已启用完整桌面环境选项,请安装必要的软件包。
    • 如果已启用但未安装 Google Chrome 浏览器选项,请执行以下操作:
      • 下载 Google Chrome 软件包。
      • 安装 Google Chrome 及其从属软件包。
  7. 点击创建

    创建实例需要一些时间,在启用所有选项的情况下首次运行时,脚本可能需要多达 10 分钟的时间才能完成安装。

  8. 如需监控进度,请使用 SSH 连接到虚拟机实例,并在实例的终端中运行以下命令:

    sudo journalctl -o cat -f _SYSTEMD_UNIT=google-startup-scripts.service
    

    此命令显示启动脚本的输出。脚本完成后,您将看到以下内容:

    INFO startup-script: Chrome remote desktop installation completed
    INFO startup-script: Return code 0.
    INFO Finished running startup scripts.
    

此脚本仅安装必需的软件包;如所述,您仍需为您的用户配置远程桌面服务。

在创建新的虚拟机实例时,可以通过多种方式指定启动脚本:

  • 将其粘贴到 Google Cloud 控制台中(如上文所述)。
  • 将其作为文件存储在本地机器上,并在使用 Google Cloud CLI 创建实例时使用 --metadata-from-file 标志。
  • 将其存储在 Cloud Storage 存储桶中,并在控制台或 gcloud CLI 中指定该对象的网址。

如需详细了解配置启动脚本的替代方法,请参阅 Compute Engine 文档中的运行启动脚本

问题排查

本部分提供了本指南的问题排查建议。

检查 Chrome 远程桌面服务的状态

如果在任何时候 Chrome 远程桌面服务没有响应,您可以使用 SSH 连接到实例并运行以下命令来检查其状态:

sudo systemctl status chrome-remote-desktop@$USER

如果服务正在运行,您会看到包含 active 状态的输出:

chrome-remote-desktop.service - LSB: Chrome Remote Desktop service
    Loaded: loaded (/lib/systemd/system/chrome-remote-desktop@USER.service; enabled; vendor preset: enabled)
    Active: active (running) since DATE_TIME; ELAPSED_TIME

要重启服务,请在 SSH 窗口中使用以下命令:

sudo systemctl restart chrome-remote-desktop@$USER

获取日志和错误信息

Chrome 远程桌面将日志信息写入系统日志:

journalctl SYSLOG_IDENTIFIER=chrome-remote-desktop     # All logs
journalctl SYSLOG_IDENTIFIER=chrome-remote-desktop -e  # Most recent logs
journalctl SYSLOG_IDENTIFIER=chrome-remote-desktop -b  # Logs since reboot

您可以检查这些日志文件,以获取错误消息。

重新启用服务

如果您在客户端应用中错误地停用了与远程实例的连接,您可以按照配置和启动 Chrome 远程桌面服务中的说明重新配置并重新启用服务。

检查全局和特定于用户的会话配置文件。

检查全局 /etc/chrome-remote-desktop-session 配置文件和特定于用户的 ~/.chrome-remote-desktop-session 配置文件的内容,并确认已安装指定的桌面环境。

清除数据

为避免因本教程中使用的资源导致您的 Google Cloud 账号产生费用,请删除包含这些资源的项目,或者保留项目但删除各个资源。

删除项目

为了避免产生费用,最简单的方法是删除您为本教程创建的项目。

要删除项目,请执行以下操作:

  1. 在 Google Cloud 控制台中,进入管理资源页面。

    转到“管理资源”

  2. 在项目列表中,选择要删除的项目,然后点击删除
  3. 在对话框中输入项目 ID,然后点击关闭以删除项目。

删除 Compute Engine 实例

作为删除整个项目的替代方法,您可以删除为本教程创建的虚拟机实例:

  1. 在 Google Cloud 控制台中,转到虚拟机实例页面:

    转到“虚拟机实例”页面

  2. 选中您先前创建的实例名称 (crdhost) 旁边的复选框。

  3. 点击页面顶部的删除按钮:

    删除虚拟机实例。

    删除实例需要一些时间。

取消对实例的 Chrome 远程桌面授权

如果您不想再连接到该虚拟机实例,可以将其停用并从远程设备列表中移除。

  1. 在本地计算机上,前往 Chrome 远程桌面远程设备列表网站。
  2. 点击实例名称 crdhost 旁边的
  3. 点击确定以确认停用远程设备连接。

后续步骤