Amazonのubuntu 14.04サーバーインスタンスでプログラムを実行しようとしている場合は、GUIが必要です。 lunbuntuをインストールしてx2goを使用してデスクトップを表示できますが、インターネット接続に問題が発生するとすぐにx2goが切断され、デスクトップ環境が(私のプログラムで)終了するようです。
接続が切断されてもデスクトップを実行できるように、インスタンスで常にデスクトップを実行し、x2goを使用して(接続時に作成するのではなく)アクセスする方法はありますか? EC2 で実行する重要な点は、複雑な接続ではなく安定性を向上させることです。
DISPLAYファイルとxauthファイルを設定するためにさまざまなソリューションを何時間も読み込もうとした後も正しく機能しないようです。まだできますか?
答え1
確かに。 2つのオプションがあります。
時々デスクトップにアクセスする必要がある場合は、以下を使用してください
vncserver
。sudo apt-get install tightvncserver
注:他の実装もありますが、この方法は正しく機能します。インストール後、次を実行します。
vncserver :1
初めて実行すると、デスクトップにアクセスするためのパスワードの入力を求められます。 1つを選択してください。これで、VNCクライアントを使用してアクセスできます。ノート:VNCプロトコルは暗号化されません。一種の暗号化(SSHポート転送、VPNなど)を介してトンネリングし、ファイアウォールを介してそのポート(この場合はポート5901)を分離する必要があります。
GUIにアクセスする必要がなく実行する必要がある場合は、セッション
xvfb
で次のものを使用できます。screen
sudo apt-get install screen xvfb screen xvfb-run your_application
これにより、xvfbとアプリケーションが起動するスクリーンセッションが開始されます。
screen
作業を開始し、後で接続を切断して再接続できるプログラムです。切断はctrl
- を介して行われますa
(d
つまり、制御を維持し、両方とも解いて、d)を押すと経由で再接続されますscreen -r
。xvfb-run
Xvfb
「X for Virtual Framebuffer」の略語である起動スクリプトです。 X11プロトコルを使用しますが、アプリケーションがXサーバーに送信するすべての操作は画面に表示されません。しかし、まだXサーバーです。これを使用するには、いくつかの環境変数を設定し、いくつかのXauthority
魔法を実行する必要があります。xvfb-run
存在するため、これを手動で実行する必要はありません。最後に、すべてが設定されたら、xvfb-run
アプリケーションを起動し、それを起動Xvfb
したグラフィックスと端末(この場合はスクリーンセッション)に接続して標準出力を取得します。アプリケーションがXサーバーから切断されるたびに、アプリケーションXvfb
(拡張xvfb-run
)が終了します。
Xvfb
コンテンツの変更は許可されていないため、リソースが少なくてすみ、速度が速くなる可能性があります。ただし、GUIにアクセスする必要がある場合、これはオプションではありません。