Конфигурирование DOSEmu
Существует ряд конфигураций, используемых для выполнения DOSEmu в Linux. Перечислим
их.
Чтобы упростить задачу и пояснить работу программного обеспечения, в главе рассмотрена
только загрузка DOS с образа диска. Более сложные конфигурации, включая загрузку
с других носителей, хорошо описаны в документации, которая после установки DOSEmu
находится в каталоге /usr/doc/dosemu/.
Примечание
Подробная информация и документация для DOSEmu находится в http: / /www. dosemu. org. Полезные сведения включены в файлы HOWTO на сайте http://www.dosemu.org/docs/ HOWTO/. С этого сайта можно загрузить последнюю версию DOSEmu с полными инструкциями по инсталляции!
Чтобы запустить DOS, необходимо
иметь файл конфигурации /etc/dosemu.conf. Это очень сложный файл, который имеет
обширную документацию.
Пакет DOSEmu облегчает эту задачу, поскольку имеется предварительно сконфигурированный
файл образа диска и файл dosemu. conf для загрузки с образа диска. Сам образ диска
находится в /var/lib/dosemu/hdimage. Он содержит бесплатный вариант DOS FreeDOS
и множество полезных команд и утилит, среди которых fdisk, format, unix2dos и
Iredir (утилита переадресации каталогов Linux в символы дисков DOS).
Чтобы пояснить, что
понимается- под конфигурированием среды DOSEmu, приведем содержимое включенного
по умолчанию в Red Hat Linux 7.1 файла dosemu. conf:
#############################
# Это файл /etc/dosemu.conf, содержащийся в /var/lib/dosemu/global.conf #
#
Конфигурация Linux DOSEMU для версий >= 3 (dosemu-0.97.1) #
# ./doc/README.txt
(раздел 2.) содержит описание синтаксиса и
# использования dosemu.conf. #
#
# Права доступа определены в #
|
# /etc/dosemu. users | ||
| # | ||
| ######################################
| ||
| # Примечания
для редактирования этого раздела :
#- . | ||
| # В $ ххх = (n)
n - это числовая или двоичная величина | ||
| # = | ||
| # В $ zzz = "s"
s - это строка | ||
| # | ||
| # Пожалуйста,
редактируйте только между скобками и кавычками, | ||
| # остальное сохраняйте
нетронутым. | ||
| | | ||
| $_debug = "-а"
# тот же формат, что в опциях команды -D | ||
| # (но без -D
впереди) | ||
| $_features= "
# список временных установок, смотрите примечания | ||
| # в файле ChangeLog.
Например", "0:1 2:0", | ||
| # который означает:
| ||
| # установить
feature 0 в 1 и feature 2 в 0. | ||
| $_timint = (on)
# эмуляция типа прерывания таймера INT08 | ||
| $_matheo = (on)
# или отключение | ||
| $ сри = (80386)
# эмулятора CPU, допустимые значения: 80 [345] 86 | ||
| $ rdtsc = (off)
# если возможно использовать в Pentium | ||
| # счетчик цикла
| ||
| $_cpuspeed =
(0) # 0 = калиброванный dosemu, иначе указать | ||
| # (например,
166.666) | ||
| $_pci = (off)
| ||
| $_xms = (1024)
# Кбайт | ||
| $_ems = (1024)
# Кбайт | ||
| $_ems_frame =
(0xe000) | ||
| $_dpmi = (off)
# Кбайт | ||
| $_dosmem = (640)
# Кбайт, < 640 | ||
| $_hardware_ram
= " # список значений сегмента /диапазонов, как | ||
| # "0xc8000
диапазон 0xcc000.0xcffff" | ||
| $_securc ="hgd"
# безопасность для: п (обычные пользователи) , | ||
| # g (гости) ,
d (dexe) | ||
| # пустая строка:
зависит от 'restricted' | ||
| # "0":
всегда опасный (не рекомендуется) | ||
| $_odd_hosts =
" # черный 'список, как "lucifer.hell.com billy, the. cat" | ||
| $_diskless_hosts="
' # черный список, как "hackerl newbee gatewayl" | ||
| $_emusys = "
# пустой или 3 симв., config.sys -> config.XXX | ||
| $_emubat = "
# пустой или 3 симв., autoexec.bat -> autoexec. XXX | ||
| $_emuini = "
# пустой или 3 симв., system.ini -> system. XXX | ||
| $_hogthreshold
= (1) # 0 — вся мощность CPU для DOSEMU | ||
| $_irqpassing
= " # список номеров IRQ (2-15) , переданных DOS, | ||
| # например "3
8 10" | ||
| $_speaker = "
# или "native", или "emulated" | ||
|
$_term_char_set = " # Глобальная кодовая страница и выбор | ||
| # набора символов.
| ||
| # ""
— автоматическая, или: ibm, latin, | ||
| # latinl, Iatin2
| ||
| t *
| ||
| $_term_color
= (on) # терминал с поддержкой цвета | ||
| $_term_updfreq
= (4) # время между обновлениями | ||
| # (единицы: 20
== 1 секунда) | ||
| $_escchar = (30)
# 30 == Ctrl-", приставка спец. последовательности | ||
| $_rawkeyboard
= (0) # обход нормального ввода с клавиатуры - | ||
| '# возможна опасность
| ||
| $_layout = "auto"
t одно из: f innish (-latinl) , de(-iatinl) , be', it, us | ||
| # uk, dk(-latinl)
,. keyb-no, no-latinl, dvorak, po | ||
| # sg (-latinl),
fr (-latinl) , sf (-latinl) , es( -latinl) | ||
| Я # sw, hu(-latin2),
hu-cwi, keyb-user | ||
| tt hr-cp852,
hr-latin2 | ||
| # или 'auto'
(для генерации таблицы из текущих | ||
| # параметров
консоли Linux) | ||
| $_keybint = (on)
# эмуляция прерывания клавиатуры ПК | ||
| $_X_updfreq -
(5) # Время между обновлениями (единицы: 20 =»= 1 секунда) | ||
| $_X_title = "DOS
in а ЮХ" # Надпись в строке заголовка окна | ||
| $_X_icon_name
= "xdos" # Текст для значка, когда минимизировано | ||
| $_X_keycode =
(auto) # on == перевод клавиатуры через таблицу | ||
| # символов dosemu
| ||
| $_X_blinlcrate
= (9) # скорость мерцания курсора | ||
| $_X_font = ""
# basename из /usr/XHRG/lib/X11/fonts/misc/* | ||
| # (без расширения)
например, "vga" | ||
| $_X_mitsbm =
(on) # Использовать разделяемые расширения памяти | ||
| $_X_sharecmap
= (off) # Разделять карту цветов с другими приложениями | ||
| $_X_fixed_aspect
= (on) # Установить фиксированный размер для | ||
| # графического
окна | ||
| $_X_aspect_43
= (on) # Всегда использовать отношение 4:3 для графики | ||
| $_X_lin_filt
= (off) # Использовать линейный фильтр для интерполяции >15 Ьрр | ||
| $_X_bilin_filt°
= (off) # Использовать билинейный фильтр для | ||
| # интерполяции
>15 Ьрр- | ||
| $_X_model3fact
= (2) # Фактор начального размера для видеорежима 0x13 | ||
| # (320x200) | ||
| $_X_winsize =
" # "х,у" начального размера окна | ||
| # (по умолчанию
с плавающей точкой) | ||
| $_X_gamma = (1.0)
# гамма-коррекция | ||
| $_X_vgaemu_memsize
= (1024) # размер (в Кбайтах) буфера фреймов | ||
| # для эмуляции
vga | ||
| $_X_lfb = (on)
# использовать линейный буфер фрэймов в режиме VESA | ||
| $_X_pm_interface
= (on) # использовать защищенный режим интерфейса | ||
| # для режима
VESA | ||
| $_X_mgrab_key
= " # имя KeySym для активации захвата мыши, | ||
| # пусто == off
| ||
| $_X_vesamode
= " # "xres , yres ' . . . xres , yres" | ||
| # список vesamodes
для добавления. Список содержит | ||
| # пары, разделяемые
пробелами: "xres, yres" | ||
| $_video = "vga"
|
# одно из: plainvga, vga, ega, mda'," mga, cga | ||
| $_console = (0)
|
# использовать видео 'console' | ||
| $_graphics =
(0) |
# использовать BIOS карты для установки графики | ||
| $_videoportaccess
= (1) |
# позволить доступ к видеопорту, | ||
| | # когда доступно
'graphics' | ||
| $_vbios_seg =
'(0xc000) |
# установка адреса VBIOS (например, ОхеООО) | ||
| $_vbios_size
= (0x10000) |
# установка размера BIOS (например, 0x8000) | ||
| $_vmemsize =
(1024) |
# размер буфера регенерации | ||
| $_chipset = |
# одно из: plainvga, trident, et4000, diamond, avance | ||
| | # cirrus, matrox,
wdvga, paradise, ati, s3, sis | ||
| $_dualmon = (0)
|
# если имеется один vga. и один hgc (2 монитора) | ||
| $_vbootf loppy
= "" |
# если необходимо загружаться с виртуального дисковода: | ||
| | # имя "файла
образа диска под /var/lib/dosemu | ||
| | # например, "f
loppyimage" отключает $ hdimage | ||
| | # "floppyimage
+hd" не отключает $ hdimage | ||
| $_floppy_a ="threeinch"
|
# или "fiveinch", или "atapi", или пусто, | ||
| | # если не существует.
| ||
| | # Устройство
может быть добавлено как | ||
| | # J'threeinch:/dev/fd0"
| ||
| $_floppy_b =
"" |
# dito для В: | ||
| $_hdimage = "hdimage
. first' |
# список hdimages под /var/lib/dosemu | ||
| | # назначенный
в порядке, подобном | ||
| | # "hdiraage_c
hdimage_d hdimage_e" | ||
| | # Если имя начинается
с Vdev/', то используется | ||
| | # раздел доступа
вместо виртуального hdimage. | ||
| | # например, "/dev/hdal"
или "/dev/hdal:ro" | ||
| | # только для
чтения. | ||
| | # Текущие монтированные
устройства и swap | ||
| | # отменяются.
| ||
| | # Hdimages и
устройства могут быть смешаны, | ||
| | # например, "hdimage_c
/dev/hdal /dev/hda3 :ro" | ||
| | # Заметим, wholedisk'
не поддерживается. | ||
| $_hdimage_r =
$_hdimage |
# hdimages для ограниченного доступа (если иначе) | ||
| $_aspi = ""
|
# список общих устройств SCSI доступных для | ||
| | # встроенного
драйвера aspl | ||
| | # (формат записи
'устройство: тип: цель', например, | ||
| | # "sg2:WORM
sg3 : Sequential-Access: 6 sg4: CD-ROM" или | ||
| | # "sg2:4
sg3:l:6 sg4:5" (что одинаково)) | ||
| $_coml = "
|
# например, "/dev/mouse" или "/dev/cuaO" | ||
| $_com2 = "
" |
# например, "/dev/modem" или "/dev/cual" | ||
| $_com3 = "
|
# dito "/dev/cua2" | ||
| $_com4 = ""
|
# dito "/dev/cua3" | ||
| $_ttylocks =
" |
# Каталог Lock (например "/var/lock") | ||
| | # по умолчанию
("") /usr/spool/uucp | ||
| $_mouse = "
|
# одно из: microsoft, mousesystems, logitech, | ||
| | * mmseries | ||
| | # mbuseman, hitachi,
busmouse, ps2 | ||
| $_mouse_dev =
|
# одно из: com1, com2, com3, com4 или /dev /mouse | ||
| $_mouse_flags
= " |
# список пустой или один или более: | ||
| | # "emulateSbuttons
cleardtr" | ||
| $_mouse_baud
= (0) |
# скорость в бодах, 0 == не установлено | ||
| $_pr inter =
"Ip" |
# список (/etc/printcap) имен принтеров, в виде | ||
| | # LPT1, LPT2,
LPT3 (не все необходим, пусто - если нет) | ||
| $_printer_timeout
= (20) |
# время задержки в секундах перед спуллингом | ||
| $_ports = ""
|
# список номеров портов, например, "Oxlce 0xlcf 0x238" | ||
| | # или "0xlce
диапазон 0x280, Ox29f 310" | ||
| | # или "диапазон
0xla0, (OxlaO+15)" | ||
| $_ipxsupport
= (off) |
# или on | ||
| $_novell_hack
= (off) |
| ||
| $_vnet = (off)
|
# 'on' для многопакетного (используется для dosnet) | ||
| $_sound = (off)
|
# звуковая поддержка on/off | ||
| $_sb_base = (0x220)
|
| ||
| $_sb_irq = (5)
|
| ||
| $_sb_dma = (1)
|
| ||
| $_sb_dsp = "/dev/dsp"
|
| ||
| $_sb_jnixer =
"/dev/mixer" |
| ||
| $_ropu_base =
"0x330" |
| ||
К счастью,
в глубоком реконфигурировании нет необходимости. Работая с текущей версией DOSEmu
(I.O.I), вы должны будете установить образ диска и загрузочный каталог и затем
скопировать ряд стандартных загрузочных MS-DOS файлов в этот каталог.
Для установки образа
диска (hdimage. first) и загрузочного каталога (/var/ lib/dosemu/ bootdir. first)
можно воспользоваться следующими командами, расположенными в каталоге
/var/lib/dosemu/:
$ /var/lib/dosemu/setup-hdimage
$ /var/lib/dosemu/setup-bootdir
К сожалению,
FreeDOS не поддерживает управление Linux-файлами и каталогами из эмулятора DOS.
Для реализации такого управления вам потребуются три базовых файла конфигурации
DOS. Например, если вы располагаете любым загрузочным диском MS-DOS или PC-DOS,
скопируйте файлы COMMAND.COM, IO.SYS и MSDOS.SYS в созданный каталог /var/lib/dosemu
/bootdir.first.
Допустим, что эти файлы расположены на несмонтированном гибком диске, который
находится в накопителе /dev/ f d0 (аналог DOS-устройства А:). Поскольку Linux
учитывает регистр, необходимо использовать следующие команды, чтобы заменить FreeDOS-версии
этих файлов:
$ mcopy a:io.sys /var/lib/dosemu/bootdir.first/io.sys
$ mcopy a:command.com /var/lib/doseim/bootdir.first/cofflmand.com
Примечание
Упомянутые системные файлы можно скопировать с любой системной дискеты MS-DOS версии 4.0.1 или более свежей. Этот метод применим даже для некоторых других версий DOS, равно как и для загрузочных дисков Windows 95/98.
В завершение создайте или
отредактируйте конфигурационный файл . dosemurc в своем каталоге. В этом файле
должна быть одна строка, указывающая системе Linux расположение соответствующих
конфигурационных файлов DOS:
$_hdiraage = "bootdir.first"
Запуск DOS
Простейший способ запуска DOSEmu состоит в использовании команды dos в консоли
или окне xterm. По команде
$ dos
загружается и запускается DOSEmu с устройства начальной загрузки, определенного
в /etc/dpsemu. conf. По умолчанию в Red Hat Linux 7.1 это означает загрузку с
указанного файла образа диска.
Вопреки выданному сообщению, запущен эмулятор версии 1.0.1. После запуска DOS можно использовать стандартные команды и синтаксис DOS для запуска программ с дискет или запуска приложений, находящихся в переадресованных каталогах.
Загрузка DOS в отдельном окне X
DOS можно запускать как в текущем окне, так и в своем собственном окне при выполнении
X Windows. Для запуска DOS в собственном окне X Windows используется команда
$ xdos
Фактически, эта команда является ссылкой на основной двоичный файл dos. Выполнение
программы через ссылку xdos имеет тот же эффект, что и команда
$ dos -X
Выполнение DOS в ее собственном Х-окне
Полезные команды DOSEmu
Образ диска, распространяемый с DOSEmu, содержит несколько полезных команд и утилит
(некоторые из них приведены в табл. 30.1). Эти и многие другие команды находятся
в каталогах с: \bin и с: \dosemu. Для этого запустите DOSEmu, используя образ
диска, заданный по умолчанию.
Табл. 30.1. Некоторые команды DOSEmu
| Команда |
Описание | ||
| eject . com emumouse . com exitemu . com lredir.com
unix . com |
Выдвигает дисковод CD-ROM Настраивает драйвер мыши DOSEmu Выход из DOSEmu Переадресует каталог Unix в символ диска DOS
Выполняет команду Linux из DOSEmu | ||
Один из главных аргументов
против использования Linux в качестве ежедневной операционной системы для работы
с текстовыми документами - недостаточное количество приложений для Linux. Добавьте
к этому невозможность выполнения приложений Windows, и Linux превратится всего
лишь в прихоть, еще один пример великой технологии и плохого маркетинга.
В действительности, Linux
может выполнять большинство приложений DOS и многие приложения Windows,
и в будущем предполагается еще большая совместимость с Windows. Существует два
коммерческих продукта, позволяющих реализовать такие предположения: VMware и
Win4Lin. Оба они дают возможность запускать Microsoft Windows в Linux. Возможности
Win4Lin ограничены Microsoft Windows 95/98, но VMware способен выполнять все
версии Microsoft Windows в Linux. Для VMware существует программный продукт,
позволяющий также запускать все версии Linux в Microsoft Windows NT/2000. В
этой главе мы рассмотрим базовую инсталляцию VMware Workstation для Linux.
Сегодня Linux поддерживает
DOS, а ряд популярных приложений DOS может выполняться под Linux с минимальными
усилиями.
Кроме того, предпринимаются попытки обеспечить полную совместимость Windows с Linux. Вероятно, лидером в этой области можно назвать Wine. Полностью следуя основной парадигме Linux, команда разработчиков Linux реализовала Wine как свободно-распространяемый, а не коммерческий Windows-совместимый продукт. С помощью заинтересованных коммерческих разработчиков Wine был включен в набор продуктов, опираясь на который фирмы, распространяющие программное обеспечение, могут быстро переносить свои приложения из среды Microsoft Windows в среду Linux.
| фотоэффект ; Коническая винтовая линия Ethernet Локальные сети что такое драйвер Первый способ задания функции: табличный Степенная функция Обратные тригонометрические функции Определение непрерывности функции Оценки ошибок в формулах приближённого дифференцирования Производные функции, заданной параметрически Примеры исследования функций и построения графиков Приближённое нахождение корней уравнений и точек экстремума Тригонометрическая форма комплексного числа Изменить порядок интегрирования Вычислить двойной интеграл Вычисление тройных интегралов Сферические координаты Два основных метода интегрирования Замена переменных в двойном интеграле Дифференцирование интегралов, зависящих от параметра |