テックペーパー:Google Chrome のデプロイ
概要
今日最も人気のあるブラウザの1つであるGoogle Chromeは、多くのCitrix Virtual Apps and Desktops 環境にとって必須です。Google Chromeは、起動時に主にコンシューマーとデスクトップオペレーティングシステムを対象としていましたが、今日ではエンタープライズでは一般的であり、Virtual Apps and Desktops 環境にこのブラウザを展開する管理者が増えています。これにより、Google は 2017 年に新しい Chrome エンタープライズバンドルパッケージをリリースしました。これは、過去の反復よりもエンタープライズ展開の方がはるかに優れています。Google Chromeを適切にインストールして設定するには、注意する必要があるいくつかの詳細があります。この記事では、組織での Google Chrome の展開、構成、および最適化を成功させるための推奨手順について説明します。
インストール
まず、 Google Chromeの最新バージョンをダウンロードします。エンタープライズバンドルまたはスタンドアロンバージョンのどちらをダウンロードするかを選択できます。エンタープライズバンドルには、Chrome ブラウザーと Chrome レガシーブラウザー用のインストーラー、および Microsoft グループポリシーテンプレート (ADMX) ファイルが含まれています。32 ビットバージョンまたは 64 ビットバージョンを選択します。ダウンロード後に ZIP ファイルを解凍します。
注:Chrome レガシーブラウザサポート拡張機能を使用すると 、ユーザーは Chrome と別のブラウザを自動的に切り替えることができます。ユーザーが、従来のブラウザを開く必要があるリンク (ActiveX を必要とするサイトなど) をクリックすると、その URL は Chrome から従来のブラウザに自動的に開きます。
ホスト共有でも VDI でも、マスターイメージに Google Chrome をインストールするには、次の手順に従います。
- 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フックには問題が残っています。Google Chromeは正常に起動できず、これらのフックからChromeプロセスの chrome.exe と nacl64.exe を除外する必要があります。Googleの記事「 Chromeを仮想アプリケーションとして実行する 」では、この問題について詳しく説明しています。Citrixの記事「 アプリケーションごとにCitrix APIフックを無効にする方法 」では、個々のプロセス(アプリケーション)のフックを無効にする手順を段階的に説明しています。XenAppおよびXenDesktop バージョン7.9以降では、APIフック構成の変更後に再起動する必要があります。
Citrix の記事「 Chromeが公開デスクトップで起動しない 」と、「Aw、Snap!」などのChromeエラーが処理されるページがクラッシュし、メッセージが表示されない灰色の画面。これらのエラーの解決方法は、上記の手順と同じです。Citrix APIフックからプロセスchrome.exe
とプロセスnacl64.exe
を除外する必要があります。
構成
グループポリシーを使用して Google Chrome を管理する
Google Chrome は、Microsoftソフトのグループポリシーを使用して管理できます。前述のように、エンタープライズバンドルには ADMX ファイルが含まれています。グループポリシー管理用テンプレート (\\contoso.com\SYSVOL\contoso.com\policies\PolicyDefinitions
など) の中央ストアに ADMX ファイルと言語ファイル (*.ADML) をコピーします。Chrome に関連するすべてのポリシーは、[コンピューターの構成\ ポリシー\ 管理用テンプレート\ Google] セクションにあります。
マスター環境設定ファイルを管理する
Google Chromeには、 master_preferencesファイルが付属しています。このファイルには、デフォルトの Chrome 設定が含まれています。管理者は、このファイルを変更して、インストール後に設定を使用できるようにすることができます。デフォルトでは、master_Preferences ファイルはディレクトリC:\Program Files (x86)\Google\Chrome\Application
にあります。
個々のユーザ設定は、 環境設定と呼ばれるファイルに保存され、ユーザーのプロファイルに保存されます。この環境設定ファイルは、Chrome を初めて使用して作成されます。デフォルトでは、このファイルはディレクトリC:\Users\%UserName%\AppData\Local\Google\Chrome\User Data\Default
にあります。
詳細については、「 その他の環境設定 」の記事を参照してください。
ローミングユーザー設定
Google Chrome では、ユーザー設定をローミングする方法が 3 つあります。
- グーグルアカウント
- Chrome ローミングプロファイル
- 移動プロファイル
Google アカウント (推奨方法)
Google アカウントを作成して、信頼できるすべての環境とすべての信頼できるデバイス(Chrome へのログインまたはログアウト)でログインできます。
これは、記事「 一般的な問題と解決策 」によると推奨される方法です(「ユーザーの Chrome プロファイルを移動プロファイルに保存できますか?」セクションを参照)
既定では、次のユーザー固有の設定が保存され、同期されます。
- アプリ
- オートフィル
- ブックマーク
- 拡張機能
- 履歴
- パスワード
- 設定
- テーマと壁紙
- タブを開く
- Google Pay を使用するクレジットカードと住所
ユーザーは、同期する設定をカスタマイズできます(アカウント設定を同期します)。
Chrome ローミングプロファイル
Google アカウントを使用してユーザー設定を同期できない場合は、代わりに Chrome ローミングプロファイルを使用してください。「 ローミングユーザープロファイルでChromeを使用する」で説明されているように、ブックマーク、自動入力データ、パスワード、コンピューターごとの閲覧履歴、ブラウザー設定、インストールされている拡張機能などの設定は、profile.pbというファイルに保存できます。デフォルトでは、このファイルはディレクトリC:\Users\%UserName%\AppData\Roaming\Google\Chrome
に格納されますが、デフォルトのディレクトリは変更できます。
Citrix Profile Managementを含むすべてのプロファイルソリューションは、ディレクトリ C:\Users\%UserName%\AppData\Roaming
(= %AppData%
)を同期するため、profile.pbファイルも確実に同期されます。profile.pb ファイルの作成を有効にするには、次の 3 つの方法があります。
- グループポリシー設定 [ユーザーまたはコンピューターの構成ポリシー管理用テンプレート Google Chrome で Google Chrome プロファイルデータのローミングコピーの作成を有効にする] を有効にします。
- レジストリキー
HKEY_LOCAL_MACHINE\Software\Policies\Google\Chrome
またはHKEY_CURRENT_USER\Software\Policies\Google\Chrome
でレジストリ値RoamingProfileSupportEnabledを00000001に設定するか、 Chromium.orgの記事ポリシーリストのRoamingProfileSupportEnabledセクションで説明されているように設定します 。 - コマンドラインフラグ —enable-local-sync-backend を Chrome ショートカットの Chrome.exe に追加します。詳細については、「 移動ユーザープロファイルで Chrome を使用する 」の記事を参照してください。
profile.pb ファイルのデフォルトディレクトリを変更するには、次の 3 つの方法があります。
- グループポリシー設定を有効にするユーザーまたはコンピューターの構成\ ポリシー\ 管理用テンプレート\ Google\ Google Chrome で、移動プロファイルディレクトリを設定します。
- プロファイルディレクトリをレジストリキー
HKEY_LOCAL_MACHINE\Software\Policies\Google\Chrome
またはHKEY_CURRENT_USER\Software\Policies\Google\Chrome
のレジストリ値 RoamingProfileLocation に追加するか 、Chromium.org の記事ポリシーリストの RoamingProfileLocation セクションの説明に従って追加します。 - Chromeのショートカットで Chrome.exe にコマンドラインフラグ
–local-sync-backend-dir=path_to_directory
を追加します。詳細については、「 移動ユーザープロファイルで Chrome を使用する 」の記事を参照してください。
移動プロファイル
したがって、ユーザーがGoogleアカウントでログインしていない場合や、Chromeローミングプロファイル(「profile.pb」)が設定されていない場合はどうなりますか? このような場合、Google Chrome はすべてのユーザーデータをディレクトリC:\Users\%UserName%\**AppData\Local**\Google\Chrome\User Data
に保存します (Chromium の記事「 ユーザーデータディレクトリ」も参照)。このディレクトリは、デフォルトでCitrix Profile Managementによって同期されます。
この方法には欠点があり、慎重に使用する必要があります。記事「 一般的な問題と解決策」に記載されているように、Chrome ユーザープロファイルには下位互換性がありません。不一致のプロファイルと Chrome バージョンを使用しようとすると、クラッシュやデータの損失が発生する可能性があります。この不一致は、Chrome のバージョンが異なる複数のコンピューター間で移動プロファイルまたはネットワークドライブに Chrome プロファイルが同期されている場合によく発生します。
要するに、異なるバージョンのChromeを1つのローミングプロファイルに混在させないようにすることが重要です。この方法を使用してユーザーの設定を同期する場合は、環境またはデバイスの種類ごとに個別の移動プロファイルを作成してください。この方法は組織でも機能しますが、自己責任で行ってください。
Citrix では、次の4つのサブフォルダーを除外することをお勧めします 。
!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)にのみ許可する必要があります。自動更新を無効にするには、次の手順に従います。
- [コンピューターの構成\ ポリシー\ 管理用テンプレート\ Google 更新\ アプリケーション\ Google Chrome] セクションの [グループポリシーの更新ポリシーの優先設定] を、生産的なワーカーを含む Active Directory の組織ユニット上で無効にします。
- 次のサービスとスケジュールされたタスク(自動更新を担当)を無効にします。
- Google アップデートサービス (gupdate)
- Google アップデートサービス (gupdatem)
- GoogleUpdateTaskMachineCore
- GoogleUpdateTaskMachineUA
アクティブセットアップを無効にする
Chrome では、アクティブなセットアップ項目も作成されます。Citrix CTP Helge Kleinによって説明されているように、 「アクティブセットアップは、ログオン時にユーザーごとにコマンドを1回実行するメカニズムです。アクティブなセットアップは、Internet Explorer などの一部のオペレーティングシステムコンポーネントで使用され、初めてログオンする新しいユーザーの初期構成をセットアップします。」アクティブセットアップは、explorer.exe プロセスによってログオン時に実行されます。つまり、公開アプリケーションでは動作しません。原則として、ユーザーのログオン時間を短縮するために、アクティブセットアップを完全に無効にすることをお勧めします。ユーザーログオン時にChrome Active Setupコマンドを1回実行する場合は、stubpathレジストリ値からコマンドラインを自動的に読み込んでコマンドを実行するログオンスクリプトを使用することをお勧めします。
Chrome デスクトップアイコンを削除する
構成できる最後の項目の 1 つは、自動的に作成されたデスクトップアイコンを削除することです。これには次の 2 つの手順が必要です。
- デフォルトでは
C:\Users\Public
が指すディレクトリ%Public%\Desktop
にあるショートカットファイルGoogle Chrome.lnk
を削除します。 - 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を使用するか、メニュー(3つの垂直ドット)に移動し、[その他のツール]\ [タスクマネージャ] に移動します。タスクマネージャを使用すると、リソースを最も多く消費する Web ページを特定できます。
ChromeのメモリとCPU使用率を減らすことは可能です:
- まず、Citrix Workspace Environment Manager(WEM)を使用します。 [CPU管理とメモリ管理機能は](/ja-jp/workspace-environment-management/current-release/user-interface-description/system-optimization/memory-management.html) 、Chromeを含め、多くのプロセスとアプリケーションのメモリとCPUの使用率を削減します。
- Chrome のフットプリントを減らすもう 1 つの方法は、Chrome 拡張機能を使用してタブを管理してシステムリソースを解放することです。これらの拡張機能は、未使用のタブを一時停止し、メモリを減らし、(特に!)CPU 消費。これらのプラグインをテストし、Chromeタスクマネージャを使用して、中断された各タブのリソース消費が大幅に削減されるかを確認します。
- 物理ホストにグラフィックスプロセッシングユニット (GPU) が搭載されている場合、特定の処理タスクが GPU にオフロードされるため、CPU が解放されます。Citrix CTP Helge Kleinは、このトピックに関する2つの優れた記事を書いています。 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
Microsoftグループポリシーを使用して拡張機能を管理すると、マシン作成サービス(MCS)だけでなく、Citrix Provisioningサーバー(PVS)を使用してイメージを展開する場合にも機能します。
Microsoft グループポリシーを使用して Chrome 拡張機能を管理する方法の詳細については、「グループポリシーを使用して Google Chrome 拡張機能を展開する」を参照してください。