Ubuntu サーバーを備えた Amazon EC2 インスタンス上の永続的なデスクトップ

Ubuntu サーバーを備えた Amazon EC2 インスタンス上の永続的なデスクトップ

Amazon の Ubuntu 14.04 サーバー インスタンスでプログラムを実行しようとしていますが、GUI が必要です。Lunbuntu をインストールし、x2go を使用してデスクトップを表示できますが、インターネット接続に問題が発生するとすぐに、x2go の接続が切断され、デスクトップ環境がシャットダウンするようです (プログラムもシャットダウンします)。

デスクトップをインスタンス上で常に実行し、x2go を使用してアクセスして (接続時に作成されるのではなく)、接続が失われてもデスクトップが実行される方法はありますか? EC2 で実行する主なポイントは、不安定な接続に対して安定性を高めることです。

この問題について何時間もかけて大量の資料を読み、DISPLAY および xauth ファイルを設定するためのさまざまな解決策を試しましたが、うまくいかないようです。そもそもできるのでしょうか?

答え1

はい。2つのオプションがあります。

  1. 時々デスクトップにアクセスする必要がある場合は、次を使用しますvncserver

    sudo apt-get install tightvncserver
    

    注: 他にも実装はありますが、これは問題なく動作します。インストールしたら、実行します。

    vncserver :1
    

    初めて実行すると、デスクトップにアクセスするためのパスワードが求められます。パスワードを選択してください。これで、任意の VNC クライアントを使用してアクセスできるようになります。注記: VNC プロトコルは暗号化されていません。何らかの暗号化 (SSH ポート転送、VPN など) でトンネルし、そのポート (この例ではポート 5901) をファイアウォールで遮断する必要があります。

  2. GUI にアクセスする必要がなく、実行するだけでよい場合は、セッションxvfb内で使用できますscreen

    sudo apt-get install screen xvfb
    screen xvfb-run your_application
    

    これにより、スクリーン セッションが開始され、xvfb が開始され、アプリケーションが起動します。は、何かを開始し、切断し、後で再接続できるようにするプログラムです。切断は、 - 、(つまり、コントロールと a を押したまま)screenによって行われます。ctrlad両方をリリースする、d を押します)、再接続は で行われますscreen -r

    xvfb-runXvfbは、"X for Virtual Framebuffer" の略である を起動するスクリプトです。X11 プロトコルを話しますが、ほとんど何もしません。アプリケーションがその X サーバーに送信したものは、どの画面にも表示されません。ただし、これは X サーバーであることに変わりはありません。これを使用するには、いくつかの環境変数を設定し、Xauthority魔法をかける必要があります。xvfb-runが存在するので、手動で行う必要はありません。最後に、すべての設定が完了したら、xvfb-runアプリケーションを起動し、Xvfbグラフィックス用に に接続し、標準出力用にアプリケーションを起動した端末 (この場合は画面セッション) に接続します。アプリケーションが X サーバーから切断されると、Xvfb(ひいては もxvfb-run) は終了します。

変更ができないためXvfb、必要なリソースが少なくなり、速度も速くなる可能性があります。ただし、GUI にアクセスする必要がある場合は、このオプションは使用できません。

関連情報