
EC2上でリモート実行しているX11アプリケーションをWindowsに表示してみた
この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。
はじめに
データアナリティクス事業本部の藤川です。
クラウドを使う理由として、手軽にアプリケーションの実行環境が手に入ることだと思います。特に、ハイスペックな環境が格安に用意できることではないでしょうか。
利用用途は様々ですが、画像処理や動画編集、機械学習、もしかしたら、ビットコインマイニング等、重い処理をしたい場合には重宝します。
私がプライベートで使用しているWindows PCは非力なので、重い処理はEC2に任せています。
そこで、今回はX11アプリケーションをEC2(Amazon Linux 2)で実行し、Windowsデスクトップに画面表示する方法をご紹介したいと思います。
用意するもの
EC2インスタンスとWindows PCが必要です。
IAMアカウントは予め用意しておいてください。
- EC2インスタンス
- Windows PC
- SSHクライアント(PuTTY)
- X Server(VcXsrv)
準備
EC2(X Client)側
EC2側での準備作業は次の通りです。
- EC2インスタンスを起動
xauthをインストール- SSHの
X11Forwarding設定を有効化
EC2インスタンスを起動
- AWSマネジメントコンソールから
EC2インスタンスを起動します。
ここでは、Amazon Linux 2を使用します。 自動割り当てパブリック IPを有効にする等、Windows PCからSSH接続できるように設定します。- キーペアファイルを忘れずにダウンロードします。
- セキュリティグループで、
SSH(22番ポート)を開けておきます。
X11アプリケーションをインストール
xorg-x11-xauthパッケージをインストールします。sudo yum install xorg-x11-xauth
SSHを設定変更
- /etc/ssh/sshd_configファイルを編集します。
sudo vi /etc/ssh/sshd_config
X11Forwardingをyesに設定します。X11Forwarding yes
sshdを再起動します。sudo systemctl restart sshd
Windows(X Server)側
Windows PC側での準備作業は次の通りです。
- PuTTYをインストール
- キーペアファイルをPuTTY形式に変換
- SSHクライアントを設定
Enable X11 forwarding設定を有効化
- X Server(VcXsrv)をインストールし、設定
PuTTYをインストール
PuTTYをインストールします。- PuTTYgen を使用してプライベートキーを変換するの手順を参考に、キーペアファイルをPuTTY形式に変換します。
- 画面左側の
Categoryペインで、Connection-SSH-Authを開きます。 Private key file for authenticationのBrowse...ボタンをクリックします。- PuTTY形式に変換したキーペアファイルを選択し、
開くボタンをクリックします。
- 画面左側の
Categoryペインで、Connection-SSH-X11を開きます。 - 画面右側の
Enable X11 forwardingにチェックを付けます。
- 画面左側の
Categoryペインで、Sessionを開きます。 - 画面右側の
Host Name(or IP address)とPortにそれぞれ、ec2-user@+EC2インスタンスのIPアドレスとポート番号を入力します。
※ここでは、それぞれec2-user@54.xx.xx.xx、22と入力しています。 Saved SessionsにEC2などと入力します。Saveボタンをクリックします。
X Server(VcXsrv)をインストール
- 構築方法(Windows)を参考に、
VcXsrvをインストールし、起動しておきます。
使用方法
EC2(X Client)側
- X11アプリケーションをインストールします。
sudo yum install xeyes
Windows(X Server)側
PuTTYを起動します。- 画面左側の
Categoryペインで、Sessionが開いていると思います。 - 先ほど保存した
EC2を選択し、Loadボタンをクリックします。 Saved SessionsにEC2と表示されます。Openボタンをクリックします。
- EC2インスタンスにログインできます。

- X11アプリケーションを起動します。
xeyes &
- Windowsのデスクトップ上に、
xeyes等のX11アプリケーションが表示されます。
さいごに
ポートフォワーディングを設定すれば、EC2上で稼働するX11アプリケーションの画面を、手元にあるWindowsのデスクトップに表示させることが可能です。クラウドのメリットを活かし、必要なときに必要なだけ使用することができます。重い処理が必要なアプリケーションを一時的にEC2で実行できると、効率良く作業できます。










