LoginSignup
12
11

More than 1 year has passed since last update.

Macへ X Window Systemで GUI表示してみてみた

Last updated at Posted at 2020-08-10

■ 目的

サーバー管理するにあたって、通常CLIですが、時々GUIも使いたくなります。
そのときはVNCを使うのですが、X Window もやってみたくなります。
ということで、Oracle CloudのLinixコンピュートのGUI表示をMACでX Windowしてみてみます。

■ 構成イメージ

OCIへInternet接続したOn-Premises環境にあるMac Bookから、Xしてみてみます
構成Internet_xeyes.png

■ Mac側設定

● Mac 用の X11 について

X11 は Mac に付属しなくなりましたが、X11 のサーバとクライアントのライブラリは、XQuartz プロジェクトから入手できます。

・XQuartz プロジェクト: https://support.apple.com/ja-jp/HT201341
MAC-HP01.png

● XQuartz ダウンロード

xquartz.org から、XQuartz をダウンロード

・xquartz.org: https://www.xquartz.org/
MAC-HP02.png

●xquartzインストール

1) .dmgファイル実行
ダウンロードした、.dmgファイルをクリックして、XQuartz.pkgをクリック
MAC-HP03.png

2) ようこそXQuartz インストーラーへ画面
[続ける]をクリック
MAC-HP04.png

3) 大切な情報画面
[続ける]をクリック
MAC-HP05.png

4) 使用許諾契約画面
使用許諾契約内容を確認し、[続ける]をクリック
MAC-HP06.png

5) ソフトウェア使用許諾の条件に同意する必要があります。画面
使用許諾契約に合意できれば、[同意する]をクリック
MAC-HP07.png

5) インストールの種類画面
[インストール]をクリック
MAC-HP08.png

6)インストール画面
〜インストール中〜
MAC-HP09.png

7) ポップアップ
You will need to log out and log back in to make XQuartz your default X11 server
内容を確認し、[OK]をクリック
MAC-HP11.png

8) インストールが完了しました画面
MAC-HP12.png

■OCI Linuxコンピュート側設定

リモートアクセスするLinuxマシンに、X Windowできるように設定

● xorg-x11パッケージインストール

xorg-x11パッケージがインストールされていない場合、
以下2つを yumコマンドでインストール

