Как запустить DOS программы в Linux
Есть шанс, что большинство из вас, читающих эти строки, начали своё «путешествие» в мир компьютеров через DOS. Хотя эта, уже давно устаревшая, операционная система теперь работает только в наших воспоминаниях, она всегда будет занимать особое место в наших сердцах. Тем не менее, кому-то захочется окунуться в ностальгические воспоминания или показать своим детям, на что было похоже прошлое, запустив некоторые приложения MS-DOS на вашем дистрибутиве Linux. Хорошие новости в том, что вы можете это сделать без особых усилий!
Для этой инструкции я буду использовать игру DOS, в которую я играл когда был маленьким ребёнком, она называется “UFO Enemy Unknown”. Это была первая в истории команды пошаговая стратегия, выпущенная Microprose чуть более чем 20 лет тому назад. Ремейк игры был реализован Firaxis в 2012, которые чётко выделили черты, так нравившиеся нам в оригинале.
Поскольку исполнимые файлы DOS — это .exe, само-собой приходит мысль, что мы сможем запустить их под Wine, но, к сожалению, у нас ничего не получится. Причина этому — “DOS memory range unavailability” — «Недоступность диапазона памяти DOS».
Это означает, что ядро Linux запрещает любым программам (включая Wine) выполнять 16-битные приложения и, таким образом, иметь доступ к 64k памяти ядра. Это функция безопасности и её нельзя изменить, поэтому начнём наши попытки с DOSBox.
DOSBox
Установите DOSBox из вашего Менеджера Приложений и затем откройте ваш менеджер файлов и убедитесь, что вы создали каталог с названием “dosprogs” в вашей домашней директории. Скопируйте файлы игры внутрь этого каталога, а затем откройте DOSBox, набрав в терминале “dosbox”. Теперь нам нужно смонтировать каталог “dosprogs” в dosbox. Чтобы это сделать, напечатайте
нажмите Enter в консоли DOSBox. Затем напечатайте
чтобы войти в новый смонтированный диск, как показано на следующем скриншоте.
Вы можете передвигаться по каталогам диска с использованием команды “cd”, совмещая её с “dir”, пока не достигнете исполнимых файлов игры. Например, напишите “cd GAME”, чтобы войти в каталог GAME, а затем напишите “dir” и нажмите Enter, чтобы увидеть что содержит каталог GAME. Если список слишком длинный для просмотра на экране, вы также можете попробовать использовать команду “dir /w/p”. В любом случае, исполнимым файлом является UFO.bat и я могу запустить игру напечатав имя файла (с расширением) и нажав Enter.
DOSemu
Другое приложение, которое позволяет вам запускать исполняемые файлы DOS под Linux, — это DOS Emulator (также доступный в Менеджере Приложений). В чём-то это программа проще, т. к. не нужно заботиться о монтировании разделов, можно набрать “D:” и войти в консольный интерфейс для доступа к вашей домашней директории. Оттуда вы можете передвигаться в каталог, содержащий исполняемые файлы DOS и запускать их таким же образом, как мы делали в DOSBox. Хотя DOSemu проще в использовании, она не всегда может работать безупречно, это я обнаружил по своим тестам. Вы всегда можете попробовать это и посмотреть, как идут дела.
FreeDOS
Ещё одна альтернатива, FreeDOS по-прежнему активно развивается и используется на очень старом железе или на встроенных системах. Также можно упомянуть DR-DOS.
Запуск DOS-приложения в Linux
Необходимость запуска DOS-приложений под Linux возникает нечасто, но случается. Вот как-то и со мной случилось, решил поделиться опытом, может, кому пригодится.
А нужно было запустить кем-то, когда-то написанное приложение для поликлиники, работающее на Foxpro под DOSом, в Linux, т.к. денег на покупку Windows лицензий не нашлось.
Исходные данные:
Suse Linux Enterprise Desktop 10.3 — рабочие станции.
Suse Linux Enterprise Server 10.3, на нем шара на Samba (я же до этого и расшаривал для работы с Windows рабочих станций, т.к. на лицензию для Win-сервака тоже денег не было), имя шары, как ни странно, — SHARE.
Происходило всё 2-3 года назад, поэтому версии SLED и SLES на момент установки были не такие уж и древние.
Т.к. сервер уже настроен, то все нижеописанные манипуляции производим на десктопе.
Ставим из репозитория, или отдельно скачиваем dosemu-xxx.rpm.
Ещё нам понадобятся кириллические шрифты (далее по тексту папка XFonts), не помню уже где я их взял, приложу в архиве к статье.
Создаём папку, куда смонтируем шару, прописываем монтирование в fstab и монтируем:небольшое пояснение: 192.168.0.130 — IP сервера, user и userpassword берём из пользователей на сервере, которым разрешён доступ к Samba-шаре.
Дальше копируем шрифты:прописываем папку подобно остальным шрифтам в файле /etc/X11/xorg.conf, и добавляем их в систему командой:
В /etc/dosemu.conf добавляем или изменяем в соответствующих разделах следующие опции (у меня в итоге только эти опции и остались):
В файл autoexec.bat, находящийся в папке /usr/share/dosemu/drive_z пишем следующее (. при копировании # и пояснения убрать. ):
Для полной ясности вот содержание lin.bat (. при копировании # и пояснения убрать. ):
Делаем первый запуск, командем:получим фигвам, потому что нет файла lin.bat, исправляем созданием в домашней директории, в папке .dosemu/drive_c (папка создаётся при первом запуске эмулятора) этого файла с вышеприведённым содержанием.
Ещё раз запускаем dosemu и вуаля, наша досовская прога работает, показывает текст на русском языке и даже распечатывает под Linux.
Мои изыски относились к определённой программе, но, думаю, таким способом, с заменой путей и имён файлов, запустятся если не все, то многие приложения работающие под DOS.
Dos эмулятор для linux
В этой статье хочу рассказать про установку эмулятора MS DOS — DOSBox в Ubuntu. И поделиться с вами опытом своей настройки, а именно русификация и запуск Norton Commander для более удобной навигации.
DOSBox — это эмулятор для PC, создающий DOS-окружение, необходимое для запуска старых программ и игр под MS-DOS. Эмулятор с открытыми исходниками и доступен под огромное количество систем, как настольных, так и мобильных.
Если хочется погрузиться в детство (молодость) и поиграть в игры того времени, то это идеальный инструмент. Мне недавно захотелось поиграть в Prince of Persia и пройти, наконец, эту игру, что в детстве так и не удалось. Вот так это выглядит в Ubuntu:
Установка DOSBox в Ubuntu.
Ничего сложного в установке нет, вы можете найти в Центре приложений Ubuntu DOSBox и установить оттуда или выполнить следующую команду в терминале:
Теперь этот эмулятор будет в списке установленных приложений. Или же для его запуска выполните команду в терминале:
Горячие клавиши управления эмулятором.
Скорость игр регулируется клавишами CTRL+F12 и CTRL+F11.
ALT+F12 – полная скорость.
ALT+ENTER — переход в полноэкранный режим.
CTRL+F10 — переключает мышку между окном DOSBox и рабочим столом.
CTRL+F9 – выход.
Настройка DOSBox в Ubuntu.
DOSBox не видит наши разделы на компьютере. Поэтому, чтобы запускать игры в нём, нам нужно примонтировать каталог. Для начала создайте в домашней директории папку для эмулятора, в котором будем складывать игры и приложения для DOS.
Я не проявил какой-то фантазии и назвал её DOS:
Теперь, чтобы этот каталог стал доступен в эмуляторе DOSBox, нужно в нём поочередно вводить следующие команды:
Монтируем каталог DOS домашней директории как диск C (вместо
/DOS — путь к вашему каталогу, значок
сокращенный путь к домашней директории текущего пользователя):
Переходим на диск С:
Переходим в каталог с игрой CD путь к папке с игрой:
И запускаем игру или программу, введя её название (.exe можно не вводить):
Кроме того, нужно русифицировать консоль, чтобы русский язык нормально отображался, для этого вводим:
Это нужно вводить каждый раз при запуске эмулятора! Не спешите удалять эмулятор, есть файл конфигурации приложения, где мы можем записать список команд, которые будут выполняться при старте эмулятора. То есть, мы автоматизируем эти рутинные команды.
Данный файл находится в домашней директории вашего пользователя .dosbox и называется dosbox-*.conf:
Открываем его и вписываем в самый конец все команды, которые хотим, чтобы выполнялись при старте. К примеру, те, что мы только что вводили:
Сохраняем. Теперь после перезапуска эмулятора у нас будет монтироваться каталог с играми и программами, а также будет русифицирован.
Но большинству пользователей лень вводить команды перехода в каталоги игр и прописывать их запуск. Именно поэтому и был придуман когда-то файловый менеджер Norton Commander. Я загрузил его по этой ссылке http://old-dos.ru/files/file_1458.html . Выбрал русскую версию 5.0, которую чаще всего качали другие. И вот что из этого получилось:
Гораздо удобнее навигация по каталогам и запуск игр.
Ну и в завершение, давайте добавим в файл конфигурации, чтобы Norton Commander стартовал при запуске эмулятора, допишем в конце файла строчки:
Заметьте, что у меня NC — это каталог, куда я распаковал Norton Commander и там лежит файл NC.EXE. Вы должны прописывать свой путь к папке с файлом NC.EXE.
У меня файл конфигурации выглядит следующим образом:
Вот таким образом мы упростили работу с эмулятором DOSBox в Ubuntu. Теперь можно спокойно играть, не парясь вводить кучи команд в консоле.
Вот и всё, что хотелось рассказать о данном эмуляторе.
Удаление DOSBox из Ubuntu.
Для удаления DOSBox из Ubuntu просто введите следующую команду в терминале:
Ну или найдите dosbox в Центре приложений Ubuntu в списке установленных программ и удалите.