SSH先のGUIアプリケーションを使う方法
SSH先のGUIアプリケーションを使う方法
SSH先の強力なサーバでシミュレーションを動かして,手元でシミュレーションの動作を見たかったので,X11Forwardingを使ったSSH時のGUIアプリケーションを利用できる設定をしました.
環境
SSH Host: Ubuntu 18.04
SSH Client: macOS Catalina Version 10.15.1
SSH先は,LinuxでOpenSSHを使っているのであれば,なんでも行けると思います. SSHクライアントは,macOSだとひと手間必要です.こちらもLinuxであれば,すんなり行けるはず...ただ,試したわけではないので不明 SSHに必要なあらゆる設定はできていて,普通のsshはできていることとします.
Hostの設定
X11Forwardingはデフォルトでは許可されていないため,許可する設定を行います.
$ sudo vim /etc/ssh/sshd_config
X11Forwarding yes # この行がコメントアウトされていたりするので有効化してください
$ # sshdを再起動
$ sudo systemctl restart ssh.service
これをするだけでSSH時にGUIアプリケーションを利用することができるようになります.
Clientの設定
Macでは,デフォルトでX Window Systemに対応していないため,XQuartzをインストールする必要があります
$ brew update
$ brew cask install xquartz
インストール後再起動をしてください. その後,ssh時にX11を有効にするため,~/.ssh/configを追記します.
$ vim ~/.ssh/config
Host hogehoge
HostName hogehoge
User kmdkuk
Port 22
IdentityFile <IdentityFileへのPATH>
XAuthLocation /opt/X11/bin/xauth
ForwardX11Trusted yes
XAuthLocation, ForwardX11Trustedの行を追記してください. これで準備完了です.
実行
$ -X をつけることで,X11Forwardが有効になります.
$ ssh -X hogehoge
$ firefox &
これで,リモートにインストールされているGUIアプリケーションが,Mac上のxqurtsで見ることができると思います.