在 Virtual Apps and Desktops 上运行 Google Chrome

概述

目前最流行的浏览器之一 Google Chrome 是许多 Citrix Virtual Apps and Desktops 环境的必备工具。Google Chrome 在推出时主要面向消费者和桌面操作系统,但如今,这种情况在企业中很常见,越来越多的管理员在其 Virtual Apps and Desktops 环境中部署此浏览器。这促使 Google 在 2017 年发布了一个新的 Chrome 企业软件包,这个软件包比过去的迭代更容易进行企业部署。要正确安装和配置 Google Chrome 浏览器,您需要注意一些细节。本文向您展示了在组织中成功部署、配置和优化 Google Chrome 的建议步骤。

安装

首先,下载最新版本的 Google Chrome。您可以选择下载企业软件包或独立版本。企业套装包包括 Chrome 浏览器和 Chrome 旧版浏览器的安装程序以及微软组策略模板 (ADMX) 文件。选择 32 位或 64 位版本。下载后提取 ZIP 文件。

注意Chrome 旧版浏览器支持扩展 允许用户在 Chrome 和其他浏览器之间自动切换。当用户单击需要旧版浏览器打开的链接(例如需要 ActiveX 的站点)时,URL 将在 Chrome 的旧版浏览器中自动打开。

要在您的主映像上安装 Google Chrome 浏览器,无论是托管共享还是 VDI,请按照下列步骤操作:

  • 使用 MSI 安装程序安装 Chrome:msiexec.exe /i "C:\GoogleChromeStandaloneEnterprise64.msi" /qn /norestart /l*v "C:\Logs\GoogleChromeStandaloneEnterprise64.log" 如果在 Chrome 无法访问互联网时遇到麻烦,请添加 MSI 参数NOGOOGLEUPDATEPING=1
  • 可选:使用 MSI 安装程序安装 Chrome 旧版浏览器支持扩展:msiexec.exe /i "C:\LegacyBrowserSupport_4.7.0.0_en_x64.msi" /qn /norestart /l*v "C:\Logs\LegacyBrowserSupport_4.7.0.0_en_x64.log"

我们强烈建议您始终使用最新版本的 Google Chrome。至少应使用版本 59,因为从此版本及更高版本起,Chrome 会自动检测它是否在远程桌面环境中运行,并相应地调整其设置。此外,在 Citrix Studio 中发布 Chrome 比以前更容易;您只需发布以下命令行即可:

C:\Program Files (x86)\Google\Chrome\Application\chrome.exe

32 位和 64 位安装的安装目录相同。

不再需要将参数添加–allow-no-sandbox-job –disable-gpu 到命令行中。

但是,Citrix API 挂钩仍然存在问题。谷歌 Chrome 浏览器无法正常启动,你可能不得不从这些挂钩中排除 Chrome 进程 chrome.exe 和 nacl64.exe。Google 文章更详细地将 Chrome 作为虚拟应用程序运行描述了这个问题。Citrix 文章如何在每个应用程序基础上禁用 Citrix API 挂钩提供了有关如何为单个进程(应用程序)禁用钩子的分步说明。请注意,在 XenApp 和 XenDesktop 7.9 及更高版本中,必须在更改 API 钩子配置之后重新启动。

Citrix 文章 Chrome 无法在已发布的桌面中启动 涉及 Chrome 错误,例如 “Aw,Snap!”页面崩溃和灰屏没有任何消息。这些错误的解决方案与上面提到的相同;进程chrome.exenacl64.exe 需要从 Citrix API 挂钩中排除。

配置

使用组策略管理 Google Chrome

Google Chrome 可以使用 Microsoft 组策略进行管理。如前所述,企业捆绑包包括 ADMX 文件。将 ADMX 文件和语言文件 (*.ADML) 复制到中央存储中心以获取组策略管理模板(例如 \\contoso.com\SYSVOL\contoso.com\policies\PolicyDefinitions)。您可以在“计算机配置”\“策略”\“管理模板”\“Google”部分中找到所有与 Chrome 相关的策略。

管理主首选项文件

Google Chrome 带有一个 master_preferences 文件。此文件包含默认 Chrome 设置。管理员可以修改此文件,以确保安装后设置可用。默认情况下,master _首选项文件位于目录中C:\Program Files (x86)\Google\Chrome\Application

单个用户设置存储在名为 首选项的文件中,该文件存储在用户的配置文件中。此首选项文件是在首次使用 Chrome 时创建的。默认情况下,此文件位于目录中C:\Users\%UserName%\AppData\Local\Google\Chrome\User Data\Default

有关更多详细信息,请参阅文配置其他首选项章。

