ДОСОВСКИЕ ПРОГРАММЫ НА LINUX

Изображение пользователя tachyon.

В школах до сих пор пользуются некоторыми старыми досовскими программами, и не потому, что не хотят использовать новые, а потому, что новых таких и нет, как например кенгуренок Roo и т.п.

В этой статье я расскажу как можно удобно пользоваться досовскими программами на Linux.

Первое что нам понадобится — это эмулятор DosBox, который есть почти в каждом дистрибутиве:

Ubuntu|/Debian/Mint/Alt: # apt-get install dosbox
SuSe: # yast -i dosbox
CentOS: # yum install dosbox
и т.д.

Если просто запустить dosbox, то далее придется сначала монтировать нужную папку, затем перейти в нее и запустить нужную программу, что не очень удобно, особенно часто, поэтому мы пойдем немного другим путем.

Для удобства создадим в своем каталоге папку dos:

#mkdir /home/username/dos

Скопируем в эту папку наши досовские программы, я к примеру возьму турбо паскаль.

Далее делаем скрипт который запустит dosbox, смонтирует папку, запустит программу и при завершении выйдет.

#echo dosbox -c «mount c: /home/username/dos/pascal» -c «c:» -c»c:/turbo.exe» -c «exit» > /home/username/dos/pascal.sh

Разрешим запускать pascal.sh:

#chmod +x /home/username/dos/pascal.sh

Теперь если мы кликнем на файле pascal.sh (который можно переместить на робочий стол или сделать запуск из меню), то сразу откроется турбо паскаль, и при выходе из паскаля закрывается и dosbox.

Для того чтобы программа открывалась в полноэкранном режиме после dosbox добавьте -fullscreen:

#echo dosbox -fullscreen -c «mount c: /home/username/dos/pascal» -c «c:» -c»c:/turbo.exe» -c «exit» > /home/username/dos/pascal.sh

Работая с досовскими программами может возникнуть проблемы с поддержкой русского языка, для решения это проблемы воспользуемся старым решением.

Качаем файл RUS.tar, распаковываем его в папку с программой и немного меняем скрипт:

#echo dosbox -c «mount c: /home/username/dos/pascal» -c «c:» -с «rus\univga» -c «rus\unikbd /ib7/k:rc» -c»c:\turbo.exe» -c «exit» > /home/username/dos/pascal.sh

Теперь с поддержкой русского языка проблем не будет.

Запускать досовские программы, также легко, можно и удаленно.
Для этого на другом компьютере создадим файл:

#echo ssh -X имя или ip адрес компьютера «/home/username/dos/pascal.sh» > pascal.sh

#chmod +x ./pascal.sh

Теперь при попытке запустить pascal.sh нас попросят ввести пароль, для того чтобы пароль каждый раз не вводить, можно использовать авторизацию по ключу, для этого создадим ключ:

#ssh-keygen -t dsa

На все вопросы жмем Enter. Должны получить, что то вроде этого:

Generating public/private dsa key pair.
Enter file in which to save the key (/home/tachyon/.ssh/id_dsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/username/.ssh/id_dsa.
Your public key has been saved in /home/username/.ssh/id_dsa.pub.
The key fingerprint is:
5f:68:e3:5b:af:9f:ba:95:ed:58:1e:29:09:78:ce:a7 username@host

The key’s randomart image is:
+—[ DSA 1024]—-+
| |
| |
| |
| .. |
| S.+o. |
| ++o. .o.|
| oo.+ooo|
| ooo.*.|
| .E+== o|
+——————+

Затем скопируем созданный публичный ключ на удаленную машину:

#ssh-copy-id -i /home/username/.ssh/id-dsa.pub имя или ip адрес компьютера

После чего, при запуске pascal.sh сразу откроется паскаль, как будто он запущен локально.

При запуске 10 и более экземпляров, мы загрузим даже достаточно мощный компьютер, поэтому если мощность локальных машин позволяет, то лучше запускать dosbox на них.

Но если, все же, хочется запускать удаленно, то можно подкорректировать настройки dosbox и снизить нагрузку на host-машину.

Открывает в любом редакторе файл /home/username/.dosbox/dosbox-0.74.conf, и изменяем следующие строчки:

memsize=4

frameskip=5

cycles=2000

nosound=true

mididevice=none

sbtype=none

pcspeaker=false

tandy=off

disnay=false

joysticktype=none

serial1=disabled

serial2=disabled

Теперь dosbox расходует в 2-5 раз меньше ресурсов.

Удачи!

Дополнения и изменения будут на http://novamentis.ru

Спасибо

Спасибо огромное за статью!

Изображение пользователя linuxmaster.

Очень неплохо!

Очень неплохо! Спасибо. Особенно про сетевую часть. Никогда не думал использовать dosbox в таком плане.

Меня и других линуксоидов Омска и Омской области можно найти в jabber-конференции omsklug@conference.jabber.ru