xquartz on macOS Mojave
更新履歴
- 2021.03.02
はじめに
-
このドキュメントでは,HomeBrewを使ってX Window Systemのxquartzをインストールする.そして,xnekoをmakeして動かすまでの手順を説明する.
パッケージ確認
- 昔はOS上旬だった頃もあるが,現在はダウンロードしてインストールになっている.
- 今回は,HomeBrewからのインストールを行う.
- 事前に,HomeBrewの環境は揃えておく.
$ brew info xquartz🆑
xquartz: 2.7.11 (auto_updates)
https://www.xquartz.org/
Not installed
From: https://github.com/Homebrew/homebrew-cask/blob/HEAD/Casks/xquartz.rb
==> Name
XQuartz
==> Description
Open-source version of the X.Org X Window System
==> Artifacts
XQuartz.pkg (Pkg)
==> Analytics
install: 11,510 (30 days), 32,713 (90 days), 159,250 (365 days)
[macmini2014:ujpadmin 16:00:05 ~ ]
$
- 今でも結構インストールしているのね...
- では,インストールを実施.
$ brew install xquartz🆑
Updating Homebrew...
==> Auto-updated Homebrew!
Updated 2 taps (homebrew/core and homebrew/cask).
==> Updated Formulae
Updated 1 formula.
==> New Casks
atomic-wallet
banksiagui
mxsrvs
neat-reader nuage
==> Updated Casks
Updated 8 casks.
==> Deleted Casks
pins
==> Downloading https://dl.bintray.com/xquartz/downloads/XQuartz-2.7.11.dmg
==> Downloading from https://d29vzk4ow07wi7.cloudfront.net/32e50e8f1e21542b847041711039fa78d44febfed466f83
######################################################################## 100.0%
==> Installing Cask xquartz
==> Running installer for xquartz; your password may be necessary.
Package installers may write to any location; options such as `--appdir` are ignored.
Password:🔑
- パスワードを入力.
installer: Package name is XQuartz 2.7.11
installer: Installing at base path /
installer: The install was successful.
🍺 xquartz was successfully installed!
[macmini2014:ujpadmin 16:05:25 ~ ]
$
- インストール完了.
初回起動とソフトウェアアップデートの実施
- X Window Systemは1つのアプリケーションとして提供されている.
- 初回起動時にアプリが配置される.
- なお,この作業をする場合,ログアウトが必要になるので作業中のファイルは保存する.
- LanchPadからXQuartzを起動する.
- アップデートをインストールする.
- ログアウトボタンを押下する.
xtermアプリを起動する
- X Window Systemをインストールしたが,デフォルトでインストールされているxtermというターミナルアプリを起動する.
- まずは,パスが通っているか確認.
$ which xterm🆑
/opt/X11/bin/xterm🈁
[macmini2014:ujpadmin 23:17:20 ~/bin/xneko ]
$
- 起動する.
$ xterm &🆑
[1] 60689
[macmini2014:ujpadmin 23:17:59 ~/bin/xneko ]
$
- 次のような画面が開く.
- マルチ画面ように,xeyesを.
$ xeyes &🆑
[5] 60994
[macmini2014:ujpadmin 23:34:12 ~/bin/xneko ]
$
- 懐かしいね.
おまけ:xnekoをいれる
- どこからか,xneko.tar.gzを入手する.
- たとえば,ここ.
- https://mirrors.slackware.com/slackware/slackware-2.2.0/source/xap/xgames/xneko.tar.gz.mirrorlist
- ファイルを確認.
$ ls -la xneko.tar.gz🆑
-rw-r--r-- 1 ujpadmin staff 22926 3 3 00:45 xneko.tar.gz
[macmini2014:ujpadmin 00:46:46 ~/bin ]
- ファイルを展開する.
$ gzip -d xneko.tar.gz🆑
[macmini2014:ujpadmin 00:46:58 ~/bin ]
$ ls -la xneko.tar🆑
-rw-r--r-- 1 ujpadmin staff 131072 3 3 00:45 xneko.tar
[macmini2014:ujpadmin 00:47:04 ~/bin ]
$ tar xvf xneko.tar🆑
x Imakefile
x Imakefile~
x Makefile
x README
x bitmaps/
x bitmaps/awake.xbm
x bitmaps/cursor.xbm
x bitmaps/cursor_mask.xbm
x bitmaps/down1.xbm
x bitmaps/down2.xbm
x bitmaps/dtogi1.xbm
x bitmaps/dtogi2.xbm
x bitmaps/dwleft1.xbm
x bitmaps/dwleft2.xbm
x bitmaps/dwright1.xbm
x bitmaps/dwright2.xbm
x bitmaps/icon.xbm
x bitmaps/jare2.xbm
x bitmaps/kaki1.xbm
x bitmaps/kaki2.xbm
x bitmaps/left1.xbm
x bitmaps/left2.xbm
x bitmaps/ltogi1.xbm
x bitmaps/ltogi2.xbm
x bitmaps/mati2.xbm
x bitmaps/mati3.xbm
x bitmaps/right1.xbm
x bitmaps/right2.xbm
x bitmaps/up1.xbm
x bitmaps/rtogi1.xbm
x bitmaps/rtogi2.xbm
x bitmaps/sleep1.xbm
x bitmaps/sleep2.xbm
x bitmaps/space.xbm
x bitmaps/up2.xbm
x bitmaps/upleft1.xbm
x bitmaps/upleft2.xbm
x bitmaps/upright1.xbm
x bitmaps/upright2.xbm
x bitmaps/utogi1.xbm
x bitmaps/utogi2.xbm
x xneko.c
x xneko.man
x xneko.map
[macmini2014:ujpadmin 00:47:13 ~/bin ]
- 展開されたファイルを確認.
$ ls -la🆑
total 212
drwxr-xr-x 11 ujpadmin staff 352 3 3 00:49 .
drwxr-xr-x 9 ujpadmin staff 288 3 3 00:49 ..
-r--r--r-- 1 ujpadmin staff 79 9 2 1990 Imakefile
-rw-r--r-- 1 ujpadmin staff 56 9 2 1990 Imakefile~
-rw-r--r-- 1 ujpadmin staff 8756 9 2 1990 Makefile
-rw-r--r-- 1 ujpadmin staff 6304 7 11 1990 README
drwxr-xr-x 38 ujpadmin staff 1216 7 11 1990 bitmaps
-r--r--r-- 1 ujpadmin staff 41391 9 2 1990 xneko.c
-r--r--r-- 1 ujpadmin staff 1149 9 2 1990 xneko.man
-rw-r--r-- 1 ujpadmin staff 5814 7 11 1990 xneko.map
-rw-r--r-- 1 ujpadmin staff 131072 3 3 00:45 xneko.tar
[macmini2014:ujpadmin 00:53:12 ~/bin/xneko ]
$
- makeする.
$ make🆑
cc -O -I/usr/include -c -o xneko.o xneko.c
xneko.c:93:10: fatal error: 'X11/Xlib.h' file not found
#include <X11/Xlib.h>
^~~~~~~~~~~~
1 error generated.
make: *** [xneko.o] Error 1
[macmini2014:ujpadmin 00:54:13 ~/bin/xneko ]
$
- Xlib.hが見つけられない模様.
- XQuartzは/opt配下にインストールされているので,ファイルを確認する.
$ ls -la /opt/🆑
total 0
drwxr-xr-x 3 root wheel 96 9 26 2016 .
drwxr-xr-x 30 root wheel 960 3 2 16:03 ..
drwxr-xr-x 9 root wheel 288 9 27 2016 X11
[macmini2014:ujpadmin 00:56:40 ~/bin/xneko ]
$ ls -la /opt/X11/🆑
total 0
drwxr-xr-x 9 root wheel 288 9 27 2016 .
drwxr-xr-x 3 root wheel 96 9 26 2016 ..
drwxr-xr-x 130 root wheel 4160 3 2 17:50 bin
drwxr-xr-x 4 root wheel 128 10 29 2016 etc
drwxr-xr-x 20 root wheel 640 3 2 17:50 include
drwxr-xr-x 207 root wheel 6624 3 2 17:50 lib
drwxr-xr-x 4 root wheel 128 3 2 17:50 libexec
drwxr-xr-x 17 root wheel 544 3 2 17:50 share
drwxr-xr-x 5 root wheel 160 3 2 17:50 var
[macmini2014:ujpadmin 00:56:45 ~/bin/xneko ]
$
- ライブラリを指定して再度makeを実行.
$ make CC='cc -I/opt/X11/include'🆑
cc -I/opt/X11/include -O -I/usr/include -c -o xneko.o xneko.c
xneko.c:454:25: warning: incompatible pointer to integer conversion initializing 'unsigned int' with an
expression of type 'void *' [-Wint-conversion]
{ NULL, NULL, NULL, NULL, NULL }
^~~~
〜略〜
10 warnings generated.
rm -f xneko
cc -I/opt/X11/include -o xneko xneko.o -O -lX11 -lm
ld: library not found for -lX11🈁
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [xneko] Error 1
[macmini2014:ujpadmin 00:57:16 ~/bin/xneko ]
$
- リンカーがX11のライブラリを見つけられないというエラーがでている.
- ライブラリパスを指定して,makeを実行.
$ export LIBRARY_PATH=/opt/X11/lib🆑
[macmini2014:ujpadmin 01:02:07 ~/bin/xneko ]
$ make🆑
rm -f xneko
cc -o xneko xneko.o -O -lX11 -lm
[macmini2014:ujpadmin 01:02:12 ~/bin/xneko ]
$ ls -lat🆑
total 268
-rwxr-xr-x 1 ujpadmin staff 29168 3 3 01:02 xneko🈁
drwxr-xr-x 13 ujpadmin staff 416 3 3 01:02 .
-rw-r--r-- 1 ujpadmin staff 23848 3 3 00:57 xneko.o
drwxr-xr-x 9 ujpadmin staff 288 3 3 00:49 ..
-rw-r--r-- 1 ujpadmin staff 131072 3 3 00:45 xneko.tar
-r--r--r-- 1 ujpadmin staff 41391 9 2 1990 xneko.c
-rw-r--r-- 1 ujpadmin staff 8756 9 2 1990 Makefile
-r--r--r-- 1 ujpadmin staff 79 9 2 1990 Imakefile
-r--r--r-- 1 ujpadmin staff 1149 9 2 1990 xneko.man
-rw-r--r-- 1 ujpadmin staff 56 9 2 1990 Imakefile~
-rw-r--r-- 1 ujpadmin staff 5814 7 11 1990 xneko.map
drwxr-xr-x 38 ujpadmin staff 1216 7 11 1990 bitmaps
-rw-r--r-- 1 ujpadmin staff 6304 7 11 1990 README
[macmini2014:ujpadmin 01:02:50 ~/bin/xneko ]
$
- make成功.
- 実行する.
[macmini2014:ujpadmin 01:03:24 ~/bin/xneko ]
$ ./xneko &🆑
[1] 62699
[macmini2014:ujpadmin 01:03:28 ~/bin/xneko ]
$
- 動きました!