🐴

MacのXサーバのXQuartzメモ

2022/04/26に公開

普通はsshだけの作業でGUIアプリは使わないのですが、唯一gitkだけは使いたいので調べました。

インストール

下記のサイトからdmgファイルをダウンロードしてインストールします。
https://www.xquartz.org/

動作確認

XQuartz を起動。XQuatzのメニューからアプリケーション > ターミナルを実行するとxtermが起動する。
そこで xeyes などが起動できる。

問題点

(1) 通常のターミナルからだとxeyesなどを起動しようとしても反応がない。
(2) XQuartzから起動したxterm ではコピー&ペーストができない。

発見した回避方法

通常のターミナルでセットされているDISPLAY環境変数

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

XQuartzから起動したxtermにセットされているDISPLAY環境変数

$ echo $DISPLAY
:0

通常のターミナルにxtermと同じ値をセットしてみる

$ export DISPLAY=:0

これで通常のターミナルからでもxeyesが起動できた。
よくわからないけど、とりあえずこれで使ってみる。
~/.bash_profileexport DISPLAY=:0 を追加した。

sshした先からXQuartzにXクライアントを表示させる方法

sshd の設定

/etc/ssh/sshd_configX11Forwarding yesを追加する。
sshdを再起動。

$ sudo service sshd restart

ssh の指定

ssh に -X オプションをつける。
または ~/.ssh/configForwardX11 yes を付加する。

もし相手がローカルネットにある場合には、ssh に -Y オプションをつける。暗号化の負荷が軽くなるらしい。
~/.ssh/config では ForwardX11Trusted yes

Discussion