NetBSD上にX環境を構築する話

# NetBSD上にX環境を構築する話

NetBSD Advent Calendarもついに最終日、今日はNetBSD-currentを追いかける話にしようかな...と思っていたのですが、Twitterを見るとこんなツイートが。

![img001.png](https://qiita-image-store.s3.amazonaws.com/0/61137/ffe37b8d-c07f-8b9c-69c4-a28536ab7972.png)

なるほど、これは全くごもっともであります。そこで最終日の今日は内容を変えて、NetBSDのX上で生活環境を構築してみる話にしようと思います。

考えてみたら、(最近はMacになってしまったけれど)持ち歩くノートPCにはNetBSDをインストールしてX環境を使っているので、その手順とかを紹介できればと思います。

## Xを設定する

X環境はNetBSDインストール時に"X11 sets"を選択すれば必要なファイルが展開されます。

![img026.tiff.png](https://qiita-image-store.s3.amazonaws.com/0/61137/e1b3a993-4894-e0ad-0978-deeaaff45914.png)

以下のコマンドを実行することで、サクッとXが起動する状態になります。

```sh
$ sudo Xorg -configure
$ sudo X -config /root/xorg.conf.new
$ sudo cp /root/xorg.conf.new /etc/xorg.conf
```

xinitを実行することで、Xが起動します。私の場合は、毎回コンソールからログインしてxinitを実行しています。

![img003.png](https://qiita-image-store.s3.amazonaws.com/0/61137/4ffbef94-9f29-b555-5cfb-a2b389dba7c1.png)

xinit実行の際には、xorg.confにdontzapオプションを入れていないと、Ctrl-Alt-BSでXが終了できてしまうので、念のためxinitはバックグラウンドで動かしつつ、現在のシェルはexitで抜けさせる形にしています。
(単にdontzapをちゃんと設定しておけば良いだけの話ですが...)

```sh
$ xinit & exit
```

## ウインドウマネージャーを使ってみる

昨今はデスクトップ環境なるものが提供されていますが、個人的にはスペックの低いPCを使っているという理由もあり、いまだにウインドウマネージャーをよく使っています。

### twm

Xの配布物にはtwmというウインドウマネージャがあるので起動してみます。

![img004.png](https://qiita-image-store.s3.amazonaws.com/0/61137/81c6e466-4734-46b6-0df2-01e181cbbea4.png)

### xinitrc

$HOME/.xinitrcを設定しておくことで、xinit実行時に好きなウインドウマネージャーを起動させることができます。

```
exec twm
```

### WindowMaker

デフォルトでXにtwmが付属しているとはいえ、さすがにちょっとtwmでは使いづらいところがあります。個人的にはWindowMakerがオススメなので、簡単な設定方法も含めて紹介してみます。

WindowMakerはパッケージで提供されているので、簡単に導入できます。

```sh
$ grep -i windowmaker pkg_list.txt
windowmaker-0.95.5nb3.tgz . . . . . . . . . . . . . . . Nov 20 00:33  2.22M
$ sudo -i pkg_add -v windowmaker
```

起動するとこんな感じです。ちょっとだけ設定を変更して、タイトルバーをグラデーション表示にするだけで見栄えが良くなります。

![img005.png](https://qiita-image-store.s3.amazonaws.com/0/61137/b1cb1b9a-b7f2-34a2-dfaf-8fea268605b4.png)

また、以下の設定でマウスカーソルでウインドウにフォーカスが合うようにしておくと便利です。

![img007.png](https://qiita-image-store.s3.amazonaws.com/0/61137/ea24fd1a-be3e-0e26-3176-eba03104794b.png)

## 端末エミュレータ

端末エミュレータはmltermが便利です。

```sh
$ grep -i mlterm pkg_list.txt
mlterm-3.3.8.tgz. . . . . . . . . . . . . . . . . . . . Nov 21 01:35  1.74M
```

併せて日本語フォントもインストールしておきます。

```sh
$ grep -i saza pkg_list.txt
ja-sazanami-ttf-20040629nb2.tgz . . . . . . . . . . . . Nov 16 10:02  9.96M
$ sudo -i pkg_add -v ja-sazanami-ttf
```

## 日本語入力

日本語入力にはuimがあるので、これを利用します。

```sh
$ grep uim pkg_list.txt
scim-uim-0.2.0nb22.tgz. . . . . . . . . . . . . . . . . Nov 22 02:10  57.0K
uim-1.8.6nb16.tgz . . . . . . . . . . . . . . . . . . . Nov 20 02:24  3.58M
uim-chewing-0.1.0nb1.tgz. . . . . . . . . . . . . . . . Nov 22 05:00  33.2K
kimiuso tsubaki $ sudo -i pkg_add -v scim-uim
```

leafpad(テキストエディタ)を例に日本語入力をしてみます。

```sh
$ grep -i leafpad pkg_list.txt
leafpad-0.8.17nb20.tgz. . . . . . . . . . . . . . . . . Nov 21 02:17  99.0K
$ sudo -i pkg_add -v leafpad
```

![img008.png](https://qiita-image-store.s3.amazonaws.com/0/61137/d50dc407-dc4a-3288-7388-0b19e3fd9893.png)
## プレゼンテーションツール

プレゼンテーションツールとしては、MagicPointがオススメです。

```sh
$ grep -i magicpoint pkg_list.txt
magicpoint-1.13anb26.tgz. . . . . . . . . . . . . . . . Nov 21 17:22   565K
```

![img010.png](https://qiita-image-store.s3.amazonaws.com/0/61137/41033273-8497-64c6-9f19-c16b6d3571bd.png)

と、こんな感じで(私個人の利用範囲的には)NetBSDのX11環境は十分に利用できている感じです。

## おわりに

後先考えずにNetBSD Advent Calendarを始めてみたのですが、なんとか無事に完走することができました。これもひとえに皆様にご協力いただいたおかげです。

[ryoon](http://wiki.netbsd.org/users/ryoon/ "ryoon")様、[@ebijun](https://twitter.com/ebijun "@ebijun")様、[@cvsync](https://twitter.com/cvsync "@cvsync")様、[knok](https://github.com/knok "knok")様、[@tisihara](https://twitter.com/tisihara "@tisihara")様、[ozaki-r](https://github.com/ozaki-r "ozaki-r")様、[@oshimyja](https://twitter.com/oshimyja "@oshimyja")様、[adukot](https://github.com/adukot "adukot")様、[@nullnilaki](https://twitter.com/nullnilaki "@nullnilaki")様、[nonakap](http://www.asahi-net.or.jp/~aw9k-nnk/ "nonakap")様(担当日順です)、本当にありがとうございました。

だいぶ気が早いですが、来年もNetBSD Advent Calendarを開催できたらと考えていますので、何卒よろしくお願いいたします。