Arch Linux (5) PHP (5) GNU/Linux (4) JavaScript (4) CentOS (2) HTML (2) JSDeferred (2) heroku (2) Android (1) CSS (1) Cassandra (1) Git (1) Google (1) MySQL (1) Node.js (1) Redmine (1) Ruby (1) Subversion (1) jQuery (1) openSUSE (1) 公開鍵暗号 (1)

このブログを検索

Arch LinuxにOpenboxをインストール

Arch Linuxを最小インストールした直後の状態から、ウィンドウマネージャ「Openbox」の起動までの記録。
ウィンドウシステムは、X Window System。Xディスプレイマネージャには、SLiMを使用する。

そして、なるべく最小限のインストールを目標にするため
ファイルマネージャやインプットメソッド等はここではインストールしない。

ウィンドウシステムのインストール

pacman -S xorg-server xorg-xinit
インストールが済んだら、xinitのランコマンド「.xinitrc」をログインユーザーのホームディレクトリに設置する。
cp /etc/skel/.xinitrc ~/

この段階でXを起動しようとしても、恐らく「Fatal server error: no screens found」と出て起動できない。
使用しているグラフィクスカードにあわせたドライバをインストールする必要がある。

参考までに、extraリポジトリでは次のようなドライバが用意されている。
  • デフォルト: xf86-video-vesa
  • NVIDIA: xf86-video-nouveau
  • Intel: xf86-video-intel
  • ATI: xf86-video-ati
(参考:Xorg - ArchWiki #Graphics
Virtualbox仮想マシンの場合には、「virtualbox-archlinux-additions」をインストールするとエラーは出なくなった。

Xディスプレイマネージャとウィンドウマネージャのインストール

pacman -S slim openbox

必要なパッケージが揃ったら、「~/.xinitrc」にOpenboxのセッションを開始する行を付け加える。
# exec gnome-session
# exec startkde
# exec startxfce4
# ...or the Window Manager of your choice
exec ck-launch-session openbox-session
ConsoleKitを使用する場合は「ck-launch-session」を先に開始させる。

また、「/etc/inittab」のデフォルトランレベルの変更とログインマネージャの開始の行を付け加える。
# Boot to consoole
# id:3:initdefault:
# Boot to X11
id:5:initdefault:

...

# Example lines for starting a login maneger
#x:5:respawn:/usr/bin/xdm -nodaemon
#x:5:respawn:/usr/sbin/gdm -nodaemon
#x:5:respawn:/usr/bin/kdm -nodaemon
x:5:respawn:/usr/bin/slim >/dev/null 2>&1

「/etc/rc.conf」のDAEMONSの項には、D-Busを付け加える。
# DAEMONS
# -------
#
DAEMONS=(syslog-ng network crond dbus)

再起動の後、無事にSLiMが動作すればログイン画面が表示される。

SLiMのログイン画面

ログイン後のOpenbox

ひとまずOpenboxが起動するまでに仕上がったが、xtermすら入っていない状態なので何もできない。
ここからは用途にあわせて必要なパッケージを揃えていく。
以上の手順でインストールを行うとプロセスは次のようになる。

 /usr/lib/systemd/systemd-udevd --daemon
 dbus-daemon --system
 /usr/bin/slim
  \_ /usr/bin/X -nolisten tcp vt07 -auth /var/run/slim.auth
  \_ ck-launch-session openbox-session
      \_ /usr/bin/openbox --startup /usr/lib/openbox/openbox-autostart OPENBOX
 /usr/sbin/console-kit-daemon --no-daemon
 /usr/lib/polkit-1/polkitd --no-debug

関連


参考