前のページ 次のページ 目次

12. 問題とその解決法

12.1 セキュリティ関連dosemu の全ての機能(例えばポートへのアクセス)を使うためには、suid root を行う必要があります。dosemu は必要なときだけ "root" に suid し、その処理が終ると元の権限に戻ります。しかし、DPMI が有効な場合、DOS プログラムはユーザ空間全体にアクセスできるので、dosemu 自身を書き換えてしまうこともできます。これを禁止するためには、/etc/dosemu.conf で 'secure on'オプションを使用しますが、32ビットビデオゲーム等は動かなくなってしまいます(lermen@elserv.ffm.fgan.de(97/2/11))。例えば、有名なコンパイラをフルアクセスで実行することは、よくわかっていないソースから作ったゲームよりもセキュリティの問題は小さいと思われます。

12.2 dosemu が起動時に死んでしまいます。Windows95 をインストールしたのですが

dosemu は hdimage と command.com を含むものとして割り当てるドライブ で DOS のバージョンが同じであるものと信じます。これが同じでない場合に は、dosemu は遅かれ速かれクラッシュしてしまいます。 デュアルブートオプションを使っていて、"Starting Win95"の文字が出ている ときに F4, F5, F8 キーを押すと、Windows95 のドライブ側のバージョンが変 わるかもしれません。command.com には特に注意してください。config.emu のシェル変数が正しい静的バージョンの command.com を指すようにします。 例えば、"shell=c:\win95\command.com c:\ /P /E:1024"のよ うになります(97/02/28)。

12.3 dosemu がハングしてしまいました! どうやって止めれば良いでしょうか?dosdebugの使い方を覚えて、dosemu セッションをコントロールしましょう。

12.4 dosemu がクラッシュして、何も入力できません

Daniel Barlow氏(jo95004@sable.ox.ac.uk)の報告(95/4/8):

もし、ログインできる端末やネットワーク接続が無いなら、リセットボタンを 押さなければならないかもしれません。何とかシェルを起動できるなら、 "kbd_mode -a" を実行してキーボードをrawモードから切り替えるか、 コンソールで "stty sane" を実行して、入力した文字が表示されるよう にしてください。

dosemu をシェルスクリプトから起動し、dosemu の後に自動的に "kbd_mode -a" を実行させるのも有効な方法です。dosemu がクラッシュ してもスクリプトは走り続け、"kbd_mode -a" を実行されるというわけ です。

12.5 dosemu.conf の中で EMS メモリを有効にしたのに、うまく行きません

Rob Janssen 氏(rob@pe1chl.ampr.org)の報告(94/7/11):

dosemuと一緒に配布された ems.sys を config.sysの中で組込むのを忘れない でください。

12.6 "disk change" メッセージを出ないようにできませんか?

(94/8/11) klogd を手に入れて、インストールしてください。 次のURLで入手できます。

         sunsite.unc.edu:/pub/Linux/system/Daemons/sysklogd1.2.tgz

12.7 コンソールモードで dosemu を終わると、次の起動ができません

Aldy Hernandez 氏(aldy@sauron.cc.andrews.edu)の報告 (94/7/8):

ビデオか BIOS (あるいはその両方)のキャッシングを無効にしてください。

12.8 端末では dosemu が動くのに、コンソールでは動きません

JyiJiin Luo 氏(jjluo@casbah.acns.nwu.edu)の報告(94/4/19):

私も以前に同じ問題に出会いました。AMI BIOS のビデオシャドウは全て無効 にしないといけないようです。私のマシンではこれでうまく行っています。

12.9 dosemu をもっと速くできませんか?dosemu.conf ファイル内の HogThreshold 変数の値を変更するとうまくいくことがあります。

Daniel Barlow 氏(jo95004@sable.ox.ac.uk) の報告(95/4/8):

HogThreshold の値は、起動時に表示される BogoMips 値の大体半分に設定す るのがいいでしょう。

12.10 dosemu 内 で CD-ROM がうまく読めないことがあります

Vinod G Kulkarni 氏(vinod@cse.iitb.ernet.in)の報告 (94/4/7):

