著者は、 Write for DOnations プログラムの一環として、 Software in the Public Interest(SPI)を選択して寄付を受け取りました。

序章

通常、Linuxベースのサーバーにはグラフィカルユーザーインターフェイス(GUI)がプリインストールされていません。 インスタンスでGUIアプリケーションを実行する場合は常に、仮想ネットワークコンピューティング(VNC)を使用するのが一般的なソリューションです。 残念ながら、VNCは動作が遅く、デフォルトでは安全ではないことで有名であり、起動して実行するには多くの手動構成が必要です。

対照的に、 X2Go は、非常に高速なネットワークを備えた、常時オンライン、リモートアクセス、および拡張が容易なコンピューティングシステムのすべての利点を備えた、機能する「クラウドデスクトップ」を提供します。 また、多くのVNCソリューションよりも応答性と安全性が高くなっています。 このチュートリアルでは、X2Goを使用して、リモートでアクセスできるDebian 10 XFCEデスクトップ環境を作成します。 この「クラウドデスクトップ」には、Debian10とXFCE環境をパーソナルコンピュータにインストールした場合に得られるのとまったく同じユーティリティが含まれています。

このチュートリアルで説明する設定は、次の場合に役立ちます。

  • デスクトップ環境を備えたLinuxベースのオペレーティングシステムにアクセスする必要がありますが、パーソナルコンピュータにインストールすることはできません。
  • 複数の場所で複数のデバイスを使用していて、同じツール、同じ外観、同じファイル、同じパフォーマンスを備えた一貫した作業環境が必要です。
  • インターネットサービスプロバイダーが提供する帯域幅はごくわずかですが、数十ギガバイトまたは数百ギガバイトのデータにアクセスする必要があります。
  • 長時間実行されるジョブにより、ローカルコンピューターが数時間または数日間使用できなくなります。 非常に大規模なプロジェクトをコンパイルする必要があり、ラップトップで8時間かかると想像してください。 プロジェクトのコンパイル中は、映画を見たり、リソースを大量に消費するようなことはできなくなります。 しかし、サーバーでそのようなジョブを実行すると、コンピューターは他のタスクを自由に実行できるようになります。
  • あなたはチームと協力しており、プロジェクトで共同作業を行うためにアクセスできる共通のコンピューターを持っていることはチームにとってメリットがあります。

前提条件

このチュートリアルを開始する前に、次のものが必要です。

  • 2GB以上のRAMを搭載したDebian10x64インスタンス。 2GBは最小限であり、実行する予定のメモリを大量に消費するアプリケーションがある場合は、4GB以上のサーバーを使用することをお勧めします。 必要に応じて、 DigitalOceanDropletを使用できます。

  • のユーザー sudo 特権とSSHキー。 開始するには、次のガイドに従ってください:Debian10を使用したサーバーの初期設定。 手順4を完了し、OpenSSHを除くすべての接続を制限するようにファイアウォールを構成してください。

ステップ1—デスクトップ環境のインストール

サーバーを起動し、ファイアウォールを構成すると、X2Goサーバーのグラフィカル環境をインストールする準備が整います。

このチュートリアルでは、デスクトップ環境としてXFCEをインストールします。 XFCEは、合成のような派手なグラフィック効果を使用しないため、X2Goとの互換性が高まり、画面の更新を最適化できます。 参考のため、 LXDEMATE (合成を無効にした場合)も正常に機能しますが、デスクトップ環境をインストールするこのチュートリアルのコマンドを変更する必要があります。 たとえば、代わりに sudo apt-get install xfce4 あなたはタイプします sudo apt-get install lxde.

XFCEを簡単にインストールする方法は2つありますが、必要なのは 1つ、つまり最小デスクトップ環境またはフルデスクトップ環境のいずれかを選択することだけです。

フルデスクトップ環境:推奨。 必要なすべてのコンポーネントを厳選するのではなく、ワードプロセッサ、Webブラウザ、電子メールクライアント、その他のアクセサリなどのデフォルトのパッケージセットをプリインストールしたい場合は、次を選択できます。 task-xfce-desktop.

フルデスクトップ環境をインストールして構成します。 これは、起動可能なDVD/USBメモリスティックからローカルPCにDebianをインストールした場合に得られるものと似ています。

  1. sudo apt-get install task-xfce-desktop

最小限のデスクトップ環境:または、パッケージの小さなコアセットをインストールし、後で必要なものを手動で追加してそれらの上に構築する場合は、 xfce4 メタパッケージ

