くんすとの備忘録

IT系技術メモ

移転しました。

15秒後に自動的にリダイレクトします。

【FreeBSD】Jailのホスト・ゲスト間でXDMCPする

Windows7 64bit上の VMWarePlayer上の FreeBSD10でのおはなし。

ざっくりとした説明と構成

  • Jailホスト → Xサーバ
  • Jailゲスト → Xクライアント

として環境を構築します。
なるべく、いらないものは入れないようにします。

※XサーバーとXクライアントを別環境にして作成すると役割が整理されてわかりやすく、勉強にもよいかなと思います。

設定手順

Jailホスト

必要パッケージの導入
$ pkg install qjail
$ pkg install xorg-server
$ pkg install xf86-video-vmware xf86-input-vmmouse xf86-input-keyboard
haldの設定

以下の内容で/usr/local/etc/hal/fdi/policy/policy10-keyboard-jp106.fdiを作成する

<?xml version="1.0" encoding="UTF-8"?>
<deviceinfo version="0.2">
<device>
<match key="info.capabilities" contains="input.keyboard">
<merge key="input.x11_options.XkbRules" type="string">xorg</merge>
<merge key="input.x11_options.XkbModel" type="string">jp106</merge>
<merge key="input.x11_options.XkbLayout" type="string">jp</merge>
</match>
</device>
</deviceinfo>
rc.confの設定

/etc/rc.confに以下の記述を追加

hald_enable="YES"
dbus_enable="YES"

haldとdbusの起動

$ service dbus start
$ service hald start
Xorgの設定
$ cd /root
$ X -configure
$ cp xorg.conf.new /etc/X11/xorg.conf

Jailゲスト

必要パッケージの導入
$ pkg install xinit xdm xterm xrdb sessreg xsm
Xaccessの設定

/usr/local/lib/X11/xdm/Xaccessの書き換え
これを

#*                                      #any host can get a login window

こう

*                                      #any host can get a login window
  • xdm-configの設定

/usr/local/lib/X11/xdm/xdm-configの書き換え
これを

DisplayManager.requestPort:     0

こう

DisplayManager.requestPort:     177
xdm起動スクリプトの作成
$ mkdir -p /usr/local/etc/rc.d

/usr/local/etc/rc.d/xdm.shを作成する

#!/bin/sh
/usr/local/bin/xdm
$ chmod +x /usr/local/etc/rc.d/xdm.sh
rc.confの設定

/etc/rc.confに以下の記述を追加

xdm_enable="YES"

起動

$ service xdm.sh start

XDMCP接続方法

JailホストからJailゲストへ、Xコマンドで直接XDMCP接続します。ちなみに、Xコマンドのヘルプは「man Xserver」です。
JailゲストのIPアドレスが「192.168.43.11」の場合は

$ X -query 192.168.43.11 &

でログイン画面が起動します。

スクリーンショット

f:id:kunst1080:20141102101148p:plain
f:id:kunst1080:20141102101154p:plain


あとはよしなに・・・