作成開始 : 平成22年11月23日(火) 最終更新 : 作成開始 : 平成22年11月29日(月)

X11関係のインストール (FreeBSD 8.1 RELEASE)


無謀にも超低スペックなやつに X11 をインストールしようと思います。
ゆくゆくは、サーバー室(?)に置いて、VNCとか入れて Xとsshを併用したいと思います。

1.halの設定

・情報元はこちら -> FreeBSD Handbook - X11 の設定 http://www.freebsd.org/doc/ja_JP.eucJP/books/handbook/x-config.html
・HALって? -> http://ja.wikipedia.org/wiki/HAL_%28%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A2%29
( デーモン型のHardware Abstract Layerの一種らしい )
X serverや、いくつかのソフトからハードウェア情報を得る窓口として使用される場合がある。
ただ、haldが有効になっていると、こんなキーボードやマウスは知らないから無視するーみたいに、かえってソフトが動作しない場合もあり、必須というわけではないらしい。
旧式なものであるため、最近のLinuxでは使わないらしい。
以下の記述を/etc/rc.confに追加する。

hald_enable="YES"

そして、再起動(shutdown -r now)する。

2.dbusの設定

・情報元はこちら -> http://ja.wikipedia.org/wiki/D-Bus
プロセス間通信(IPC)実装のひとつらしい。
X11アプリケーション間メッセージ通信用のデーモンとのことである。
以下の記述を/etc/rc.confに追加する。

dbus_enable="YES"

そして、再起動(shutdown -r now)する。

3.Xサーバーのインストール

Portsから全部コンパイルするのは大変なので、バイナリパッケージを使うことにする。
( 全部コンパイルする場合は「cd /usr/ports/x11/xorg && make install clean」とする。)
pkg_add -r xorg
FreeBSDのftpサーバーから関連ファイルを取得して展開が始まります。
この非力なPCで約30分かかりました。
終了時点のディスク容量

 ↑
もう少しがんばれるかな?

4.Xサーバーの設定

(1)confファイルの作成
以下のコマンドを実行する。

Xorg -configure

これによりグラフィックカード情報などを調査して、/root/xorg.conf.new を作成してくれる。
(2)Xサーバーの表示テスト
/root/xorg.conf.new を適当に編集した後、/etc/X11/xorg.confにコピーしてXサーバの表示テストを行う。
とのことであるが、適当な編集がよくわからないので、そのまま cp /root/xorg.conf.new /etc/X11/xorg.conf した。
以下のコマンドを実行する。(-retroをつけないと、真っ黒な画面しか出なくて、動いているのかわからなくなるらしい。)

Xorg -config /etc/X11/xorg.conf -retro

動いていれば、白黒ドット模様の背景に×マークのマウスカーソルが表示される。
(動いてようだったけど、終了のさせ方がわからなかったので、ssh で shutdown -r now をした。)
マウス十字が見えます。
できあがった /etc/X11/xorg.conf は次のとおりです。
/var/log/Xorg.log.0に以下のような警告メッセージが出て、キーボードとマウスが効かない場合の対処
  (WW) AllowEmptyInput is on, devices using drivers 'kbd', 'mouse' or 'vmmouse' will be disabled.
  (WW) Disabling Mouse0
  (WW) Disabling Keyboard0
/etc/X11/xorg.confに以下のように記載し、HAL(hald)で取得した情報を無視させるようにします。
  Section "ServerFlags"
     # pattern(3) do not use HAL
     Option   "AutoAddDevices"    "False"
     Option   "AutoEnableDevices" "False"
     Option   "AllowEmptyInput"   "False"
  EndSection
(3)startx で試しに起動してみる
ウィンドウマネージャはtwm、xtermが3個起動しました。(xclockがインストール済みならxclockが起動するとのことです。)

一番大きなxtermをexitすればXサーバも終了します。
とりあえず動きました。

5.gnome2のインストール

他にもデスクトップはありますが、Vine Linux で使ってみた感じがよかったのでインストールしてみます。
これも、Portsからコンパイルするには時間かかりそうなので、バイナリパッケージを使ってみます。
pkg_add -r gnome2
FreeBSDのftpサーバーから関連ファイルを取得して展開が始まります。
この非力なPCで約1時間50分かかりました。
でも、pkg_add : package samba4-devel-4.0.0.all has no origin recorded なんか出ているのはなんでしょう?
 ↓
なんか、ports 自体が古いので +CONTENTS に ORIGIN が設定されていないためらしい。
ほっといていいのかな? メッセージ出ないよう騙す方法はあるらしいのだが。

それと、終わる直前に以下のようなのが・・・・

WARNING: Failed to parse default value '[????????? ??????? ;gnome-appearance-properties.desktop,????????? ?????????? ?????????? ; gnome applications.desktop, ????????? ????????? ;system-config-printer.desktop] ' for schema (/schemas/apps/control-center/cc_actions_list)