CD-ROM が Linux 上でマウントされていて、なおかつ dosemu から(割り当 てられたドライブとして) アクセスされた場合には、何らかの問題が起こるか もしれません。まず、カーネル内の CD-ROM ドライバ(ISO9660)がファイルの 種類(テキストかバイナリか等)を識別しようとします。もし、これができなけ れば、ヒューリスティックを使ってファイルの種類を推測しようとします。ファ イルのほとんどの部分はテキストファイルでもバイナリとして扱われるべきで ある場合、この推測が失敗することがあります。(これが果してバグなのか、 それとも機能と呼ぶべきかは微妙なところです。)

この結果、もし、このようなファイルを CD-ROM からコピーしようとした場合 (必ずしもdosemu 内だけでなく、Linux 内でも)、オリジナルよりファイルサイ ズが大きくなります(ˆMˆJ の前にスペースが入ります)。この ため、dosemu 内のプログラムがエラーを出したりハングしたりします。これ が dosemu の問題と誤解される事もあるでしょう。

Rob Janssen 氏(pe1chl@rabo.nl) の報告(94/8/10):

これを解決するには、この変換を止めてしまえばいいのです。 CD-ROM をマウントする時に、"-o conv=binary" オプションを付け るか、/etc/fstab に次の行を追加します。

/dev/cdrom      /cdrom          iso9660 conv=binary,ro
カーネルにパッチを当てる必要はありません。

12.11 デバッグ用の出力を見るには、どうすればいいですか?

Daniel Barlow氏(jo95004@sable.ox.ac.uk)の報告(95/4/8):

dosemu 0.60 では、デバッグ出力はコマンドラインで指定したファイルに書き 込まれます。/tmp/debug に全てのデバッグ情報を書き出すには、コ マンド "dos -D+a -o /tmp/debug" を使います。標準エラー出力を リダイレクトする必要は、もう無いはずです。

12.12 入力した文字にエコーが 2 回ももありりまますす

Nick Holloway 氏(alfie@dcs.warwick.ac.uk) の報告(94/2/22): stty の設定をいじってから dos を起動すると、入力文字が 2 回エコーされ るようになってしまいました。今こそ、その理由を明らかにしましょう!

こうなってしまうのは、コンソールに 'istrip' が設定されている時だけです。 私が思うに、 'istrip' がキーボードの生のスキャンコードを変形させてしま うために、キーを離したというイベントがキーを押したというイベントと同じ になってしまうのでしょう。

ですから、コンソールで scancodes を使っている場合には、入力処理を行わ ないようにします。(tty 回線の場合にこれをやってはいけません。)

12.13 dosemu で画面が乱れてしまいますdosemu で完全にはサポートされていないグラフィックスカードを使っていて、コンソールでグラフィックスを使えるようにしている場合には、dosemu がクラッシュすると画面が滅茶苦茶なままになってしまうことがあります。このような場合のために、Spudgun 氏 <spudgun@earthlight.co.nz> が次の解決法を投稿してくれました。まずはコンソール上でレジスタの保存を行います。~> cat /usr/bin/savetextmode~> restoretextmode -w /etc/textregs~> restorefont -w /etc/fontdataそれから、クラッシュしたときに次のスクリプトを実行します。restoretextmode -r /etc/textregsrestorefont -r /etc/fontdatarestorepaletteこれで直らなければ、どうしようもありません。私は X サーバがビデオカードのレジスタをおかしくしてしまったときにこのスクリプトを実行したら自体が悪化したこともありました。これは X サーバを変えたことか仮想端末で savetextmode を実行したこと(あるいはその両方)のせいだと思います。

12.14 MS FoxPro 2.6 が動きませんFoxPro 2.6 はネットワークドライブ上では動作しません。Alexey Naidyonov氏 <growler@growler.tsu.tula.ru> がこの問題について説明しています。おそらく、FoxPro のファイルが lredir した先のディスクにあるのだと思います。違いますか? 問題は FoxPro はこのようなディスクの上では動作しないことです。しかし、/etc/dosemu.conf で disk { partition ... } を設定することでうまく動きました。


前のページ 次のページ 目次