72
Help us understand the problem. What are the problem?

posted at

updated at

X11 ForwardingしてMacにGUI表示する

概要

リモートサーバ(Linuxとか)のGUIをローカル(Mac)に表示しよう。

Macでの作業

XQuartzのインストール

Mac用のX Window SystemであるXQuartzをインストールします。
なお、Lion以前の古いOS(Lion, Snow Leopard, Leopard)には標準でX11が入っているためインストール不要のようです。

Apple サポートで案内されている通り、 XQuartz-x.x.xx.dmgをダウンロードしインストールします。

もしくは以下のようにbrewでもインストールできます。

$ brew cask install xquartz

インストール直後はDISPLAY環境変数は設定されていません。

$ echo $DISPLAY

$

いったんMacからログアウトしてログインすると設定されます。
(左上のリンゴマーク->xxxをログアウトからログアウトする)

$ echo $DISPLAY
/private/tmp/com.apple.launchd.qeR8i7Bf4G/org.macosforge.xquartz:0
$

リモートサーバ(Linuxとか)での作業

sshdの設定

Ubuntsなどのリモートサーバ側のsshdの設定を行います。

以下のように設定しsshdを再起動しておきます。

$ sudo vim /etc/ssh/sshd_config
X11Forwarding yes
X11DisplayOffset 10
X11UseLocalhost no
$ sudo systemctl restart sshd

Macからリモートサーバにsshする

iterm2などのターミナルでMacからUbuntsなどのリモートサーバにsshでログインします。
ログインしたらfirefoxなど、GUIを持つアプリケーションを起動するコマンドを叩きます。

# Ubuntsなどのリモートサーバにログイン
$ ssh -XY my-ubuntu

# Ubuntsなどのリモートサーバで
# 何でも良いのでGUIを持つアプリケーションを起動してみる

# 例えばxeyesとか
$ xeyes

# 例えばfirefoxとか
$ firefox

Mac側でXQuartzのウィンドウが起動し、GUIが表示されたら成功です。

なお以下のように設定しておくと-XYオプションは不要になります。

$ vim ~/.ssh/config
Host *
    ForwardX11 yes
    ForwardX11Trusted yes
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
72
Help us understand the problem. What are the problem?