漫游用户设置

Google Chrome 提供了三种漫游用户设置的方式:

  • Google 帐户
  • Chrome 漫游配置文件
  • 漫游配置文件

Google 帐户(首选方法)

您可以创建 Google 帐户,并在所有可信环境和所有可信设备上使用该帐户登录 (登录或退出 Chrome)。

根据文章 常见问题和解决方案,这是首选方法(请参阅“我能否将用户的 Chrome 个人配置文件存储在漫游配置文件中?”)

默认情况下,将存储和同步以下用户特定的设置:

  • 应用程序
  • 自动填充
  • 书签
  • 扩展
  • 历史记录
  • 密码
  • 设置
  • 主题和壁纸
  • 打开标签页
  • 使用 Google Pay 的信用卡和地址

用户可以自定义要同步的设置 (同步您的帐户设置)。

Chrome 漫游配置文件

如果您不能选择使用 Google 帐户同步用户设置,请改为使用 Chrome 漫游配置文件。如文章中所述,书签在漫游用户配置文件中使用 Chrome、自动填充数据、密码、每台计算机浏览历史记录、浏览器首选项和安装的扩展名等设置都可以存储在名为 profile.pb 的文件中。默认情况下,此文件存储在目录中C:\Users\%UserName%\AppData\Roaming\Google\Chrome,但可以更改默认目录。

所有配置文件解决方案(包括 Citrix 配置文件管理C:\Users\%UserName%\AppData\Roaming )都会同步目录%AppData% (=),从而确保文件配置文件也同步。有三种方法可以如何启用配置文件 .pb 文件的创建:

  • 在“用户配置”或“计算机配置”\“策略”\“管理模板”\“Google”\“Google Chrome”中启用组策略设置“启用为 Google Chrome 配置文件数据创建漫游备份”。
  • 在注册表项 HKEY_LOCAL_MACHINE\Software\Policies\Google\ChromeHKEY_CURRENT_USER\Software\Policies\Google\Chrome 中将注册表值 RoamingProfileSupportEnabled 设置为 00000001,如 Chromium.org 上的文章 策略列表 中的 RoamingProfileSupportEnabled 部分中所述。
  • 在 Chrome 快捷方式中将命令行标志-启用本地同步-后端添加到 Chrome.exe 中。有关更多信息,请参阅文章在漫游用户配置文件中使用 Chrome

有三种方法如何更改配置文件 .pb 文件的默认目录:

  • 启用组策略设置在用户或计算机配置\ 策略\ 管理模板\ Google\ Google Chrome 中设置漫游配置文件目录。
  • 将配置文件目录添加到注册表项 HKEY_LOCAL_MACHINE\Software\Policies\Google\ChromeHKEY_CURRENT_USER\Software\Policies\Google\Chrome 中的注册表值 RoamingProfileLocation 中,如 Chromium.org 上的文章 策略列表 中的“RoamingProfileLocation”部分中所述。
  • 在 Chrome 快捷方式中–local-sync-backend-dir=path_to_directory 将命令行标志添加到 Chrome.exe 中。有关更多信息,请参阅文章在漫游用户配置文件中使用 Chrome

漫游配置文件

那么,如果用户没有使用 Google 帐户或 Chrome 漫游配置文件(“profile.pb”)登录,会发生什么情况?在这种情况下,Google Chrome 浏览器会将所有用户数据存储在目录中C:\Users\%UserName%\**AppData\Local**\Google\Chrome\User Data (另请参阅 Chromium 文章用户数据目录 )。默认情况下,Citrix 配置文件管理会同步此目录。

这种方法有其缺点,应谨慎使用。如文章所述常见问题和解决方案,Chrome 用户配置文件不向后兼容。如果您尝试使用不匹配的配置文件和 Chrome 版本,则可能会遇到崩溃或数据丢失。如果 Chrome 配置文件在具有不同版本的 Chrome 的多台计算机上同步到漫游配置文件或网络驱动器,则通常会发生这种不匹配。

简而言之,不要将不同版本的 Chrome 混合到单个漫游配置文件中是很重要的。如果要使用此方法同步用户的设置,请确保为每个环境或设备类型创建单独的漫游配置文件。此方法可以适用于您的组织,但是您自行承担风险。

请注意, Citrix 建议 不包括以下四个子文件夹:

  • !ctx_localappdata!\Google\Chrome\User Data\Default\Cache=
  • !ctx_localappdata!\Google\Chrome\User Data\Default\Cached Theme Images=
  • !ctx_localappdata!\Google\Chrome\User Data\Default\JumpListIcons=
  • !ctx_localappdata!\Google\Chrome\User Data\Default\JumpListIconsOld=

