14
14

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 3 years have 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
  1. ようこそXQuartz インストーラーへ画面
    [続ける]をクリック
MAC-HP04.png
  1. 大切な情報画面
    [続ける]をクリック
MAC-HP05.png
  1. 使用許諾契約画面
    使用許諾契約内容を確認し、[続ける]をクリック
MAC-HP06.png
  1. ソフトウェア使用許諾の条件に同意する必要があります。画面
    使用許諾契約に合意できれば、[同意する]をクリック
MAC-HP07.png
  1. インストールの種類画面
    [インストール]をクリック
MAC-HP08.png

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

  1. ポップアップ
    You will need to log out and log back in to make XQuartz your default X11 server
    内容を確認し、[OK]をクリック
MAC-HP11.png
  1. インストールが完了しました画面
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
  1. DISPLAY環境変数確認
    DISPLAY環境変数が自動登録されていることを確認
    自動登録されていない場合は、sshd等の設定を見直します
[opc@oci-inst01 ~]$ env | grep DISPLAY
	DISPLAY=10.0.0.2:11.0
  1. 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
  1. DISPLAY環境変数確認
    DISPLAY環境変数が接続したインスタンスのIPで自動登録されていることを確認
    自動登録されていない場合は、sshd等の設定を見直します
[opc@oci-inst01 ~]$ env | grep DISPLAY
	DISPLAY=10.0.0.2:11.0
  1. xeyes実行
    xeyesコマンドで、xeyes の GUIが表示されることを確認
    xeyesで、XQuartzが自動起動されます
    iTERMでxeyes03.png
14
14
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
14
14

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?