NetBSD/macppc X11 FAQ
NetBSD/macppc X11 FAQ
全般的な質問
- どの X Window System パッケージを使えばよいですか?
- delete キーが消去でなくチルダ (~) になるのはなぜ?
- Cannot open kbd/mouse : no such file or directory
- X で 1 ボタンマウスを使って 3 ボタンマウスをエミュレートする方法は ?
XFree86 の質問
Xmacppc の質問
他の情報源
全般的な質問
どの X Window System パッケージを使えばよいですか? (トップ)
Xmacppc ですか? それとも XFree86 ですか? NetBSD/macppc の xserver.tgz に含まれ配布されている完全な X Window System サーバーは、二つあります。
Xmacppc パッケージは、 Open Firmware によって セットアップされた raw デバイスを使います。これは機能が非常に限られますが、 NetBSD でサポートしている macppc の機種のほとんどすべてで動きます。 画面解像度の変更や 8 bpp を超える色数の使用はできません。 これは、いかなる種類のアクセラレーションも持っていません。
XFree86 パッケージは、 ビデオカードのチップセットに関して自身のもつ知識を使いますが、 (ATI や NVIDIA 製のビデオカードを使っている最近の機種とは対照的に) Apple 開発のビデオチップセットを持つ古い macppc の機種には ドライバーがありません。このため、 XFree86 は NetBSD/macppc 対応機種の一部しかサポートしていませんが、より高機能の X サーバーです -- 解像度切り替えや 8 bpp を超える色数を扱えるほか、 いくらかのアクセラレーションもあります。
異なる X サーバーを選ぶためには、 /usr/X11R6/bin/X
のリンク先をお好みのサーバーに向けてください。
#
cd /usr/X11R6/bin#
ls -l X* lrwxr-xr-x 1 root wheel 22 Nov 12 13:50 X@ -> /usr/X11R6/bin/XFree86 -rws--x--x 1 root wheel 1918906 Nov 12 13:48 XFree86* -rws--x--x 1 root wheel 1506734 Nov 12 13:48 Xmacppc* -r-xr-xr-x 1 root wheel 27494 Jun 9 2001 Xmark* -r-xr-xr-x 1 root wheel 3518011 Nov 12 13:48 Xnest* -r-xr-xr-x 1 root wheel 1914704 Nov 12 13:48 Xprt* -r-xr-xr-x 1 root wheel 3832078 Nov 12 13:48 Xvfb*#
rm X#
ln -s Xmacppc X
delete キーが消去でなくチルダ (~
) になるのはなぜ? (トップ)
実は、 delete キーは delete エスケープシーケンス (他のすべての VT100 エミュレーターが使っている) ではなく、本来の VT100 の delete キーを出しています。
これを変えるには、下記のコマンドを X サーバーを起動するたびに実行する必要があります:
#
xmodmap -e "keycode 59 = BackSpace"
もちろん、このコマンドを xdm/Xsetup_0
ファイルや各ユーザーの
.xinitrc
ファイルに書いておいてもかまいません。
単に xterm をこのようにしたいだけなら、次の 1 行をデフォルト設定として どこかに書いておきます:
XTerm*VT100*deleteIsDEL: true
これのもっとも一般的な場所は
/usr/X11R6/lib/X11/app-defaults/XTerm
ですが、ここに書くと、
あなたやユーザーが、本来の VT100 delete キーとなっていないリモート
X サーバーで xterm を実行した場合に問題を起こします。
最も無難には、 X をコンソールから使うユーザー全員のホームディレクトリーの
.Xdefaults
ファイルに書いておくことができます。
Cannot open kbd/mouse : no such file or directory
(トップ)
これは、 root 以外のユーザーが startx や xinit を実行しようとしたときに起こります。 NetBSD/macppc のデフォルトでは、 コンソールデバイスは root だけのものになっています。 xdm などを使ってはどうでしょうか。 xdm は、ユーザーがうまくログインするとパーミッションを変更します。
このほか、 ttyaction(5) を使って、ユーザーのログイン時にパーミッションを
変えることもできます。たとえば、下記の内容をもつ /etc/ttyaction
を作ります。
console * /usr/sbin/chown ${USER} /dev/wskbd0 /dev/wsmouse0 ttyE0 * /usr/sbin/chown ${USER} /dev/wskbd0 /dev/wsmouse0
X で 1 ボタンマウスを使って 3 ボタンマウスをエミュレートする方法は ? (トップ)
今のところ、キーボードのキーをマウスのキーとして設定することができるだけです。 安価な 3 ボタンマウスを探してみてください。ほとんどの ADB と USB マウスはサポートされています。
キーボードのキーをマウスのキーとして割り当てるには、
xmodmap(1) を使います。
各ユーザーごとのホームディレクトリーに .xmodmaprc
ファイルを作り、
.xinitrc
で `xmodmap .xmodmaprc
' を実行するようにします。
.xmodmaprc
の内容は、どのキーをキーボードでのマウスボタンの有効/
無効化に使うか、また、どのキーをマウスをどのボタンに割り当てるか、によって
変わります。たとえば、 Apple Extended Keyboard II で、筆者は次のように
しています:
keycode 79 = Pointer_EnableKeys keycode 113 = Pointer_Button1 keycode 115 = Pointer_Button2 keycode 121 = Pointer_Button3
ここで、 keycode 79 は “Num Lock” キー (マウスキーを有効/ 無効化する) 、 113、 115、 121 は F13、 F14、 F15 キーです。
PowerBook (FireWire) では、筆者は F8 (108) を有効化に、 F10 (117)、 F11 (111)、 F12 (119) をマウスキーとして使っています。
キーとキーコードの対応を調べるには、
xev(1)
コマンドを使います。このほか、同様にして delete キー を .xmodmaprc
に
入れたいと思うかもしれません。
XFree86 の質問
XFree86 が使える機種は? (トップ)
サポートされているのは Open Firmware の初期化に対応しているビデオカード だけです。言いかえれば、最近の機種 (つまり Open Firmware 3) または サポートされているビデオカード (ATI Rage 128 など) だけということです。
XFree86 を使うには XF86Config
ファイルを作る必要があります。
XF86Config
ファイルの作り方は ? (トップ)
xf86config を使ってみてください。あるいは、 port-macppc@NetBSD.org へ投稿してサンプルを求めてください。
Fatal server error: ppcPciInit: /dev/kmem
(トップ)
残念ながら、今のところ XFree86 X サーバーは、通常は root
プログラムだけがアクセス可能とすべき /dev/kmem
への直接のアクセスを必要とします。下記のようにすることで、
(小さなものとはいえ) セキュリティーホールを作ることになります。
options INSECURE
を指定して
新たにカーネルをコンパイルする必要があります。これは NetBSD
で配布されているデフォルトの GENERIC
カーネルでは有効になっていないからです。
keymap に失敗します。 (トップ)
XFree86 がキーボードマッピング情報を保持するために、 (root で) 下記のディレクトリーを作る必要があるかもしれません。
#
mkdir -p /var/db/xkb;chmod 755 /var/db/xkb
Xmacppc の質問
どの機種で Xmacppc が動きますか ? (トップ)
コンソールでのブートが可能な全機種と、サポートされたビデオカードを持つ (そのビデオカードが適切な Open Firmware 初期化コードを持つ) 機種です。 シリアルコンソールを使う必要のある機種では、どの X サーバーも動きません。
ほとんどすべての NetBSD/macppc 機種をサポートしますが、制限としては 色数が 8 bpp に制限されることと、画面解像度を変更する方法がないこと、 グラフィックアクセラレーションがまったくないことです。
解像度や色数を変える方法は ? (トップ)
NetBSD 上では変更できません。 Open Firmware 上で変更しなければなりません。 また、 NetBSD/macppc は 8 bpp を超える色数には対応していません。
古い機種 (7300 - 8600) は Open Firmware で解像度を変更できません。 これらの機種では (パッチ適用後) 640x480 、 67 Hz に固定されます。 パッチを当てない場合は周波数が決まりません (たいてい 60 Hz か 120 Hz ですが、そうとも限らないのでなんとも) 。
最近の機種では、 Mac OS で必要な解像度を設定する必要があります。 Open Firmware はその設定を保持します。
Chris Tribo によれば、彼の XClaimVR 64 カードは Mac OS のモニターの設定を 無視して、いつも同じ解像度を使うとのことです。
他の情報源
NetBSD ドキュメンテーション: X Window System (トップ)
The Xfree86 Project Home Page (トップ)
Back to NetBSD/macppc ポートのページ