优化

禁用自动更新

在非持久性计算机上,不应允许 Chrome 自动更新。只有在修改或创建主映像或更新应用程序层 (Citrix App Layering) 时才允许安装更新。要禁用自动更新,请按以下步骤操作:

  • 在包含您的高效工作人员的 Active Directory 的组织单位上,禁用计算机配置\ 策略\ 管理模板\ 谷歌\ Google 更新\ 应用程序\ Google Chrome 部分中的组策略设置更新策略覆盖。
  • 禁用以下服务和计划任务(负责自动更新):
  • Google Update Service (gupdate)
  • Google Update Service (gupdatem)
  • GoogleUpdateTaskMachineCore
  • GoogleUpdateTaskMachineUA

禁用活动安装程序

Chrome 还会创建一个活动安装项目。正如 Citrix CTP Helge Klein 解释:“活动安装程序是用于在登录过程中早期每个用户执行命令一次的机制. 活动安装程序由某些操作系统组件(如 Internet Explorer)用于为首次登录的新用户设置初始配置。“ 活动安装程序在登录时通过 explorer.exe 进程运行,这意味着它不适用于已发布的应用程序。通常,我建议完全禁用活动安装程序以缩短用户登录时间。如果您想在用户登录时运行 Chrome Active Setup 命令一次,我建议使用登录脚本,该脚本会自动从 stubpath 注册表值读取命令行并运行该命令。

删除 Chrome 桌面图标

您可以配置的最后一项是删除自动创建的桌面图标。这需要两个步骤:

  • 删除默认指向的目录中%Public%\Desktop的快捷方式文件Google Chrome.lnkC:\Users\Public``。
  • 将以下行添加到 Chrome 的 master _Preferences 文件(前面在 “配置” 部分中进行了解释),以防止为新用户创建快捷方式:
    • "create_all_shortcuts": false,
    • "do_not_create_desktop_shortcut": true,
    • "do_not_create_quick_launch_shortcut": true

内存和 CPU 优化

浏览器可以相当 RAM-和 CPU 密集型,Chrome 也不例外。在本机客户端上,这可能不是什么问题,但是在 Citrix Virtual Apps and Desktops 环境中,(通常)所有工作人员都是虚拟机,共享底层硬件。资源密集型应用程序可降低每个物理主机的最大用户密度。

您是否知道 Chrome 拥有自己的任务管理器,允许您查看每个标签页的资源消耗量?要访问 Chrome 任务管理器,请使用快捷键 SHIFT+ESC 或转到菜单(三个垂直点),然后导航到更多工具\ 任务管理器。任务管理器允许您确定哪些网页消耗的资源最多。

可以减少 Chrome 的内存和 CPU 使用率:

  • 首先,使用 Citrix Workspace Environment Manager (WEM)。该功能CPU 管理内存管理减少许多进程和应用程序的内存和 CPU 利用率,Chrome包括在内。
  • 减少 Chrome 占用空间的另一种方法是使用 Chrome 扩展程序管理标签页以释放系统资源。这些扩展会暂停未使用的选项卡,从而减少内存,(尤其是!CPU 消耗。测试这些插件并使用 Chrome 任务管理器了解每个暂停选项卡的资源消耗是如何显著减少的。
  • 如果物理主机配备了图形处理单元 (GPU),某些处理任务将卸载到 GPU,从而释放 CPU。Citrix CTP Helge Klein 撰写了两篇关于此主题的好文章:GPU 加速对浏览器 CPU 使用率的影响对比:4 个浏览器的 CPU 和 GPU 使用情况

管理 Chrome 扩展

在构建工作人员主映像(无论是托管共享还是 VDI)时,您可能倾向于包含所需的 Google Chrome 扩展。不要!Chrome 扩展可以使用 Microsoft 组策略进行管理和部署。更重要的是,Chrome 扩展是在每个用户的基础上安装的!您无需更新映像即可添加或删除扩展名。如果您通过政策添加许多扩展程序,则应该意识到,这可能会对 Google Chrome 的启动时间产生负面影响。

安装目录是:C:\Users\%UserName%\AppData\Local\Google\Chrome\User Data\Default\Extensions

使用 Citrix Provisioning Server (PVS) 部署映像时,使用 Microsoft 组策略管理扩展也可以使用,而不仅仅是使用计算机创建服务 (MCS)。

有关如何使用 Microsoft 组策略管理 Chrome 扩展的更多详细信息,请参阅文章使用组策略部署 Google Chrome 扩展 ```

在 Virtual Apps and Desktops 上运行 Google Chrome