LinuxでのDOSアプリケーションの実行

LinuxでDOSアプリケーションを実行する必要は一般的ではありません実際には必要です。 だからどういうわけかそれは私に起こった、私は私の経験を共有することを決めた、多分誰かが役に立つでしょう。



また、かつてはクリニック向けに作成されたアプリケーションで、DOSでFoxpro、Linuxで実行されていた人が実行する必要がありました。 Windowsライセンスを購入するお金はありませんでした。



ソースデータ:

Suse Linux Enterprise Desktop 10.3-ワークステーション。

Suse Linux Enterprise Server 10.3、Sambaにボールがあります(Win-serverのライセンスにもお金がなかったため、以前Windowsで動作するワークステーションを共有していました)、ボールの名前は、奇妙なことに、SHAREです。

すべてが2〜3年前に発生したため、インストール時のSLEDとSLESのバージョンはそれほど古くありませんでした。



なぜなら サーバーはすでに構成されているため、以下で説明するすべての操作はデスクトップで実行されます。

リポジトリから置くか、 dosemu-xxx.rpmを個別にダウンロードします



キリル文字フォント(以下、 XFontsフォルダーと呼びます)も必要です。どこで入手したか覚えていません。アーカイブの記事に添付します。



ボールをマウントするフォルダーを作成し、マウントをfstabに登録してマウントします。
su mkdir /mnt/dos chmod 777 /mnt/dos echo "//192.168.0.130/SHARE /mnt/dos cifs iocharset=utf8,codepage=cp866,noperm,forcemand,direct,nounix,nolock,username=user,password=userpassword,rw 0 0" >> /etc/fstab mount /mnt/dos
      
      



簡単な説明:192.168.0.130-サーバーIP、ユーザー、およびユーザーパスワードは、Sambaボールへのアクセスを許可されているサーバー上のユーザーから取得されます。



次に、フォントをコピーします。
 cp -rf XFonts /usr/X11R6/lib/X11/fonts/
      
      



/etc/X11/xorg.confファイルの残りのフォントと同様にフォルダーを登録し、コマンドでシステムに追加します。



 /usr/sbin/fonts-config
      
      







/etc/dosemu.confでは、適切なセクションで次のオプション追加または変更します(これらのオプションのみが残ってしまいました)。



 ## Terminal related settings # Character set used externally to dosemu $_external_char_set = "utf8" #  Linux # Character set used by dos programs $_internal_char_set = "cp866" #  DOS ## Keyboard related settings $_layout = "ru" #  ## Printer and parallel port settings $_lpt1 = "lp -o media=a4 -o cpi=11" # ,      LPT  # #$_lpt1 = "iconv -f cp866 -t utf8 | lp -o media=a4 -o cpi=11 -d printername" ## Setting specific to the X Window System (xdosemu, dosemu -X) $_X_font = "vgacyr" #  
      
      







/ usr / share / dosemu / drive_zフォルダーにあるautoexec.batファイルに、次のよう記述します(#をコピーして説明を削除する場合は!!!)。



 @echo off rem autoexec.bat for DOSEMU + FreeDOS path z:\bin;z:\gnu;z:\dosemu;p:\ovl1;p:\ovl;p:\prv # ovl1;p:\ovl;p:\prv -     DOS; set HELPPATH=z:\help set TEMP=c:\tmp blaster prompt $P$G unix -s DOSDRIVE_D if "%DOSDRIVE_D%" == "" goto nodrived lredir d: linux\fs%DOSDRIVE_D%:nodrived lredir p: linux\fs/mnt/dos #    Linux  DOS unix -s DOSEMU_VERSION echo "Welcome to dosemu %DOSEMU_VERSION%!" unix -e xmode -fullscreen on #  Dosemu    lin.bat #     DOS
      
      







わかりやすくするために、 lin.batの内容を以下に示します (#をコピーして説明を削除する場合は!!!)。



 @ echo off p: #    p: cd ovl1 #     p:\ovl1\reg01.fxp #   ( .fxp  ,      .exe,   Foxpro) xmode -fullscreen off #         exitemu #   
      
      







次のコマンドで最初の起動を行います。
 dosemu
      
      



lin.batファイルがないため、figsに到達します。上記の内容の.dosemu / drive_cフォルダー(エミュレーターの初回起動時にフォルダーが作成されます)にホームディレクトリを作成することで修正します。



dosemuとvoilaを再び起動すると、dosプログラムが動作し、テキストがロシア語で表示され、Linuxでも印刷されます。



私の喜びは特定のプログラムに関連していますが、この方法では、パスとファイル名をすべてではなくとも置き換えれば、DOSで実行されている多くのアプリケーションが起動します。



PS

dosemuを開始するときに、以下をキャッチした場合:



 >LOWRAM mmap:  
      
      







次に/etc/sysctl.confに追加します



 vm.mmap_min_addr=0
      
      







さて、リブートします。

約束のアーカイブ。



All Articles