Let's enjoy FreeBSD

最初に戻る <<「パッケージの導入と日本語の表示」 「日本語を編集する」>>

X 起動の自動化 - xdm を使う

FreeBSD を起動するたびに xinit と ウィンドウマネージャを手動で立ち上げるのは面倒なので、FreeBSD の起動時に X の環境下でログインできるように設定します。これを実現してくれるのが xdm です。

xdm 起動のための設定

FAQ によると、xdm の起動方法として /usr/local/etc/rc.d/ にシェルスクリプトを書く方法と /etc/ttys から xdm を起動するように設定する方法の2つがあるようです。私は各種参考書を見て /usr/local/etc/rc.d/ にシェルスクリプトを書く方法を選びました。

かなり危ない状況

最初に書いたスクリプトでは、xdm はログイン画面を出すものの、そのまま止まってしまうようでした。Ctrl-r も Ctrl-Alt-BS も効かず、スクリプトの修正もままならない状態。しかし、見えないところで FreeBSD は動作しているらしく、画面に変化はなくてもキーボードからユーザー名とパスワードを入力すればログインできるみたいでした。ルートでログインすると、右下のコンソールにかろうじてメッセージが表示されるので、ログインできたことが分かりました。気合いで先ほど書いたスクリプトを実行不可にしてコンピュータを再起動し、何とか復帰。ネットワークの設定が済んでいれば、他のコンピュータから操作できたんでしょうね。
######
shutdown さえできれば、シングルユーザーモードで再起動して設定し直せばいいんでしょうね。当時はシングルユーザーモードに入る方法を知らなかったのだ。
######

何が悪かったのか

xdm の起動時にオプションはつけなかったのですが、/etc/ttys を見ると xdm の起動例として -nodaemon というオプションをつけたものが書かれていました。そこで、私の書いたスクリプトにも同様のオプションをつけてみたところ、一応動作しました。しかし、X の環境から抜けようとすると、やはりおかしくなってしまいます。
このオプションの意味するところは私には分かりません。機会があれば意味を調べたいと思います。

.xsession の準備

xdm からログインしたときに afterstep が自動的に起動すると便利です。そこで、ログイン後に実行される $HOME/.xsession を用意しました。

#!/bin/sh
LANG=ja_JP.EUC
export LANG
exec afterstep
これを実行可能に設定してできあがり。

注意

このホームページを参考にすることは構いませんが、あなたにどのような損害が出ても私は責任をもちません。
また、内容についてご質問いただいてもお答えすることはできませんので、ご了承ください。
ただし、励ましや間違いの指摘のメールは送っていただけるとうれしいです(^^;。

Email to

oh_@mvf.biglobe.ne.jp

最初に戻る <<「パッケージの導入と日本語の表示」 「日本語を編集する」>>

Let's enjoy FreeBSD