MacでLinuxのGUIを表示する方法|XQuartzとX11転送の設定手順

  • URLをコピーしました!
Oracle AI Database
今回の検証環境
  • 接続元ホスト:MacBook Air M4
  • 接続先ホスト:Oracle Linux 9.7(OCIの仮想マシン)

LinuxサーバでGUIアプリを起動して、Mac上にLinux上のGUI画面を表示させたいときがあると思います。

XQuartzを使用すれば、SSHのX11転送でMac上にLinux上のGUI画面をそのまま表示できます。

本記事は、Mac上にLinux上のGUI画面を表示するまでの手順をステップごとに解説します。

目次

X11転送とは

X11(X Window System)とは、LinuxやUnix系OSで使われているGUIの基盤となるウィンドウシステムです。

X11の最大の特徴は、描画する側(クライアント)と、画面に表示する側(サーバー)が分離されている点です。

一般的なソフトウェアとは「サーバー」と「クライアント」の役割が逆転しており、少し独特な構造をしています。

役割担当具体例
Xクライアント描画の処理する側LinuxサーバーのGUIアプリ
Xサーバ入力・出力する側Macに入れたXQuartz

この設計のおかげで、アプリとディスプレイをネットワーク越しに分離して動かすことが可能です。

X11転送(X11 Forwarding)とは、サーバーのGUIアプリケーションの画面を、ネットワーク越しの別サーバへ転送して表示する技術です。

SSHトンネルを使ってX11の通信を暗号化しながら転送するため、セキュリティを保ちながらリモートのGUIを安全に操作できます。

XQuartzのインストール(Mac側の設定)

MacにはデフォルトでX11サーバの機能が含まれていないため、XQuartzをインストールする必要があります。

あわせて読みたい

インストール完了後、一度ログアウトして再ログインすることでXQuartzが有効になります。

XQuartzが正常にインストールされると、環境変数$DISPLAYに値が設定されるので確認してみましょう。

#XQuartzのインストール前
MacBook-Air-3:~ taku$ echo $DISPLAY

#XQuartzのインストール後
MacBook-Air-3:~ taku$ echo $DISPLAY
/private/tmp/com.apple.launchd.5j5lF36lHl/org.xquartz:0

SSHの設定(Linux側の設定)

次に、LinuxサーバがX11転送を許可するように、sshd_configファイルを編集します。

[root@node1 ~]# vi /etc/ssh/sshd_config

以下の設定を追記してください。

X11Forwarding yes
X11DisplayOffset 10

編集後は、忘れずにsshdを再起動します。

[root@node1 ~]# systemctl restart sshd

もしこの先GUIアプリの転送がうまくいかない場合の対応

もし、この後の手順を行なっていったが、X11転送がうまく動作せず、GUIアプリが表示されなかった場合は、sshd_configファイルに下記を追記してください。

X11UseLocalhost no

この設定はX11のソケットをすべてのネットワークインターフェースに開放するため、セキュリティリスクが伴います

デフォルト(記載されていない)の場合は、yesで設定されています。

Javaアプリなど一部のGUIアプリで転送がうまくいかない場合のみ、no に変更することを検討してください。

X11転送のSSH接続(Mac側の接続)

通常のSSH接続はX11転送は有効されていないため、接続時に-Xオプションをつけて接続します。

ssh -X ユーザー名@サーバーのIPアドレス

-xはX11転送を無効にするため、大文字と小文字で反対の設定になるので注意です。

SSH接続後、GUIアプリを起動するとMacの画面にウィンドウが表示されます。

[grid@node1 ~]$ /u01/app/grid_1/gridSetup.sh
Launching Oracle Grid Infrastructure Setup Wizard...
oracle-restart-26ai-2

まとめ

本記事では、MacでLinuxのGUI画面を表示するためのX11転送(X11 Forwarding)の仕組みと設定手順を解説しました。

  • XQuartzのインストール
  • SSHの設定
  • X11転送のSSH接続

最後までご愛読ありがとうございました。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

Fラン卒・未経験からデータベースエンジニアに転身。
使用技術:Oracle製品
資格取得:情報処理安全確保支援士試験|応用情報技術者試験|OracleMaster Gold DBA|OCI Architect Associate

目次