Running dos on linux

Saved searches

Use saved searches to filter your results more quickly

You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.

Run DOS programs under linux:

License

GPL-2.0, Unknown licenses found

Licenses found

dosemu2/dosemu2

This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Sign In Required

Please sign in to use Codespaces.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching Xcode

If nothing happens, download Xcode and try again.

Launching Visual Studio Code

Your codespace will open once ready.

There was a problem preparing your codespace, please try again.

Latest commit

Git stats

Files

Failed to load latest commit information.

README.md

dosemu2 is an emulator for running DOS programs under linux. It can also serve as a VM to boot various DOSes.

Just type dosemu to run an emulator. Use dosemu -E to run and exit (add -T to not exit). Use dosemu -K -E or dosemu -K to run DOS programs from unix directories.

Per-user configuration file can be created as ~/.dosemu/.dosemurc . Add your custom settings there. Look into the global configuration file /etc/dosemu/dosemu.conf for existing settings, their descriptions and default values, and modify the local config accordingly. $_hdimage is probably the first setting to look into, as it configures the host fs access.

Create c:\userhook.sys and/or c:\userhook.bat files to customize your boot sequence. userhook.sys can contain the config.sys directives and userhook.bat can contain custom boot commands.

Drive C: is usually located at ~/.dosemu/drive_c . You can add DOS programs there. Or you can run dosemu -d to mount the as a new DOS drive.

Читайте также:  Nautilus in linux ubuntu

About

Run DOS programs under linux:

Источник

Запуск 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 и монтируем:

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 сервера, user и userpassword берём из пользователей на сервере, которым разрешён доступ к Samba-шаре.

cp -rf XFonts /usr/X11R6/lib/X11/fonts/

прописываем папку подобно остальным шрифтам в файле /etc/X11/xorg.conf, и добавляем их в систему командой:

В /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" #подключаем кириллические шрифты

В файл autoexec.bat, находящийся в папке /usr/share/dosemu/drive_z пишем следующее (. при копировании # и пояснения убрать. ):

@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 # выходим из досэмулятора

Делаем первый запуск, командем:

Читайте также:  Starting with kali linux

получим фигвам, потому что нет файла lin.bat, исправляем созданием в домашней директории, в папке .dosemu/drive_c (папка создаётся при первом запуске эмулятора) этого файла с вышеприведённым содержанием.

Ещё раз запускаем dosemu и вуаля, наша досовская прога работает, показывает текст на русском языке и даже распечатывает под Linux.

Мои изыски относились к определённой программе, но, думаю, таким способом, с заменой путей и имён файлов, запустятся если не все, то многие приложения работающие под DOS.

P.S.
Если при запуске dosemu ловим:

>LOWRAM mmap: Недопустимый аргумент

То дописываем в /etc/sysctl.conf

Источник

Как запустить DOS программы в Linux

Есть шанс, что большинство из вас, читающих эти строки, начали своё «путешествие» в мир компьютеров через DOS. Хотя эта, уже давно устаревшая, операционная система теперь работает только в наших воспоминаниях, она всегда будет занимать особое место в наших сердцах. Тем не менее, кому-то захочется окунуться в ностальгические воспоминания или показать своим детям, на что было похоже прошлое, запустив некоторые приложения MS-DOS на вашем дистрибутиве Linux. Хорошие новости в том, что вы можете это сделать без особых усилий!

Для этой инструкции я буду использовать игру DOS, в которую я играл когда был маленьким ребёнком, она называется “UFO Enemy Unknown”. Это была первая в истории команды пошаговая стратегия, выпущенная Microprose чуть более чем 20 лет тому назад. Ремейк игры был реализован Firaxis в 2012, которые чётко выделили черты, так нравившиеся нам в оригинале.

Wine

Поскольку исполнимые файлы DOS — это .exe, само-собой приходит мысль, что мы сможем запустить их под Wine, но, к сожалению, у нас ничего не получится. Причина этому — “DOS memory range unavailability” — «Недоступность диапазона памяти DOS».

Это означает, что ядро Linux запрещает любым программам (включая Wine) выполнять 16-битные приложения и, таким образом, иметь доступ к 64k памяти ядра. Это функция безопасности и её нельзя изменить, поэтому начнём наши попытки с DOSBox.

DOSBox

Установите DOSBox из вашего Менеджера Приложений и затем откройте ваш менеджер файлов и убедитесь, что вы создали каталог с названием “dosprogs” в вашей домашней директории. Скопируйте файлы игры внутрь этого каталога, а затем откройте DOSBox, набрав в терминале “dosbox”. Теперь нам нужно смонтировать каталог “dosprogs” в dosbox. Чтобы это сделать, напечатайте

Читайте также:  Linux motion stop motion

нажмите 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.

Источник

How to run DOS programs on Linux

Operating systems are designed to run programs specifically compiled for them, as a program may rely on specific libraries or function calls. To run DOS programs on Linux, you can use virtualization or emulation methods.

DOSBox is a popular emulation program that allows you to run DOS programs on Linux systems. It is widely available in most Linux distributions and can be installed via the distribution’s default package manager in the terminal.

Steps for running DOS programs on Linux:

$ cd ~/Downloads/ ~/Downloads$ unzip Golden\ Axe.zip Archive: Golden Axe.zip inflating: _DOSGAME.TXT inflating: A inflating: AMAZON.SPR ##### snipped
$ sudo apt update && sudo apt install --assume-yes dosbox #Ubuntu and Debian
$ dosbox GOLD.EXE DOSBox version 0.74-2 Copyright 2002-2018 DOSBox Team, published under GNU GPL. --- CONFIG: Generating default configuration. Writing it to /home/user/.dosbox/dosbox-0.74-2.conf ##### snipped

Author: Mohd Shakir Zakaria
Mohd Shakir Zakaria, a proficient cloud architect, is deeply rooted in development, entrepreneurship, and open-source advocacy. As the founder of Simplified Guide, he combines these passions to help others navigate the intricate world of computing. His expertise simplifies complex tech concepts, making them accessible to everyone. Discuss the article:

Comment anonymously. Login not required.

Источник

Оцените статью
Adblock
detector