1日22時間寝たい

技術頑張ってる最中です

Macでxhostコマンドで”unable to open display”が出るのはCatalinaのせいかも?

サマリ

何が起きたのか

最近話題の「ゼロからのOS自作入門」をMacのDocker環境で写経しようとしたところ、xhostunable to open displayエラーになる。

book.mynavi.jp

DISPLAY変数を設定するなどしてみたが状況は改善せず。

解決方法

色々調べてみると、"Cannot connect to X server"で困っている人が"Download the newest singularity Desktop MacOS"したら出来た旨の記事を見つけたので、macOS 10.15 CatalinamacOS 11 Big Surにアップデートしたところ、できるようになった次第。

詳しい経緯

環境

  • MacBookPro(13-inch, 2017)
  • Docker

流れ

前述の「ゼロからのOS自作入門」本を手元で動かしたいと思ったものの、好き勝手に使えるマシンがMBPだけなのでDockerを検討。すると、以下のサイトでDocker環境を配布してくれている人を発見、かつ、その環境で実際に動かしている人の記事もあったのでこの方法で行くことにした。

zenn.dev

zenn.dev

上記2つの記事を参考にMac + Docker環境を整えている最中、XQuartzのインストール後、xhost + 127.0.0.1をするもxhost: unable to open display ""となる。xhostコマンドで「unable to open display」となる場合の対処などの記事を参考に以下のように変数を設定するもエラー。

$ xhost + 127.0.0.1
$ xhost:  unable to open display ""
$
$ env | grep DISPLAY
$
$ export DISPLAY=:0.0
$ env | grep DISPLAY
$ DISPLAY=:0.0
$ 
$ xhost + 127.0.0.1
$ xhost:  unable to open display "0.0"
$ 

その他DNSの設定やらhostsの設定やらXQuartzのセキュリティ設定やら色々弄ってみるもうまく行かず、以下のスレッドを発見。

github.com

環境など色々違うところはあるものの、

In summary:

  • Download the newest singularity Desktop MacOS (it would not work on another Mac until installing the newest singularity)

ということだったので、macOS 10.15 CatalinamacOS 11 Big Surにアップデートしたところ、まさかの解決。

$ xhost + 127.0.0.1
$ 127.0.0.1 being added to access control list

つまり

OSアップデートはしっかりやっておいたほうがいい(自戒)。