X Window Systemの起動


xinitコマンドでX Window Systemが起動する。(Xや、そのシンボリックリンク先であるXFree86でもX Window Systemは起動できるが、xtermすら起動しない為、終了させることもできなくなるので、最低でもxinitで起動させるのが吉。ちなみにstartxはxinitと違ってシェルスクリプト。)

$ xinit


xtermが1つ起動した画面になる。X Window Systemでは基本的にウィンドウの上にマウスカーソルを乗せていないと、そのウィンドウに対する入力や操作が出来ないので注意。(ウィンドウマネージャ等で変わる場合がある。)
このままではウィンドウを動かすことも出来ないのでウィンドウマネージャTwmを起動し、ウィンドウにタイトルバーが付くようになる。尚、デフォルトでは日本語キーボードに対応していないので「&」は「Shift」+「7」で入力する。

$ twm &


タイトルバーを左クリックすると複数のウィンドウが重なっている場合に一番手前に持ってくることができる。ドラッグ&ドロップでウィンドウを移動させることもできる。
タイトルバーの左端にある●を押すとウィンドウがアイコン化される、アイコンを左クリックすると元に戻る。タイトルバーの右端にある□を押すとウィンドウの大きさを変更できる。
Twmは壁紙の部分で左クリックするとメニューが現れるので、ここから「Exit」を選択すると終了させられる。
Twmが起動している状態でxclockコマンド等を起動すると、xclockのウィンドウ枠だけが表示されて、配置する場所を聞かれるので、マウスで適当な場所を指定し、左クリックで決定する。

$ xclock &

xclockのようにメニューやコマンド入力画面を持ってないアプリケーションを終了させる場合はTwmのメニューからDeleteを選択して、終了したいウィンドウを左クリックする。
最初に立ち上がったxtermからexitコマンドを入力するとX Window Systemが終了する。

$ exit

同様にstartxコマンドでもX Window Systemが起動する。この時、ホームディレクトリに.Xauthorityファイルが無ければ0バイトで作成される。

$ startx


こちらはxtermが3つとxclockが1つ開き、ウィンドウマネージャとしてTwmが起動する。タイトルバーにloginと表示されているxtermからexitコマンドを入力するとX Window Systemが終了する。

$ exit

NetBSD の設定

時計が9時間進んでしまう

時計が狂ってしまうのを抑制するために「/etc/rc.conf」ファイルに次の1行を追加する。

rtclocaltime=YES

「/etc/defaults/rc.conf」ファイルを確認すると「hostname=」より後で、「dhclient」より前にあるので、その間に挟むようにして挿入してやるのが吉。

起動時に正確な時計合わせを行う

NTPを使って起動時に時計を正確に合わせたい。持ち歩いて使う都合上、自宅のプロバイダのNTPサーバは使えないので、NTPサーバはインターネットマルチフィード時刻情報サービス for Publicを使うことにする。/etc/ntpd.confの以下の箇所を書き換える。

server          0.pool.ntp.org
server          1.pool.ntp.org
server          2.pool.ntp.org

インターネットマルチフィード時刻情報サービス for Publicは複数設定も可能なので、以下のように3つのNTPサーバを指定する。

server          ntp1.jst.mfeed.ad.jp
server          ntp2.jst.mfeed.ad.jp
server          ntp3.jst.mfeed.ad.jp

あとは/etc/defaults/rc.ocnfのntpdate=で始まる記述を参考に/etc/rc.confに以下の1行を追加する。

ntpdate=YES             ntpdate_flags="-b -s"

さらにntpサーバとして稼動させる場合は以下の1行も追加した後、「touch /var/db/ntp.drift」でドリフトファイルを作成しておく。

ntpd=YES

日本語キーボード

インストール時に日本語キーボードを指定していると、「/etc/wscons.conf」ファイルに「encoding jp」の1行を追加する必要がない。

ネットワーク設定

インストール時にネットワークの設定を行い、それを使うように指定していると特に設定する必要は無い。

  1. ネットワークアダプタは「dmesg | grep "Ethernet address"」等でデバイス名を確認できる。QEMUの場合、ne2やwm0のデバイス名が使える。尚、redirでポートを割り振る際は 10.0.2.15 のIPアドレスフォワードされるので注意。この場合のデフォルトゲートウェイは10.0.2.2でDNSサーバは10.0.2.3になる。
  2. DHCPサーバを使う場合は、/etc/defaults/rc.confを参考に/etc/rc.confにnet_interfaces="ne2"と、dhclient=YESの2行を追加する。
  3. IPアドレスを手動で割り振る場合は以下の手順を行う。
  4. /etc/ifconfig.ne2 を up、10.0.2.15 netmask 0xffffff00 media autoselect の2行で作成。
  5. /etc/hosts に 127.0.0.1 localhost.my.domain、10.0.2.15 nbsd31.takesada.co.jp nbsd31 の2行を追加。
  6. /etc/rc.conf に hostname="hoge.my.domain"、defaultroute="10.0.2.2" の2行を追加。
  7. /etc/resolv.conf に search my.domain、10.0.2.3 を追加。

NetBSD の終了

終了させるにはshutdownコマンドを使う。(root権限がないと実行できない。)
shutdownの-hオプションは停止の意味で、代わりに-rを指定すると再起動になる。nowは即時終了を意味する。

# shutdown -h now
(中略)
The operating system has halted.
Prease press any key to reboot.


緑色で上記メッセージが表示されたら電源を切っても良い。「Enter」キー等、適当なキーを押すと再起動になる。-rオプションを指定した場合は自動的に再起動される。

root権限の取得


rootになる(root権限を得る)にはsuコマンドを使う。

$ su
Password:

rootのパスワードを入れる。

Password:
May 27 22:10:59 tpx20 su: hogehoge to root on /dev/console
# 

rootから元のユーザに戻るにはexitコマンドを使う。

# exit
$ 

一般ユーザの追加


OpenBSDLinuxのようにadduserコマンドは無いので、useraddコマンドで一般ユーザを作成する。(グループは一般ユーザ用にグループIDが100のusersが予め用意されている。)
デフォルトはusersグループに所属するので、root権限を得られるように-Gオプションでwheelグループにも所属するよう指定し、-cオプションで登録するユーザのフルネームを指定、-mオプションでホームディレクトリの作成と、/etc/skelディレクトリから初期ファイルのコピーを指定、最後にユーザ名(この例ではhogehoge)を入れて一般ユーザを作成する。(シェルはデフォルトで /bin/sh を使用するように設定される。)

hoge# useradd -c 'Hoge Hoge' -G wheel -m hogehoge
hoge# 

このままではパスワードが無効でログインできないので、passwdコマンドでパスワードを設定する。(パスワードは確認のために2回同じものを入力する必要がある。)

hoge# passwd hogehoge
Changing password for hogehoge.
New Password: 
Retype New Password: 
hoge# 

NetBSD のログイン操作(使用開始)

NetBSD/i386 (hoge.my.domain) (console)

login: 

と表示されたら、ユーザ名を入れる。(最初は「root」しか無い。)

Password: 

と表示されるので、パスワードを入れる。

(中略)
NetBSD 4.0 (GENERIC) #0: Sun Dec 16 00:20:10 PST 2007

Welcome to NetBSD!

Terminal type is vt100.
We recommend creating a non-root account and using su(1) for root access.
hoge# 

rootでログインすると「root以外のユーザを作成して、root権限を使うのにsuコマンドを使え」と教えられる。