Pandora: Documentation ja: UX Monitoring
1 自動 UX 監視
1.1 概要
Pandora UX はウェブアクセスや Windows デスクトップアプリケーションの操作を自動的に実行するシステムで、Pandora FMS に実行結果や実行時間の結果をレポートし、エラーのスクリーンショットを表示してより直感的で視覚的なフィードバックを提供します。
Pandora UX は、自動処理のために 2つの技術を使っています。
- Pandora ウェブロボット(PWR): ユーザの動作を再現したウェブナビゲーションを行います。テキストなどのコンテンツをチェックします。フラッシュを使っていないサイトやアプリの監視に適しています。バックグラウンドで素早く実行できるという利点があります。
- Pandora デスクトップロボット(PDR): Windows や Linux でユーザの動作を再現します。より拡張性のある特定の監視をするために、Pandora UX はこのツールを用いて事前に用意したスクリプトを起動します。例えば、プラグインはハードウエアに展開でき、ユーザが使う機能が正しく動作しているかどうかを確認するために、ネットワークへ接続します。主な用途は、重いデスクトップアプリを監視することです。
また、アプリケーションの変更無しで行う、Selenium と互換性のないFlexテクノロジーアプリケーション(adobe)の監視の機能もあります。
すでに、自動的なタスク実行の仕組みがある場合は、Pandora UX は既存のスクリプトを利用しその実行を監視することもできます。
1.2 ウェブ UX (PWR)
1.2.1 PWR の展開
Pandora UX 設定。
1.2.1.1 Windows への Selenium サーバの展開
事前準備:
- サービスを提供するサーバへ Java 1.8 をインストール
- Firefox 47.0.1 (https://ftp.mozilla.org/pub/firefox/releases/47.0.1/ からダウンロード)
- 自動セッションチェックのための Firefox プロファイル(オプション): http://toolsqa.com/selenium-webdriver/custom-firefox-profile/
- ディレクトリの作成
C:\PWR C:\probes
ファイルの展開:
- PWR_Server.zip を C:\PWR\ へ展開
- Firefox プロファイルを C:\PWR\profile へ展開
チェックを実行するためのプロファイルはオプション」ですが、プロキシの利用やパスワードの自動入力を行う場合は必須です。 Firefox のプロファイルを作成するには、次のようにします。
ディレクトリを選択します。
プロキシやポップアップなどのオプションを設定するために、新たなプロファイルで Firefox を起動します。
BAT ファイル service_installer.bat を実行してサービスをインストールし、開始します。
net start PWRSRV
Selenium サーバが起動します。デバッグのために(サービスを中断した時は)手動でも実行できます。 次のコマンドを使います。
java -jar selenium-server-standalone-2.53.0.jar -firefoxProfileTemplate C:\selenium\firefox_profile -port 4444 -v
1.2.1.2 Linux への Selenium サーバの展開
事前準備:
- サービスを提供するサーバへ Java 1.8 をインストール
- Firefox 47.0.1 (https://ftp.mozilla.org/pub/firefox/releases/47.0.1/ からダウンロード)
- 自動セッションチェックのための Firefox プロファイル(オプション): http://toolsqa.com/selenium-webdriver/custom-firefox-profile/
- xorg-x11-server-xvfb と screen のパッケージをインストール
リポジトリから依存パッケージをインストールするは次のようにします。
yum install xorg-x11-server-Xvfb yum install java yum install screen
リポジトリに無い場合は、rpm ファイルは以下から入手できます。 ftp://rpmfind.net/linux/centos/6.9/os/x86_64/Packages/xorg-x11-server-Xvfb-1.17.4-16.el6.centos.x86_64.rpm
rpm パッケージを手動でインストールするには次のようにします。
yum install xorg-x11-server-Xvfb-1.17.4-16.el6.centos.x86_64.rpm
以下のスクリプトで Selenium サーバを起動できます。
#!/bin/sh # Monitoring selenium process if [[ "`ps aux |grep selenium |grep -v grep |grep -v selenium.sh |wc -l `" != "0" ]]; then exit else if [[ "`ps aux |grep Xvfb |grep -v grep | wc -l `" != "0" ]]; then Xvfb :99 -ac & export DISPLAY=:99 fi export DISPLAY=:99 java -jar /home/selenium/selenium-server-standalone-2.53.0.jar & fi
または、手動で以下のコマンドを実行します。
# screen $ Xvjb :99 -ac & -> Press Enter to continue $ export DISPLAY=:99 $ java -jar seleniumXXX.jar & -> Press Ctrl + 'A' and then 'D' to disconnect from the virtual screen
1.2.2 PWR セッションの記録
UX 監視を行う前に、セッションを記録する必要があります。利用する技術に応じて、さまざまは記録オプションがあります。
PWR で操作を記録するには、プラグインモジュールライブラリにある PWR レコーダが必要です。
https://pandorafms.com/library/pandora-ux-and-wux-pwr-recorder/
パッケージには以下が含まれます:
- Firefox バージョン 47.0.1 (https://ftp.mozilla.org/pub/firefox/releases/47.0.1/ から入手可能なファイル)
- Selenium IDE エクステンション (https://addons.mozilla.org/es/firefox/addon/selenium-ide/ から入手可能なファイル)
PWR_recorder.exe を実行します。
レコーダが、あらかじめ構築した環境の Firefox を起動します。
Selenium IDE を起動したら、ウェブ操作を記録できます。
これで、監視するウェブサイトをナビゲートし、各ステップに関連するさまざまなアクションを録画(記録)できます。 記録を停止するには、画面の右上にある以下のボタンをクリックします。
アクションが完了したらページのチェックができます。例えば、正しいページが読み込まれたかをテキストで確認するには、記録中にブラウザウィンドウのテキスト部分を右クリックし、verifyText を選択します:
テキストをチェックするステップが表示されます。
Play entire test suite をクリックすることにより、全体のシーケンスが再現されます。正しく終了するか確認します。
全体のブラウズのシーケンスの確認ができたら、Pandora UX 上で実行できるように保存します(File -> Save Test Case)。出力ファイルは HTML で、Pandora UX はそれを解釈します。
1.2.2.1 Pandora UX PWR でのトランザクションセッションの記録
PWR モード(Pandora ウェブロボット)の Pandora UX は、ブラウザによるそれぞれのステップの監視を複数のモジュールに分割できます。
新たな制御ポイントを挿入しフェーズモジュールを作成するには、フェーズがスタートする部分で右クリックします。
新たなコメントとして、次のような記述を用います。
phase_start:name_of_phase
フェーズには、次のコメントまでのすべてのコマンドのタイミングと結果が含まれます。
phase_end:name_of_phase
phase_start と phase_end の間で実行されるすべてのコマンドが、1つのフェーズに含まれます。
1.2.3 PWR セッションの実行
1.2.3.1 標準実行
あらかじめ記録した PWR セッションを起動するには、pandora_ux_x64.exe を実行し、PWR 動作モードとセッションガイドラインを含んだファイルを選択します。エラーのスクリーンショットが、-folder パラメータで指定された場所に保存されます。
pandora_ux_x64.exe -exe PWR -script tests\std.html –folder C:\probes
次のモジュールが返ります。
- UX_Status_project_name: シーケンスが成功したかどうか
- UX_Time_project_name: シーケンスを完了するのにかかった時間
- UX_Snapshot_project_name: エラーが発生した直前のスクリーンショット
正常実行結果例:
<module> <name><![CDATA[UX_Status_std.html]]></name> <type>generic_proc</type> <data><![CDATA[1]]></data> <description><![CDATA[Test OK]]></description> <tags>UX</tags> <module_group>UX</module_group> </module> <module> <name><![CDATA[UX_Time_std.html]]></name> <type>generic_data</type> <data><![CDATA[16.317]]></data> <description><![CDATA[Test OK]]></description> <tags>UX</tags> <module_group>UX</module_group> <module_parent>UX_Status_std.html</module_parent> </module>
エラー実行結果例:
<module> <name><![CDATA[UX_Status_std.html]]></name> <type>generic_proc</type> <data><![CDATA[0]]></data> <description><![CDATA[Failed to execute verifyText]]></description> <tags>UX</tags> <module_group>UX</module_group> </module> <module> <name><![CDATA[UX_Time_std.html]]></name> <type>generic_data</type> <data><![CDATA[15.463]]></data> <description><![CDATA[Failed to execute verifyText]]></description> <tags>UX</tags> <module_group>UX</module_group> <module_parent>UX_Status_std.html</module_parent> </module> <module> <name><![CDATA[UX_Snapshot_std.html]]></name> <type>async_string</type> <data><![CDATA[data:image/png;base64, iVBORw0KGgoAAAANSUhEUgAA…JRU5ErkJggg==]]></data> <description><![CDATA[Image (last error)]]></description> <tags>UX</tags> <module_group>UX</module_group> <module_parent>UX_Status_std.html</module_parent> </module>
すべて問題なければ、監視を実行するために実行コマンドラインを(マシンにインストール済の) Pandora エージェントに追加できます。例えば以下の通りです。
module_plugin C:\Users\artica\Documents\Producto\UX-Trans\UX\pandora_ux_x64.exe -exe PWR -script C:\Users\artica\Documents\Producto\UX-Trans\PWR\sesion.html -folder C:\probes
エージェントが Pandora FMS サーバへデータを送ると、関連するモジュールが作られます。モジュールの関係を見るには、階層モード を有効にします。
前述の通り、実行結果(成功・失敗)は、UX_Status_session.html モジュールで、所要時間(秒)は、UX_Time_session.html モジュールで、失敗時のスクリーンショット(例では空です)は UX_Snapshot_session.html に保存されます。アラートを設定したり個々のグラフを表示したりするには、これらのモジュールを使います。
1.2.3.2 トランザクションベースの実行
前の章で説明した Pandora UX PWR トランザクションの記録がある場合、各フェーズを特定するのに必要なモジュールはシステムが生成します。これは実行は一つ前と関連性が無いことを意味します。対応する htmlファイル(この場合、異なるフェーズを含む)を指定します。
pandora_ux_x64.exe -exe PWR -script tests\std.html –folder C:\probes
次のモジュールが返されます。
- UX_Time_project_name.phase_order
- UX_Status_project_name.phase_order
フェーズでエラーが返る場合は、次のモジュールが作成されます。
- UX_Snapshot_project_name.phase_order
エラー時のスクリーンショットが表示されます。
全体の状態モジュールが、次のラベルで返されます。
- UX_Global_Time_project_name
- UX_Global_Status_project_name
- UX_Global_Snapshot_project_name
エラー時のスクリーンショットが表示されます。
エージェントの実行コマンド設定は前述の例に似ていますが、フェーズを含む html ファイルがあります。例えば次の通りです。
module_plugin C:\Users\artica\Documents\Producto\UX-Trans\UX\pandora_ux_x64.exe -exe PWR -script C:\Users\artica\Documents\Producto\UX-Trans\PWR\session_phases.html -folder C:\probes
Pandora FMS サーバにデータが届くと、モジュールとして表示されます。情報を見やすくするには、モジュールの 階層モード を有効にします。
トランザクションおよびフェーズの詳細を確認するには、エージェントの UX にアクセスします。
上記のスクリーンショットでは、記録が分割された 2つのフェーズ間の時間差が見られます。
以下の例は、ブラウジングの処理を示しています。我々のウェブサイトで実施されたさまざまな記事の参照と、5つのフェーズに分けた正確な所要時間の測定、改善できる部分やボトルネックが発生している場所を特定します。
1.2.3.3 データ取得
バージョン v1.20171003 の pandora_UX から、ウェブのブラウジング監視中にウェブコンテンツのデータを取得できるようになりました。
この機能を利用するには、Selenium IDE でテストケースにコメントとしていくつかのディレクティブを追加する必要があります。
この例では、監視の実行後に値を取得しています。そして、モジュール(getValue ディレクティブ)として Pandora に追加されます。
値を取得するプラグインを作成するステップは次の通りです。
- Selenium IDE で、テストケースにコメントを追加します。
- ディレクティブをコメントで記載します。
データ取得ディレクティブ:
getValue;モジュール名;モジュールタイプ;データ取得のための正規表現
各フィールドはセミコロンで区切ります。
- getValue: UX システムのディレクティブです。
- モジュール名: Pandora に表示されるモジュール名です。
- モジュールタイプ: Pandora が取り扱えるデータタイプです。(generic_proc,generic_data,generic_data_string,async_proc,async_data,async_string...)
- Perl 正規表現: perl の正規表現です。カッコ内のデータが取得されます。
以下に例を示します。
<p>The temperature of the solar plate is: <span class="temperatura">54º C</span></p>
solar plate の温度を取得したい場合、正規表現を以下のようにします。
<span class="temperatura">(\d+\.*\,*\d*).*</span>
すると、システムは数値 "54"、または小数点以下の任意の数を取得します。
ディレクティブ全体は次のようになります。
getValue;Solar plate temperature;generic_data;<span class="temperatura">(\d+\.*\,*\d*).*</span>
1.3 デスクトップ UX (PDR)
1.3.1 PDR の展開 (Windows のみ)
PDR は Windows でのみ動作するように設計されています。Pandora エージェントで実行されるとき プロセスモード で実行する必要があります。サービスモードでは動作しません。デスクトップセッションのブロックはできませんので、仮想マシンの利用をお勧めします。
事前準備:
- デスクトップモード、自動起動、自動ログインでの Windows OS
設定には以下を実行:
control userpasswords2
"このコンピュータを使うにはユーザ名とパスワードが必要(Users must enter a user name and password to use this computer)" のチェックを外します。
環境設定するには、以下のディレクトリを作成します。
C:\PDR C:\probes
"PDR.zip" ファイルを C:\PDR へ展開します。
レコーダを実行するには以下を実行します。
C:\PDR\pdr.cmd
1.3.2 PDR セッションの記録
事前準備:
- 自動化システムのインストール(pdr.zip を任意のディレクトリへ展開)
- レコーディングシステムを開始(pdr.cmd)
起動したら、レコーディング環境に入ります。
実行するアクションとゾーンを選択します。 最も基本的なものをいくつか挙げます。
一般的なアクション:
フロー制御アクション:
このスクリプト言語の詳細は、http://sikulix-2014.readthedocs.io/en/latest/index.html を参照してください。
プロジェクトが記録されると、次の要素を持つファイルが作成されます。
- 自動実行コードを含んだ .py ファイル
- ウェブブラウザ制御イメージ
実行の簡単な例としては、Windows の電卓が正しく動作するかどうかを確認します。 一度に1つずつスライドさせる方法を見てみましょう。
1. "click" アクションを選択し、アクションをしたいエリアを選択します。画面が "エリア選択" モードに変わります。
2. type アクションとテキスト "calc" を入力し、電卓が表示されるのを待ってクリックします。電卓が操作できるようになったら、次のようにアクションを入力します。
3. 関連する部分クリックし、以前と同様の領域を選択します。
4. 最後に、保存して Run をクリックして実行します。
重要な注意点:
- 記録環境内の任意の画像をダブルクリックすると、クリックする場所を正確に選択するなど、コントロールキャプチャの詳細を調整できます。
- オペレーティングシステムの遅延によって実行が停止しないように、各クリックの間に「待機」アクションを入力することを強くお勧めします。
- レコーダーはスクリーンショットのような領域を探しますので、ボタンがその上に置かれているときに強調表示されているものがあれば特に注意する必要があります(たとえば、カーソルがそれらの上にあるときに電卓のボタンがオレンジ色に変わります)。
記録を保存したフォルダに、python ファイルと画像ファイルがあります。
注意:次のコードを使用して、PDR レコーディングエンジンからによるキャプチャ内容をカスタマイズできます。
## OPTIONAL ##capture file names import shutil file = "C:\probes\screenshot_prueba.sikuli.png" focusWindow = App.focusedWindow() regionImage = capture(focusWindow) shutil.move(regionImage, file)
これは、指定したファイルに、指定した特定の時間のアクティブウインドウのスクリーンショットを作成します。
座標を使用してスクリーンショットをカスタマイズすることができます。次の構文を用います:
capture(x, y, w, h)
ここで、変数は以下の通りです。
X: キャプチャしたい領域の X 軸の位置
Y: キャプチャしたい領域の Y 軸の位置
W: キャプチャしたい幅
H: キャプチャしたい高さ
1.3.2.1 Pandora UX PDR でトランザクションセッションの記録
特別なセッションの記録は必要ありません。異なるスクリプトでセッションを記録するだけです。Pandora UX は、複雑なトランザクションの結果を返し整理します。次の段階では、正しく動作させるための実行の呼び出し方を見ていきます。
トランザクション処理を作成するために複数のレコーディングを行う場合は、記録時に探している要素が存在することに注意する必要があります。 単一のトランザクション処理ごとに、レコーディング内容を手動で実行することをお勧めします。手動で実行してみたあとに、アクションが期待どおりに行われるようにします。
次の例では、上記の例のプロセス次の段階を構成する記録プロセスを確認できます。電卓の結果をメモ帳にペーストします。以下に例を示します。
ここでは、テキストファイルを特定の場所に保存し、前のファイルを上書きするという別の手順を示します。これにより、柔軟性が大幅に向上し、並行してファイルの監視が可能になり、ヘビー級のデスクトップアプリケーションに対するさまざまな情報を扱えます。この 3つ目のシーケンス例は、以下のステップからなります。
1.3.3 PDR セッションの実行
1.3.3.1 標準実行
あらかじめ記録した PDR セッションを起動するには、pdr.cmd ファイルを置いた場所とともに動作モードを指定します。このファイルの引数は "-r"、セッションガイドラインを含むファイル(-script)を指定し、スクリーンショットが保存されるディレクトリ(-folder)の指定は "\"で終了します。
次の実行では、スクリーンショットはアクティブウインドウのみが対象です。
pandora_ux_x64.exe -exe C:\PDR\pdr.cmd -args -r -script C:\pandora_ux\calculadora.sikuli -folder C:\pandora_ux\ -ss_config active
次のモジュールが返されます。
- UX_Time_project_name
- UX_Status_project_name
- UX_Control_Snapshot_project_name (初回の実行時のみ)
フェーズでエラーが発生した場合は、次のモジュールが作成されます。
- UX_Snapshot_project_name
エラー時には、アクティブウインドウの画像が表示されます(-ss_config が有効な場合)。
正常時の実行結果例:
<module> <name><![CDATA[UX_Status_calculadora.sikuli]]></name> <type>generic_proc</type> <data><![CDATA[1]]></data> <description><![CDATA[C:\pandora_ux\calculadora.sikuli execution completed Control snapshot rebuild ]]></description> <tags>UX</tags> <module_group>UX</module_group> </module> <module> <name><![CDATA[UX_Time_calculadora.sikuli]]></name> <type>generic_data</type> <data><![CDATA[20.204]]></data> <description><![CDATA[C:\pandora_ux\calculadora.sikuli execution completed Control snapshot rebuilt ]]></description> <tags>UX</tags> <module_group>UX</module_group> <module_parent>UX_Status_calculadora.sikuli</module_parent> </module> <module> <name><![CDATA[UX_Control_Snapshot_calculadora.sikuli]]></name> <type>async_string</type> <data><![CDATA[data:image/png;base64, IBCAIAAAAOCnfhAAAAAXNSR…/4x79e/7757f8H2C00s1C73yMAAAAASUVORK5CYII=]]></data> <description><![CDATA[Control image rebuilt]]></description> <tags>UX</tags> <module_group>UX</module_group> <module_parent>UX_Status_calculadora.sikuli</module_parent> </module>
エラー時の実行結果例:
<module> <name><![CDATA[UX_Status_std.html]]></name> <type>generic_proc</type> <data><![CDATA[0]]></data> <description><![CDATA[Failed to execute verifyText]]></description> <tags>UX</tags> <module_group>UX</module_group> </module> <module> <name><![CDATA[UX_Time_std.html]]></name> <type>generic_data</type> <data><![CDATA[15.463]]></data> <description><![CDATA[Failed to execute verifyText]]></description> <tags>UX</tags> <module_group>UX</module_group> <module_parent>UX_Status_std.html</module_parent> </module> <module> <name><![CDATA[UX_Snapshot_std.html]]></name> <type>async_string</type> <data><![CDATA[data:image/png;base64, iVBORw0KGgoAAAANSUhEUgAA…JRU5ErkJggg==]]></data> <description><![CDATA[Image (last error)]]></description> <tags>UX</tags> <module_group>UX</module_group> <module_parent>UX_Status_std.html</module_parent> </module>
すべて問題なければ、Windows マシンの Pandora FMS エージェントのプラグインとしてコマンド設定を行います。以下に例を示します。(1行です)
module_plugin C:\Users\artica\Documents\Producto\UX-Trans\ux\pandora_ux_x64.exe -exe C:\PDR\pdr.cmd -args -r -script C:\PDR\calc.sikuli -folder C:\PDR\ -ss_config active -checkpoint -post "taskkill /F /IM calc.exe"
ご覧の通り、実行にはオプションが追加されています。パラメータ --checkpoint は、エラーが無かったとしても最終結果のスクリーンショットを表示します。-post は、セッションの実行が完了した後にアクションを実行します。この場合、ウインドウを多重に開くなどを防ぐために、電卓のプロセスを終了します。
エージェントに module_plugin の設定ができたら、プロセスモードでの起動準備完了です。管理者権限のコマンドラインから以下を実行します。
"C:\Program Files\pandora_agent\PandoraAgent.exe" --process
PandoraAgent.exe の場所はインストールに依存します。
起動すると、どのようにアクションが記録に従って自動的に実行されるかを見ることができます。ここからは、エージェントのプロセスは終了してはいけません。 また、リモートデスクトップで開始したセッションや実行は中断してはいけません。マシンには触れない状態にしておきます。これが、仮想マシンが必要である理由です。
1.3.3.2 トランザクションベースの実行
いろいろな処理が記録され、正しく機能することが確認されたら、PDR で以下を実行します。
C:\Users\artica\Documents\Producto\UX-Trans\ux\pandora_ux_x64.exe -exe C:\PDR\pdr.cmd -args -r -t calculadora_trans -script C:\PDR\calc.sikuli,C:\PDR\savecalc.sikuli,C:\PDR\savefile.sikuli -folder C:\PDR\ -ss_config active
見ての通り、-scrit のパラメータで新たなスクリプトの場所を指定する必要があるだけです。前のスクリプトとはカンマで区切ります。また、-t パラメータですべての異なるフェーズをカバーするトランザクションの名前を指定します。より多くのフェーズがあったとしても設定の考え方は同じです。以下に例を示します。
pandora_ux_x64.exe -exe C:\PDR\pdr.cmd -args -r -t proceso_transaccional -script C:\PDR\script1,C:\PDR\script2,C:\PDR\script3,C:\PDR\script4 -folder C:\PDR\ -ss_config active
次の行をエージェントの設定ファイルに追加します。
module_plugin C:\Users\artica\Documents\Producto\UX-Trans\ux\pandora_ux_x64.exe -exe C:\PDR\pdr.cmd -args -r -t calculadora_trans -script C:\PDR\calc.sikuli,C:\PDR\savecalc.sikuli,C:\PDR\savefile.sikuli -folder C:\PDR\ -ss_config active -checkpoint -post "taskkill /F /IM calc.exe"
-checkpoint パラメータで、それぞれのフェーズの最終スクリーンショットを Pandora コンソールに表示することができます。
フェーズごとに、以下のモジュールが返ります。
- UX_Time_project_name.phase_order
- UX_Status_project_name.phase_order
フェーズでエラーになった場合は、次のモジュールが作成されます。
- UX_Snapshot_project_name.phase_order
エラーの場合は、エラーが発生した時点の画像が表示されます。
次の名前で全体のまとめのモジュールも返されます。
- UX_Global_Time_project_name
- UX_Global_Status_project_name
- UX_Global_Snapshot_project_name
エージェントがプロセスモードで動き、モジュールを Pandora FMS が受け取ると、コンソールで見ることができます。繰り返しになりますが、階層モード で、モジュール間の関係とフェーズ間の区切りがわかりやすく表示されます。
フェーズとタイムチャートの詳細は、トランザクションの画面で見ることができます。
エラーのスクリーンショットは、UX クライアント(PWR)と PWR サーバが共に同じマシンで動作しているときにのみ表示されます。そうでない場合は、Pandora で画像を表示するために、PWR サーバの画像配布ディレクトリがクライアントからアクセスできる必要があります。
同じモジュールを使用して、アラートを作成し、システムの時間経過に伴う変化を表示するために、履歴表示やグラフ生成ができます。
システムを再起動したときなどに実行の中断を避けるために、システムが起動したときに、Pandora エージェントをプロセスモードで起動させるプログラムタスクを作成することと、パスワード無しでマシンへ自動ログインし、エージェントが確実に実行されるようにすることをお勧めします。
これにより、対象の Windows インスタンスでは、マシンが再起動しても Pandora FMS エージェントが常にプロセスモードで実行され、常にPDR プローブによって収集されたデータを送信できることが保証されます。
さまざまなデスクトップシステムでは問題が発生する可能性があります。そのため、前述の設定を使い、デスクトップモードで自動起動を単一のデスクトップ使用することをお勧めします。