メタパッケージには独自のソフトウェアは含まれていません。インストールする他のパッケージに依存するだけなので、コマンドラインで各パッケージ名を個別に入力しなくても、パッケージのコレクション全体を一度にインストールできます。

インストール xfce4 そしてそれをサポートするために必要なすべての追加の依存関係:

  1. sudo apt-get install xfce4

グラフィカル環境がインストールされたので、リモートで表示する方法を確立します。

ステップ2—サーバーへのX2Goのインストール

X2Goには、リモートマシンでグラフィカルセッションを開始および管理するサーバーと、リモートデスクトップまたはアプリケーションを表示および制御するためにローカルコンピューターにインストールするクライアントの2つの主要コンポーネントが付属しています。

以前のバージョンのDebianでは、 x2goserver デフォルトのリポジトリには含まれていなかったため、ソフトウェアパッケージを入手するには、これらののような手順に従う必要があります。 パッケージがDebianの将来のバージョンで削除された場合に備えて、参考のためにここにリンクを残しておきます。 幸い、コード名BusterのDebian 10には、デフォルトのリポジトリに必要なパッケージが含まれているため、インストールが少し簡単になります。

サーバーにX2Goをインストールするには、次のコマンドを入力します。

  1. sudo apt-get install x2goserver x2goserver-xsession

この時点で、サーバーでこれ以上のセットアップは必要ありません。 ただし、SSHパスワード認証が無効になっているため、セキュリティを強化するために、ログイン元のすべてのマシンでSSH秘密鍵を使用できるようにする必要があることに注意してください。 これは、前提条件にリストされている Debian 10を使用した初期サーバーセットアップチュートリアルで、SSHキーのセットアップの推奨事項に従った場合に当てはまります。 そうしなかった場合でも、パスワードを使用してログインできますが、強力なパスワードを選択してください。

RAMが不足すると、一部のアプリケーションがLinuxカーネルによって突然終了し、進行中の作業が失われる可能性があることに注意してください。 DigitalOcean Dropletを使用していて、プログラムでより多くのRAMが必要であることに気付いた場合は、Dropletの電源を一時的にオフにして、アップグレード(サイズ変更)をより多くのメモリを備えたものにアップグレードできます。

これでサーバーのセットアップが完了し、次のように入力できます exit またはターミナルウィンドウを閉じます。 残りの手順では、ローカルマシンでのクライアントの構成に焦点を当てます。

ステップ3—X2Goクライアントをローカルにインストールする

X2Goは箱から出してすぐに使用できます。 ローカルマシンでWindowsまたはMacを使用している場合は、X2Goクライアントソフトウェアここをダウンロードできます。 DebianまたはUbuntuを使用している場合は、次のコマンドを使用してX2Goクライアントをローカルマシンにインストールできます。

  1. sudo apt-get install x2goclient

ソフトウェアをダウンロードしたら、インストールする準備が整います。 インストーラーを開き、希望する言語を選択します。 次に、ライセンスに同意し、ウィザードに残りの手順を案内させます。 通常、これらの手順で事前に入力されたデフォルト値を変更する理由はありません。

X2Goは箱から出してすぐに機能しますが、高度にカスタマイズすることもできます。 追加情報が必要な場合は、X2Goの公式ドキュメントにアクセスしてください。

デスクトップクライアントがインストールされたので、その設定を構成し、X2Goサーバーに接続してリモートXFCEデスクトップを使用できます。

ステップ4—リモートデスクトップへの接続

X2Goクライアントを最初に開くと、次のウィンドウが表示されます。 そうでない場合は、左上のメニューでセッションをクリックし、新しいセッション…を選択します。

セッション名フィールドに、サーバーを区別するのに役立つ情報を入力します。 これは、複数のマシンに接続することを計画している場合に特に役立ちます。

サーバーの下のホストフィールドにサーバーのIPアドレスまたはホスト名を入力します。

ログインフィールドにSSH接続に使用したユーザー名を入力します。

また、ステップ2でXFCEをインストールしたので、 XFCE セッションタイプとして。

最後に、SSHキーを使用してサーバーに接続しているため、ssh接続にRSA/ DSAキーを使用の横にあるフォルダーアイコンをクリックして、秘密キーを参照します。 より安全なSSHキーを使用することを選択しなかった場合は、これを空のままにしておくと、ログインするたびにX2Goクライアントがパスワードを要求します。