・xorg-x11-xauth.x86_64 
・xorg-x11-server-utils.x86_64
[root@oci-inst01 opc]# yum install -y xorg-x11-xauth.x86_64 xorg-x11-server-utils.x86_64

    読み込んだプラグイン:langpacks, ulninfo
    依存性の解決をしています
    --> トランザクションの確認を実行しています。
    ---> パッケージ xorg-x11-server-utils.x86_64 0:7.7-20.el7 を インストール
    --> 依存性の処理をしています: libXxf86misc.so.1()(64bit) のパッケージ: xorg-x11-server-utils-7.7-20.el7.x86_64
    --> 依存性の処理をしています: libXrandr.so.2()(64bit) のパッケージ: xorg-x11-server-utils-7.7-20.el7.x86_64
    --> 依存性の処理をしています: libXinerama.so.1()(64bit) のパッケージ: xorg-x11-server-utils-7.7-20.el7.x86_64
    --> 依存性の処理をしています: libXi.so.6()(64bit) のパッケージ: xorg-x11-server-utils-7.7-20.el7.x86_64
    ---> パッケージ xorg-x11-xauth.x86_64 1:1.0.9-1.el7 を インストール
    --> トランザクションの確認を実行しています。
    ---> パッケージ libXi.x86_64 0:1.7.9-1.el7 を インストール
    ---> パッケージ libXinerama.x86_64 0:1.1.3-2.1.el7 を インストール
    ---> パッケージ libXrandr.x86_64 0:1.5.1-2.el7 を インストール
    ---> パッケージ libXxf86misc.x86_64 0:1.0.3-7.1.el7 を インストール
    --> 依存性解決を終了しました。

    依存性を解決しました

    ==========================================================================================
    Package                      アーキテクチャー
                                                バージョン            リポジトリー       容量
    ==========================================================================================
    インストール中:
    xorg-x11-server-utils        x86_64        7.7-20.el7            ol7_latest        178 k
    xorg-x11-xauth               x86_64        1:1.0.9-1.el7         ol7_latest         29 k
    依存性関連でのインストールをします:
    libXi                        x86_64        1.7.9-1.el7           ol7_latest         40 k
    libXinerama                  x86_64        1.1.3-2.1.el7         ol7_latest         13 k
    libXrandr                    x86_64        1.5.1-2.el7           ol7_latest         27 k
    libXxf86misc                 x86_64        1.0.3-7.1.el7         ol7_latest         19 k

    トランザクションの要約
    ==========================================================================================
    インストール  2 パッケージ (+4 個の依存関係のパッケージ)

    総ダウンロード容量: 305 k
    インストール容量: 629 k
    Downloading packages:
    (1/6): libXi-1.7.9-1.el7.x86_64.rpm                                |  40 kB  00:00:00
    (2/6): libXrandr-1.5.1-2.el7.x86_64.rpm                            |  27 kB  00:00:00
    (3/6): libXxf86misc-1.0.3-7.1.el7.x86_64.rpm                       |  19 kB  00:00:00
    (4/6): libXinerama-1.1.3-2.1.el7.x86_64.rpm                        |  13 kB  00:00:00
    (5/6): xorg-x11-server-utils-7.7-20.el7.x86_64.rpm                 | 178 kB  00:00:00
    (6/6): xorg-x11-xauth-1.0.9-1.el7.x86_64.rpm                       |  29 kB  00:00:00
    ------------------------------------------------------------------------------------------
    合計                                                      4.2 MB/s | 305 kB  00:00:00
    Running transaction check
    Running transaction test
    Transaction test succeeded
    Running transaction
    インストール中          : libXrandr-1.5.1-2.el7.x86_64                              1/6
    インストール中          : libXxf86misc-1.0.3-7.1.el7.x86_64                         2/6
    インストール中          : libXinerama-1.1.3-2.1.el7.x86_64                          3/6
    インストール中          : libXi-1.7.9-1.el7.x86_64                                  4/6
    インストール中          : xorg-x11-server-utils-7.7-20.el7.x86_64                   5/6
    インストール中          : 1:xorg-x11-xauth-1.0.9-1.el7.x86_64                       6/6
    検証中                  : libXi-1.7.9-1.el7.x86_64                                  1/6
    検証中                  : libXinerama-1.1.3-2.1.el7.x86_64                          2/6
    検証中                  : libXxf86misc-1.0.3-7.1.el7.x86_64                         3/6
    検証中                  : libXrandr-1.5.1-2.el7.x86_64                              4/6
    検証中                  : xorg-x11-server-utils-7.7-20.el7.x86_64                   5/6
    検証中                  : 1:xorg-x11-xauth-1.0.9-1.el7.x86_64                       6/6

    インストール:
    xorg-x11-server-utils.x86_64 0:7.7-20.el7      xorg-x11-xauth.x86_64 1:1.0.9-1.el7

    依存性関連をインストールしました:
    libXi.x86_64 0:1.7.9-1.el7                libXinerama.x86_64 0:1.1.3-2.1.el7
    libXrandr.x86_64 0:1.5.1-2.el7            libXxf86misc.x86_64 0:1.0.3-7.1.el7

    完了しました!

● xeyes インストール

X動作確認用 GUIツール xeyesをインストール
これによりxclockなどもインストールされます

[root@tokyo-inst01 opc]# yum install xeyes
    読み込んだプラグイン:langpacks, ulninfo
    ol7_UEKR5                                                          | 2.8 kB  00:00:00
    ol7_addons                                                         | 2.8 kB  00:00:00
    ol7_developer                                                      | 2.8 kB  00:00:00
    ・・・
    インストール:
    xorg-x11-apps.x86_64 0:7.7-7.el7

    依存性関連をインストールしました:
    dejavu-fonts-common.noarch 0:2.33-6.el7      dejavu-sans-fonts.noarch 0:2.33-6.el7
    fontconfig.x86_64 0:2.13.0-4.3.el7           libICE.x86_64 0:1.0.9-9.el7
    libSM.x86_64 0:1.2.2-2.el7                   libX11.x86_64 0:1.6.7-2.el7
    libX11-common.noarch 0:1.6.7-2.el7           libXau.x86_64 0:1.0.8-2.1.el7
    libXaw.x86_64 0:1.0.13-4.el7                 libXcursor.x86_64 0:1.1.15-1.el7
    libXext.x86_64 0:1.3.3-3.el7                 libXfixes.x86_64 0:5.0.3-1.el7
    libXft.x86_64 0:2.3.2-2.el7                  libXmu.x86_64 0:1.1.2-2.el7
    libXpm.x86_64 0:3.5.12-1.el7                 libXrender.x86_64 0:0.9.10-1.el7
    libXt.x86_64 0:1.1.5-3.el7                   libXxf86vm.x86_64 0:1.1.4-1.el7
    libfontenc.x86_64 0:1.1.3-3.el7              libxcb.x86_64 0:1.13-1.el7
    libxkbfile.x86_64 0:1.0.9-3.el7

    完了しました!

