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

序章

通常、Linuxベースのサーバーにはグラフィカルユーザーインターフェイス(GUI)がプリインストールされていません。 インスタンスでGUIアプリケーションを実行する場合は常に、仮想ネットワークコンピューティング(VNC)を使用するのが一般的なソリューションです。 残念ながら、VNCソリューションは動作が遅く安全でない可能性があります。 多くはまた、多くの手動構成を必要とします。 対照的に、 X2Go は、高速ネットワークを備えた、常時オンライン、リモートアクセス、および拡張が容易なコンピューティングシステムのすべての利点を備えた、機能する「クラウドデスクトップ」を提供します。 また、多くのVNCソリューションよりも応答性と安全性が高くなっています。

このチュートリアルでは、X2Goを使用して、リモートでアクセスできるUbuntu 20.04 XFCEデスクトップ環境を作成します。 このクラウドデスクトップには、Ubuntu 20.04とXFCE環境をパーソナルコンピューターにインストールした場合と同じユーティリティが含まれます( Xubuntu セットアップとほぼ同じです)。

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

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

前提条件

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

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

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

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

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

まず、利用可能な最新のソフトウェアに関するパッケージマネージャーの情報を更新します。

  1. sudo apt-get update

このチュートリアルでは、デスクトップ環境としてXFCEをインストールします。 XFCEは、合成などのグラフィック効果を使用しないため、X2Goとの互換性が高まり、画面の更新が最適化されます。 参考までに、 LXDEデスクトップ環境およびMATEデスクトップ環境(合成が無効になっている)も正常に機能しますが、デスクトップをインストールするこのチュートリアルのコマンドを変更する必要があります環境。 たとえば、sudo apt-get install xubuntu-desktopの代わりに、sudo apt-get install lubuntu-desktopと入力して、LXDEをインストールします。

XFCEをインストールするには2つの方法があります。 最小デスクトップ環境またはフルデスクトップ環境。 あなたにとって最良の選択はあなたのニーズに依存します、それは次にカバーします。 2つのうちの1つを選択してください

フルデスクトップ環境

ほとんどのユースケースに推奨されます。 必要なすべてのコンポーネントを厳選するのではなく、ワードプロセッサ、Webブラウザ、電子メールクライアント、その他のアクセサリなどのデフォルトのパッケージセットをプリインストールする場合は、xubuntu-desktopを選択できます。

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

  1. sudo apt-get install xubuntu-desktop

ディスプレイマネージャを選択するように求められたら、lightdmを選択します。

Choosing lightdm as display manager

最小限のデスクトップ環境

または、小さなコアセットのパッケージをインストールし、必要なものを手動で追加してそれらの上に構築する場合は、xubuntu-coreメタパッケージを使用できます。

メタパッケージには単一のパッケージは含まれていません。 代わりに、メタパッケージにはパッケージコレクション全体が含まれます。 メタパッケージをインストールすると、ユーザーは多数のコンポーネントを手動でインストールする必要がなくなります。

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

  1. sudo apt-get install xubuntu-core

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

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

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

以前のバージョンのUbuntu(18.04より前)では、x2goserverはデフォルトのリポジトリに含まれていなかったため、ソフトウェアパッケージを入手するには次のような手順を実行する必要があります。 パッケージがUbuntuの将来のバージョンで削除される場合に備えて、参考のためにここにリンクを残しておきます。 幸い、コードネームFocalFossaのUbuntu20.04には、デフォルトのリポジトリに必要なパッケージが含まれているため、インストールが高速になります。

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

  1. sudo apt-get install x2goserver x2goserver-xsession

この時点で、サーバーをさらにセットアップする必要はありません。 ただし、 Ubuntu20.04を使用したサーバーの初期設定SSHキーの設定の推奨事項に従った場合は、SSH秘密キーをすべてのユーザーで使用できるようにする必要があることに注意してください。使用するローカルマシン。 SSH秘密鍵を設定していない場合は、強力なパスワードを選択してください。

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

サーバーを構成しました。 exitと入力するか、ターミナルウィンドウを閉じます。 残りの手順では、ローカルマシンでのクライアントの構成に焦点を当てます。

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

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

  1. sudo apt-get install x2goclient

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

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

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

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

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

X2Go Client Screenshot - Creating a New Session

セッション名フィールドに、サーバーを区別するのに役立つ情報を入力します。 複数のマシンに接続する場合は、セッション名を使用すると特に便利です。

サーバーの下のホストフィールドにサーバーのIPアドレスまたは完全修飾ドメイン名(FQDN)を入力します。

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

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

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

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

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

X2Go Main Window - Session List

ローカルマシンでOSXを実行している場合、OSXはX11の実行に必要なXQuartzのインストールを求めるメッセージを表示する場合があります。 その場合は、指示に従って今すぐインストールしてください。

数秒で、リモートデスクトップが表示され、操作を開始できます。

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

注:これらの最初の2つのオプションは、最新のWindowsエディションでバグのある動作を示す可能性があります。 X2Goの新しいバージョンで問題が修正された場合に備えて、この時点で引き続きテストできます。 それらが失敗した場合は、将来同じキーボードショートカットを使用しないでください。

CTRL+ALT+Fは、フルスクリーンモードのオンとオフを切り替えます。 フルスクリーンモードでの作業は、ローカルデスクトップエクスペリエンスのように感じることができます。 フルスクリーンモードは、リモートマシンがローカルマシンの代わりにキーボードショートカットを取得するのにも役立ちます。

CTRL+ALT+Mは、フルスクリーンモードの場合でも、リモートビューを最小化します。

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

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

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

X2Go Main Window - Terminate Session Button

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

結論

このチュートリアルでは、X2Goを使用して、Ubuntuオペレーティングシステム用の堅牢なリモートGUI環境を作成しました。 これで稼働状態になりました。このデスクトップの使用に関するいくつかのアイデアを次に示します。

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