Ubuntu on AWSに軽量デスクトップLXDEとxrdpを使ってリモート接続してみた
SSHしたら負けという風潮が弊社にはありますが、そんな空気は読みません。
Java、Qt、ブラウザでの管理画面があるサーバーアプリケーションでX11転送やSOCKSプロキシを使うのは自然の摂理に反しているため、軽快に動くLinuxリモートデスクトップを試してみました。
ミニマルなデスクトップ環境
AWSのナレッジセンターにはubuntu-desktopとxfce4を使ったリモートデスクトップ接続が解説されていますが、やや設定方法が冗長で、あまりサクサク動く環境は手に入りません。
Linuxのデスクトップ環境はあまたありますが、次のような理由からLXDEを使用します。
- Cで書かれていてソフトウェアの依存関係が少なく、軽い。
- 設定が自動化でき、クラウドベースのサーバーへ適応しやすい。
- 用途に応じた起動オプションがある。
- 多言語対応が容易。
LXDEをリモートのUbuntuで使うケースでは、一旦ターミナルでLXDE内のlxdmというコンポーネントを起動させてVNCないしはxrdpへリモートデスクトップでつなぎに行くという(ないしはそういった起動スクリプトを作る)インストラクションをよく見かけますが、サービスを手で作ることなくターミナルなしでAWSにつなぎに行ける簡単な方法があるのでそれを紹介します。
インストールと使用方法
適当なUbuntu EC2インスタンスを立ち上げ、セキュリティグループでRDPポート3389を許可しておきます。
ターミナルでSSH接続し、次のコマンドを実行してLXDEとxrdpをインストールします。なお、FirefoxなどUbuntuデスクトップと遜色ないソフトウェア環境をそろえるには、lxde-coreではなくlxdeを選択してください。
sudo apt-get update sudo apt-get install lxde-core sudo apt-get install xrdp
リモートデスクトップ用にパスワードが必要なので、ユーザー「ubuntu」を設定します。
sudo passwd ubuntu
起動オプションを固定してxinitにします。
sudo update-alternatives --config x-session-manager
3の startlxde を選択してターミナルを閉じ、EC2を再起動します。
リモートデスクトップクライアントはなんでもいいのですが、今回はMicrosoft Remote Desktopを使いました。PC nameにEC2のPublic DNS、ユーザー「ubuntu」と先ほど設定したパスワードを入れて接続します。
Chrome入れてみました。ローカルと見まごう軽快さです。Microsoft Remote Desktopはローカルリダイレクトが利くので、作業ドライブのマウントやコピー&ペーストも可能です。
「ターミナルでSSHしない」快適AWS生活が送れるようになりました。