Skip to main content.
Google custom search

NetBSD/macppc X11 FAQ

NetBSD/macppc X11 FAQ

全般的な質問

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 以外のユーザーが startxxinit を実行しようとしたときに起こります。 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 ポートのページ