97
98

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

X11 ForwardingしてMacにGUI表示する

Last updated at Posted at 2019-11-07

1. 概要

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

2. Macでの作業

まずMac側の準備を行います。

2.1. 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
$

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

次にリモートサーバ側の準備を行います。

3.1. sshdの設定

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

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

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

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

準備が整ったところで、GUIを表示させてみましょう。

iterm2などのターミナルでMacからUbuntsなどのリモートサーバにsshでログインします。

ログインしたらfirefoxxeyesなど、GUIを持つアプリケーションを起動するコマンドを叩きます。

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

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

# 例えばxeyesとか
$ xeyes

# 例えばfirefoxとか
$ firefox

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

5. 補足

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

$ vim ~/.ssh/config
Host *
    ForwardX11 yes
    ForwardX11Trusted yes

上記例のようにHostを * とすると、全てのホストに効きますので、効かせたくないホストにも効くことに注意が必要です。

システム全体で共通の設定としたい場合、ユーザーごとに~/.ssh/配下で設定を行うのではなく、
/etc/ssh/ssh_configForwardX11ForwardX11Trustedyes に設定する方法もあります。

特定のホストのみに設定したい場合は以下のように記述できます。
影響範囲が狭いほうがいい場合が多いと思うのでこちらがおすすめです。

$ vim ~/.ssh/config
Host my-ubuntu
    HostName 192.168.1.100
    User loft
    ForwardX11 yes
    ForwardX11Trusted yes
97
98
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
97
98

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?