今のところ、残りのデフォルト設定で十分ですが、ソフトウェアに慣れてくると、個々の設定に基づいてクライアントを微調整できます。

OK ボタンを押した後、ボックスの右上にセッション名が含まれている白いボックスをクリックして、グラフィカルセッションを開始できます。

ローカルマシンでOSXを実行している場合、X11を実行するために必要なxquartzをインストールするように求められる場合があります。 その場合は、指示に従って今すぐインストールしてください。

数秒で、リモートデスクトップが表示され、操作を開始できます。 最初のログイン時に、XFCEはデフォルトの設定または1つの空のパネルを使用するかどうかを尋ねます。 最初のオプションでは、画面の下部にドッキングされた長方形のパネルが作成され、いくつかの便利なアプリケーションショートカットが含まれます(例: ファイルマネージャ、ターミナルエミュレータ、ブラウザなど)。 このオプションは、アプリケーションランチャー、時計、シャットダウンメニューなどのユーティリティを含むトップパネルもデスクトップに追加します。

XFCEに既に精通している場合を除き、空のパネルを選択することは、最初から始めるため、より複雑になる可能性があります。 タスクバー、時計、および事前構成されたスタートメニューはありません。 空のパネルにすべてを自分で追加するのはあなた次第です。

さらに、WindowsおよびLinuxベースのオペレーティングシステムでは、エクスペリエンスを向上させるために使用できる便利なキーボードショートカットがいくつかあります。

CTRL+ALT+F フルスクリーンモードのオンとオフを切り替えます。 フルスクリーンモードでの作業は、ローカルデスクトップエクスペリエンスのように感じることができます。 さらに、他のキーボードショートカットは、ローカルOSではなくリモートOSによって取得されます。

CTRL+ALT+M フルスクリーンモードの場合でも、リモートビューを最小限に抑えます

CTRL+ALT+T セッションから切断されますが、GUIはサーバー上で実行されたままになります。 これは、サーバー上のアプリケーションをログオフしたり閉じたりせずに切断するための簡単な方法です。 ウィンドウの閉じるボタンをクリックしても同じことが起こります。

最後に、リモートセッションを終了し、そこで実行されているすべてのグラフィカルプログラムを閉じるには2つの方法があります。 XFCEのスタートメニューからリモートでログオフするか、主要部分の右下隅にある円と小さな線(電源/スタンバイアイコンなど)でマークされたボタンをクリックすることができます。 X2Go画面。

最初の方法はよりクリーンですが、セッション管理ソフトウェアなどのプログラムを実行したままにする場合があります。 2番目の方法はすべてを閉じますが、プロセスが正常に終了できない場合は強制的に閉じる可能性があります。 いずれの場合も、先に進む前に必ず作業内容を保存してください。

最後に、必須ではありませんが、XFCEのコントロールパネルに移動し、電源設定に移動して、すべてのスタンバイ機能を無効にします。 デスクトップをしばらく使用しない場合、XFCEはスタンバイをトリガーしようとします。 サーバーは通常、この要求を受信しても何もしませんが、予期しない動作を完全に回避することをお勧めします。

アプリケーションメニュー、設定の順に移動すると、パワーマネージャーを開くことができます。

このアプリケーションでは、システムタブに移動し、非アクティブ時スライダーを左端までドラッグします。 このスライダーの下にNeverというテキストが表示されます。これは、XFCEがシステムをしばらく非アクティブにした後、システムをスタンバイ状態にしようとしないことを意味します。

これで、リモートデスクトップへのアクセスと構成が正常に完了しました。

結論

このチュートリアルでは、X2Goを使用して、Debianオペレーティングシステム用の堅牢なリモートGUI環境を作成しました。 このデスクトップの使用方法に関するいくつかの追加のアイデアがあります。 gitリポジトリの作成、NetBeansやEclipseなどのIDE /コードエディタのインストール、またはWebアプリケーションのテスト用のWebサーバーの構成によって開発作業を一元化できます。 また、優れたバックアップスキームを使用してリモートデスクトップを拡張し、問題が発生した場合に備えて、作業環境と重要なデータが安全に保存されるようにすることもできます。 DigitalOceanを使用すると、特定の設定に満足したときに、ドロップレットをスナップショットすることもできます。 このようにして、危険な変更をテストし、何かを壊した場合に備えて、常に既知の良好な状態に戻ることができます。

詳細については、X2Goの公式ドキュメントWebサイトにアクセスしてください。