Macでxhostコマンドで”unable to open display”が出るのはCatalinaのせいかも?
サマリ
何が起きたのか
最近話題の「ゼロからのOS自作入門」をMacのDocker環境で写経しようとしたところ、xhost
でunable to open display
エラーになる。
DISPLAY変数を設定するなどしてみたが状況は改善せず。
解決方法
色々調べてみると、"Cannot connect to X server"で困っている人が"Download the newest singularity Desktop MacOS"したら出来た旨の記事を見つけたので、macOS 10.15 Catalina
をmacOS 11 Big Sur
にアップデートしたところ、できるようになった次第。
詳しい経緯
環境
- MacBookPro(13-inch, 2017)
- macOS 10.15 Catalina
- Docker
流れ
前述の「ゼロからのOS自作入門」本を手元で動かしたいと思ったものの、好き勝手に使えるマシンがMBPだけなのでDockerを検討。すると、以下のサイトでDocker環境を配布してくれている人を発見、かつ、その環境で実際に動かしている人の記事もあったのでこの方法で行くことにした。
上記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
のセキュリティ設定やら色々弄ってみるもうまく行かず、以下のスレッドを発見。
環境など色々違うところはあるものの、
In summary:
ということだったので、macOS 10.15 Catalina
をmacOS 11 Big Sur
にアップデートしたところ、まさかの解決。
$ xhost + 127.0.0.1 $ 127.0.0.1 being added to access control list
つまり
OSアップデートはしっかりやっておいたほうがいい(自戒)。