● sshd設定

・sshd_config設定
以下を設定
(#はコメントアウトなので、はずしましょ)

[root@oci-inst01 ssh]# vi /etc/ssh/sshd_config
    ・・・
    X11Forwarding yes
    X11DisplayOffset 10
    X11UseLocalhost no
    ・・・

・sshd_config設定確認

[root@oci-inst01 ssh]# cat /etc/ssh/sshd_config | grep X11
    X11Forwarding yes
    X11DisplayOffset 10
    X11UseLocalhost no
    #X11UseLocalhost yes

・sshd 再起動

[root@oci-inst01 ssh]# systemctl restart sshd

■ MACからOCI LinuxコンピュートへX window実行

● sshタイムアウト回避接続状態継続設定

ssh接続がタイムアウトしないように homeディレクトリにある.ssh/configファイルへ以下3行追加
また、MAC OSの Update などで xauthパス が変更されることがあり、ssh -X ~ で接続すると、次のような Warning が出力されることがあります。その場合、.ssh/configファイル へ XAuthLocationパラメーターを設定します

Warning: untrusted X11 forwarding setup failed: xauth key data not generated

1) xauthパス確認

$ which xauth
    /opt/X11/bin/xauth

2).ssh/config設定

mac-book:~ user$ vi ~/.ssh/config
    Host *
    ServerAliveInterval 60
    TCPKeepAlive yes
    XAuthLocation /opt/X11/bin/xauth

● XQuartz でX起動

1) XQuartzターミナル起動
Launchpad の [その他]の中にある XQuartzアイコンをクリックし、ターミナル起動
MAC-HP14.png

ターミナル起動が起動します
00.png

1) OCIインスタンスへssh接続
ssh接続は、X11 forwarding機能を有効にする -X オプションをつけて実行
※xtermでのペーストは、オプション+左クリック

mac-book:~ user$ ssh -X -i id_rsa opc@1.2.3.4
    Last login: Mon Aug 10 12:50:03 2020

2) DISPLAY環境変数確認
DISPLAY環境変数が自動登録されていることを確認
自動登録されていない場合は、sshd等の設定を見直します

[opc@oci-inst01 ~]$ env | grep DISPLAY
    DISPLAY=10.0.0.2:11.0

3) xclock実行
xeyesコマンドで、xeyes の GUIが表示されることを確認

[opc@oci-inst01 ~]$ xeyes 

xeyes実行できず、error: "Can't open display"等が表示された場合は、ポート6000が空いているかFirewall等の環境見直しをします
xeyes01.png

● iTerm でX起動

XQuartzがインストールされていれば、ターミナルはiTermでもX起動できます。
iTermがインストールされていない場合、https://iterm2.com/から iTerm2をインストール

1) iTerm起動
image.png

2) OCIインスタンスへssh接続
ssh接続は、X11 forwarding機能を有効にする -X オプションをつけて実行
※xtermでのペーストは、オプション+左クリック

mac-book:~ user$ ssh -X -i id_rsa opc@1.2.3.4
    Last login: Mon Aug 10 12:55:12 2020

2) DISPLAY環境変数確認
DISPLAY環境変数が接続したインスタンスのIPで自動登録されていることを確認
自動登録されていない場合は、sshd等の設定を見直します

[opc@oci-inst01 ~]$ env | grep DISPLAY
    DISPLAY=10.0.0.2:11.0

3) xeyes実行
xeyesコマンドで、xeyes の GUIが表示されることを確認
xeyesで、XQuartzが自動起動されます
iTERMでxeyes03.png

12
11
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
12
11