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

5. マルチユーザと非インタラクティブなセッション

5.1 マルチユーザ環境で dosemu は使えるか? 

使えます。dosemu はユーザ単位の設定ができます。詳しくは README.txt を読んでください。

5.2 非対話的に DOS コマンドを使うには?

以下のいずれかで行うことができます: 1. ファイルを dosemu の標準入力にリダイレクトする 2. dosemu 内で実際にコマンドが入力されたかのような動作をさせるキースト ロークを、キーストローク設定オプションと -I コマンドラインオプションを 用いて指定する(これらのオプションについては README.txt ファイルで説明 されています)。 3. mkdexe プログラムを使って DEXE ファイルを作成する。これは小さな DOS ファイルシステムのイメージで、実行したいプログラムだけが入っているもの です。詳しくは README.txt ファイルをご覧ください。

他にも方法がいくつかあります:

Daniel T. Schwager 氏(danny@dragon.s.bawue.de)の報告 (94/7/2):

異なる dosemu.conf (および異なる hd-boot-images, AUTOEXEC.BATファイル) を使って dosemu を起動するには以下のようにします。

$ dos -F my_quicken_q_exe_dosemu.conf

---------------------

Dietmar Braun 氏(braun@math20.mathematik.uni-bielefeld.de) の報告(94/7/4):

dosemu のリダイレクト機能を使うと全く問題なく動作します。環境変数を使っ て、(DOS の)ドライブ文字を linux のパスにリダイレクトすることができる のです。

筆者は以下のシェルスクリプトを"DOS"という名前で使っています。

 mkdir /tmp/dos.$$
 DOSTMP=/tmp/dos.$$; export DOSTMP
そして次にくるのが、 "echo $* > $DOSTMP/startup.bat" なのですが、これをうまく動作させるの にはちょっとした工夫が必要です(実は、小さな C プログラムなどでは、'/' を '\' に置き換えたり、行末を DOS 形式の CR/LF に書き換 えたり、ファイルの最後に ^Z を付け加えたりするものがあるから です)。そしてスタートアップファイルを生成して、このディレクトリの中に 必要なリンクを張り、そして dosemu をスタートします。hdimage の中の "AUTOEXEC.BAT" の中では、ドライブ C: をこのテンポラリディレク トリ($HOME$PWDへのリンクがある)にリ ダイレクトしておきます。 たとえば、8.3 形式に縮めたファイル名を見たいと思ったら、"DOS dir" とすればカレントディレクトリのファイルを見ることができます。 こうして、完全なマルチユーザー(私の場合、DOS パーティションは使ってい ません。また、Linux ファイルシステムへリダイレクトすることで、ユーザパー ミッションも保存されます)、マルチタスクの DOS(それぞれの dosemu セッショ ンは完全に独立しています)を手に入れることができます。私はこの方法で DOS のプリンタドライバをうまく使うことができました。printcap ファイル の df に DOS プログラムを指定することができるのです。これによって、DOS の実行ファイルを lpr のフィルタとして使うことができます。


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