第3回 Windows8.1上で動くVirtualBoxでFreeBSD 10.1をGuestで動かす : [X-Windowを入れるついでにportsの環境整備]

公開日: : 最終更新日:2015/07/07 FreeBSD, unix, VirtualBox ,

VirtualBoxのGuestとして動かしている”FreeBSD 10.1″で、X-Windowのinstallをして、portsの環境整備をします。
(今回は無難にX serverとX clientを両方ともGuestの仮想マシン上で動かす方式です。)

前回までの記事は下記を参照して下さい。

X-windowのinstall

方針

  • Window Managerは軽くて実績のあるxfce4を入れることにします
  • X-window上の日本語入力はSCIMとAnthyにすることにします

VirtualBoxで動くFreeBSD側では実機のビデオカードをデバイスとして認識できません。VirtualBoxでX-Windowを使う際の追加のVideo Driverを入れたいので virtualbox-ose-additionsを入れます。これを入れないと、解像度がとても低くて残念な感じのX-Window環境になります。

pkgコマンドでvirtualbox-ose-additionsとxorgを入れる

公式Handbookの22.2.4. VirtualBox™ Guest Additions on a FreeBSD Guestではportsで入れていますが、ここでは時間とディスク容量を節約したいのでpkgコマンドで入れます。

pkgコマンド経由でvirtualbox-ose-additionsを入れると依存関係にあるX-windowシステムのプログラム群も大体入ります。
“pkg install xorg”は必要ありません。
上記だけではstartxコマンド等、入らないものもあるので”pkg install xorg”も必要です。

/etc/rc.conf に追加してHALを使えるようにする

日本語fontを入れる

日本語入力システムを入れる

WindowManagerであるxfce4を入れる

PolicyKitの編集

X-windowで一般ユーザーでもshutdownなどができるようにします。
/usr/local/etc/PolicyKit/PolicyKit.conf を編集します。
/usr/local/etc/PolicyKit/PolicyKit.conf を編集するだけではxfce4では一般userによるシャットダウンはできないみたいです。
普通にx-windowからlogoutして仮想consoleからsudoでshutdownしましょう。
他のwindow managerではできるかもしれませんので記述は残しておきます。

ここで一度rebootをかけます。

xorgの設定

“Xorg -configure” でxorg.conf.newを生成させます。

rootで実行していれば/root/xorg.xonf.newが生成されている筈なので、適宜editorで編集する。
実機の場合は自動生成された結果をそのまま使ってもうまくいくのですが、 VirtualBox環境の場合そこそこいじります。

xorg.confの参考URL

xorg.conf.newのFilesセクションにFontPath “/usr/local/lib/X11/fonts/bitstream-vera/”とFontPath “/usr/local/share/fonts/dejavu/”を追記します。
bitstream-veraの方はinstall時点でディレクトリが存在しなかったので追加しなくても良かったのかもしれませんが、参考にしたサイトでは加えてあったのでそのままにしました。

xorg.conf.newのModuleセクションにLoad “freetype”を追記します。

xorg.conf.newのInputDeviceセクションのMouse0のDriverの値を”vboxmouse”に変更します。

xorg.conf.newのDeviceセクションのIdentifier “Card0″のDriverの値を”vboxvideo”に変更します。
これもDriver “vboxvideo” だけで問題ないっぽいですが、一応。

編集し終わったファイルを/etc/X11/xorg.confにコピーします。

X-windowでのキーボードマッピングの設定

ファイル /usr/local/etc/hal/fdi/policy/10-x11-kbd.fdi を作成し、以下のように編集します。
実はこれだけではなく、xfce4側(window manager側)での設定が必要になるのですが、それはX-window起動後にやります。
よくよく見るとちゃんとしたXMLファイルになっています。copy & pasteしない方はmatchとmergeを間違えないで下さい。

同時に開けるファイル数の上限を上げる

/etc/sysctl.confを編集します。

.xinitrcを作成・編集

.xinitrcはstartxコマンドを実行する際に実行されるものを記述したものです。

.xinitrcはMS-DOSやPC-DOSで言うところのautoexec.batだと思えばよいでしょう。Unixの方がDOSより歴史が長いのですが、DOSは滅んでしまった(DOSでしか使えないラインプリンタや保守がされていない9801の古い古い業務アプリなどを使うところでは使われていますが)のと、Unixは汎用機やserver等で使われてきましたが、DOSはパソコン(ホームコンピュータ)でしか使われていないのでautoexec.batを知っているの人はパソコン老人だと言えるでしょう。(行番号つきBASICやCP/Mを知っている人はパソコン仙人)

これをユーザーごとに作って、ユーザーごとのホームディレクトに設置します。

x-windowの起動

.xinitrcをホームディレクトリに設置したuser権限でstartxを実行すればokです。
startxは”pkg install xorg”でinstallされている筈です。

xfce4でのkeymapの設定

うまく106keyが見つからなかったので、とりあえず
xfce4_keyboard_01

  • キーボードモデルをSun Type 6 USB(日本語レイアウト)
  • キーボードレイアウトを日本語 OADG 109A

にすることでどうにかうまくできました。

portsの環境整備

Portsのファイルを取り寄せるMirrorサーバを選択する

Mirrorサーバのリストを参考に、pingコマンドの到達時間などを考えて自分に最適なMirrorサーバを選択する。
いろいろあって困ったら、日本に住んでいる場合ftp.jp.freebsd.orgにしておけば問題ない。
/etc/make.confを編集・追記します。

ほぼ使わないであろう(自然)言語関係のパッケージをREFUSE

/etc/portsnap.conf を編集して、

ports_refuse

30行前後にある項目からJapaneseを削除してREFUSEの前にあるコメントアウトを外します。

ports collectionの更新

ports collection の更新 初回時

ports collection の更新 二回目以降

port masterのinstall

portsでinstallしたプログラムのupdateはportmasterを使う方法とportupgradeを使うの方法の2択ですが、今回はportmasterを入れることにします。
公式Handbookではportコマンドでinstallしていますが、portコマンドで入れるより、既にコンパイルされているpkgコマンド経由で入れた方が楽です。

psearchのinstall

psearchを入れます。これもportコマンドで入れるより、既にコンパイルされているpkgコマンド経由で入れた方が楽です。

下の図は、pkg search nethack と psearch nethackの実行結果です。pkgとportsで大体どんな感じで収録内容が違ってくるか、というのがなんとなくわからないでもない感じでしょう。
コンパイルしなければならないので時間がかかりますが、portsの方がやはり最新のものが入っていますね。
psearch_vs_pkg_search

次回予告・その他

その4 [ブラウザやemacsなどを入れていくよ編](未完)に続くと思うので全然期待しないで待っていてください。

その1 第1回 Windows 8.1上で動くVirtualBoxでFreeBSD 10.1 を Guestで動かす : [Installガイドっぽい何か]
その2 第2回 Windows 8.1上で動くVirtualBoxでFreeBSD 10.1 を Guestで動かす : [hostからssh可能にしてbash入れてsudoを入れた]

もお読みください。

PC用四角形1

PC用四角形1

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

PC用四角形1

PAGE TOP ↑