そして、最後に Broken pipe だって・・・やな予感!!

でも、気をとりなおして!
ホームディレクトリに.xinitrcが無い場合は、/usr/X11R6/lib/X11/xinit/xinitrcをコピーします。
これは、各ユーザごとにですね。
ホームディレクトリで cp /usr/X11R6/lib/X11/xinit/xinitrc ~/.xinitrc とします。
コピーした ~/.xinitrcの以下の部分をすべてコメントアウトします。
  #twm &
  #xclock -geometry 50x50-1+1 &
  #xterm -geometry 80x50+494+51 &
  #xterm -geometry 80x20+494-0 &
  #exec xterm -geometry 80x66+0+0 -name login
そして、ファイルの最後に以下を追加します。
exec gnome-session
・・・ startx とすると。

 ↑
おぉ、なにやらできた様子。
でも、最初なので英語です。
  ↑
~/.xinitrc に export LANG=ja_JP.UTF-8 するとフォントはカッコ良くないけど日本語表示します。

それに、うごかしていると、「ディスクの残り容量が足りないよ」とメッセージでます。
また、メニュー・バーはどこにあるのかな?
結局、「Ctrl+ALT+F2」で仮想コンソールを切り替えてリブートしちゃった。
メニューバーとかは、gnome-panel が無いとだめなようです。
なので仮想コンソールからログインして「ps ax | grep gnome-panel」としても該当のプロセスがありません。
また、「find / -name gnome-panel 」としても Ports にしかありませんでした。
どうやら、上の「pkg_add -r gnome2」でインストールされなかったようです。

pkg_add -r gnome-panel としてパッケージをインストールしました。これはすぐに終わりました。

そして、「shutdown -r now」で再起動してログインし startx しました。

 ↑
やっと普通のデスクトップになりました。♪

 ↑
この時点のディスク容量です。んんーーー Portsやめようか! それとも 16GくらいのCFカード買うか!
もう少し遊んでみたい気がします。
ここまでの設定では、いちいちログインして startx しなければなりません。
OS起動後に GUI なログイン画面を表示させてログインさせてみたいと思います。

このツールも種類があるようですが、今回は gdm を使ってみます。
まず、インストールされているか確認します。私は「find / -name gdm」で探してみました。そしたら、/usr/local/share/gdm にありました。
どうやら、gnome2 で一緒に入ったようです。
・・・と思いましたが、環境ファイルだけで実体は /usr/X11R6/sbin にありませんでした。
例によって パッケージからインストールしてみます。

pkg_add -r gdm

これもすぐに終わります。
/etc/rc.conf に以下を記述してOSを再起動します。
gdm_enable="YES"

 ↑
画面が出ました。でも・・・
 ↓
ユーザの入力または選択ができません。
どうやら、/etc/fstab に proc の設定がいるようです。
以下を /etc/fstab に追加して OS を再起動します。
proc /proc procfs rw 0 0

 ↑
やっとユーザ選択ができるようになりました。
しかし、ログオンすると言語が英語に戻っています。・・・ということは、startxでしたのとは違う設定ファイルがあるようです。
gdm 経由で起動したユーザの gnome も日本語にするには、.Xclients をユーザのホームデイレクトリに置く必要があります。

内容は次のような感じです。
#!/bin/sh

export LANG=ja_JP.eucJP

exec gnome-session
これで、gdm からログオンした画面も日本語表示になりました。
ついでに、gdm も日本語表示するには、/usr/loca/etc/rc.d/gdm の上の方に以下を記述すればいいです。
export LANG=ja_JP.eucJP
そして、OS再起動すると反映されます。
この段階でインストールされているパッケージを pkg_info で見てみました。
apache、samba なんかありますね。

6.vinoのインストール

GUIな画面をリモートで操作するためのツールです。
vnc serverをインストールしてうまく設定すれば、リモートのvncビューアで接続した時に gdm のユーザ選択から入ることができるのですが、そこまでしなくても私の場合は十分に使用可なので vino をインストールすることにしました。
これは、一旦ユーザでログオンしなければ使えません。
やはりパッケージからインストールしました。
pkg_add -r vino
インストールは直ぐに終わります。

pkg_info で見ると vino-2.28.2_1 がインストールされたようです。

shutdown -r now で再起動してみると、gnome のシステム->設定->リモートデスクトップ ができていました。
それでさっそく設定です。

例によってLAN内でしか使用しないので以下のように設定します。

 ↑
画像はWindowsPCのvncビューワから接続して取得したものです。
・・・で、WindowsPCから接続すると・・・・

 ↑
見事に接続して操作ができました。♪
やっぱ、ディスク容量不足なのでここから先は別途ですね。

戻る

サイトトップへ