リモートデスクトップ接続を必要とせずにGUIを実行

リモートデスクトップ接続を必要とせずにGUIを実行

建てる: Ubuntu Mate デスクトップ インターフェイスを備えたデータ センター内の Ubuntu 18.04 を搭載したサーバー。

私の理解では、どの GUI アプリも機能するためのディスプレイが必要です。x2go を使用して ssh 経由でサーバーに接続し、ubuntu mate インターフェイスを表示します。接続したら、ターミナル、GUI、およびいくつかのコマンドを起動する cron ジョブをスケジュールします。

以前にユーザーとして使用しているディスプレイを検出し、それを指定してターミナルとコマンドを起動したので、すべてが完璧に動作します。

問題: x2go クライアント経由でサーバーに接続しておらず、そのディスプレイを提供していない場合、cron ジョブが特定の時間 (08:50) に起動しなかったことに今日気付きました。これは、x2go クライアント接続 (09:23) の前のことです。デスクトップから x2go クライアント接続を手動で実行したときに起動しただけです。私の理解では、利用可能なディスプレイがなかったために起動しなかったようです。

この問題をさらに深く調べるには、私には技術的知識が足りません。

デスクトップに手動でアクセスしてリモート デスクトップ クライアント (x2go) を起動しなくても、cron スクリプトを機能させる (つまり、ターミナルと GUI を起動する) 方法はありますか?

私のアイデアは、そのデータ センターに別の最小限のセットアップを用意するか、そのデータ センターの利点を生かして、メイン サーバーに常時接続された物理モニターを表示するか、または毎日 x2go 経由で手動でサーバーにアクセスすることです。

編集: x2goクライアントセッションをサーバーから切断すると、「セッションを終了してディスプレイを消去しました」という理由で消えることなく、起動したGUIなどが完璧に維持されます。

答え1

セッションと の処理x2go方法を理解した後、創設者の 1 人 (Oleksandr Shneyder)の多大な支援を受けて、最終的に動作するようになりました。x2goX server

セッションは一時停止/休止状態、切断、終了することができます。

一時停止/休止状態:x2goリソースを節約するために、サーバー側が「手動」または自動で一時停止する場合。

切断されました:セッション ウィンドウとx2goデスクトップ/ラップトップのクライアントを終了するとき。

終了しました:DE 環境からログアウトするか、x2goterminate-sessionセッション内のターミナルでコマンドを発行するとき。

私のx2goアプリは何らかの理由でサーバーでサスペンド モードに入り、スケジュールされた cronjob を実行して GUI を起動する必要があるディスプレイ (私の場合は 50) が、アプリ経由でセッションに入るまで「起動しませんでした」。その瞬間、cronjob の実行が開始されました。

x2goサーバーに休止状態にならないようにするX2GO_NXOPTIONS/etc/x2go/x2goagent.optionsは、X2GO_NXOPTIONS="sleep=0"

その後、サーバー内のすべてが完璧に機能します。

他の人の役に立つことを願います。

関連情報