Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: Скрипт для автоматизации работы dosbox'а  (Прочитано 4402 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн FullMetall

  • Автор темы
  • Любитель
  • *
  • Сообщений: 60
  • Это кто здесь маленький как муха?!
    • Просмотр профиля
В скриптах очень плохо разбираюсь, вот взялся за простейший- ничего не вышло=)
Вобщем задача очень простая: чтоб запустить через досбокс досовскую прогу нужно: 1)смонтировать дирректорию с инсталятором проги как диск 2)смонтировать дирректорию с самой установленной прогой просто как дирректорию 3)ну и собственно запустить экзешник и гамать (прога то скажу по секрету- вторые герои))
Вся вышеописанная последовательность действий в досбоксе выглядит воть так:

mount E ~/installer -t cdrom    #монтируем дирректорию с установщиком как диск
mount C ~/HOMM2                  #монтируем дирректорию с игрой просто как дирректорию=)
C:                                                 #переходим на С
heroes.exe                                 #гамаем

Ну вот. Конечно неудобно, а если учесть что герои- не единственная такого рода программа (для других конечно команд поменьше, но все равно) то вообще смертельно. Поэтому надо что то думать. Ну разумеется пишем эти команды в dosbox.conf который есть в домашней папке, в самом конце, и после запуска досбокса эти команды благополучно выполняются. Все хорошо, все работает. Да вот только какой смысл, ведь не одни же герои. Что же нужно каждый раз конфиг досбокса менять? Тогда уж проще в самом досбоксе эти команды писать.
Следовательно выход один- писать скрипт. Ну, путь я собственно вижу (м б он не самый простой):
Делаем папку в домашнем каталоге. В эту папку копируем конфиг досбокса, и там его размножаем чтоб его стало столько, сколько у меня программок. Дальше пишу скрипты, опять по одному на каждую прогу (само собой неплохо бы сделать это все в общем виде, с одним скриптом, но это уж больно для меня сложно) который: 1)из вышеупомянутой папки копирует конфиг досбокса в домашний каталог (тоесть именно тот конфиг, который нужен для запуска рассматриваемой программы) 2)собсно запускает досбокс.
Ну, вобщем-то все, по идее все должно работать. Создаем на верхней панели кнопочки, в каждой пишем запуск определенного скрипта, который будет копировать конфиг в дом папку и запускать досбокс. Но вот со скриптом проблема. Я вот так его попытался реализовать:

#!/bin/bash
cp ~/.conf_dosbox/HOMM2 ~/dosbox.conf &&
dosbox&

результат-мягко говоря странный. Досбокс запускается, но с дефолтными настройками, тоесть как будто никакого конфига в дом папке нет. А он там есть, проверял!) Тоесть скрипт копирует наш конфиг в дом папку и запускает досбокс, только вот досбокс этот чертов конфиг нифига не видит. Если после запуска скрипта закрыть открывшийся по скрипту досбокс, и снова его открыть (скажем через терминал) то все работает. Прямо руки опускаются=(
« Последнее редактирование: 03 Мая 2009, 15:57:55 от FullMetall »

Оффлайн alexander.pronin

  • Старожил
  • *
  • Сообщений: 2539
    • Просмотр профиля
Re: Скрипт для автоматизации работы dosbox'а
« Ответ #1 : 06 Мая 2009, 14:11:42 »
Попробуйте убрать & в конце строк для начала.

Оффлайн FullMetall

  • Автор темы
  • Любитель
  • *
  • Сообщений: 60
  • Это кто здесь маленький как муха?!
    • Просмотр профиля
Re: Скрипт для автоматизации работы dosbox'а
« Ответ #2 : 06 Мая 2009, 19:23:45 »
Да пробовал... Как только не пробовал чес слово=)
И так:

#!/bin/bash
cp ~/.conf_dosbox/HOMM2 ~/dosbox.conf; dosbox
И так:)

#!/bin/bash
cp ~/.conf_dosbox/HOMM2 ~/dosbox.conf
dosbox

Очень вообще странно. Я провел небольшой эксперимент и вышло что то очень странное)
Скопировал конфиг досбокса в домашнюю папку. Запустил досбокс из меню- работает, воспринимает конфиг.
Запустил досбокс из терминала- работает.
Сделал скрипт всего с одной строчкой, понятно какой. Запустил его-... Не работает. Мне страшно стало=(

Оффлайн alexander.pronin

  • Старожил
  • *
  • Сообщений: 2539
    • Просмотр профиля
Re: Скрипт для автоматизации работы dosbox'а
« Ответ #3 : 07 Мая 2009, 07:59:50 »
А если запускать скрипт из терминала ?

Оффлайн FullMetall

  • Автор темы
  • Любитель
  • *
  • Сообщений: 60
  • Это кто здесь маленький как муха?!
    • Просмотр профиля
Re: Скрипт для автоматизации работы dosbox'а
« Ответ #4 : 19 Мая 2009, 21:34:18 »
Пробовал! Не хочет.. Вот уж не знаю- ну почему...

Оффлайн alexander.pronin

  • Старожил
  • *
  • Сообщений: 2539
    • Просмотр профиля
Re: Скрипт для автоматизации работы dosbox'а
« Ответ #5 : 20 Мая 2009, 11:34:37 »
Лог в студию.

Оффлайн FullMetall

  • Автор темы
  • Любитель
  • *
  • Сообщений: 60
  • Это кто здесь маленький как муха?!
    • Просмотр профиля
Re: Скрипт для автоматизации работы dosbox'а
« Ответ #6 : 20 Мая 2009, 18:43:15 »
FullMetall@Alchlab:~$ ./shomm2
DOSBox version 0.72
Copyright 2002-2007 DOSBox Team, published under GNU GPL.
---
CONFIG: Using default settings. Create a configfile to change them                     #вот, пишет как видим что запущен с дефолтными настройками!
ALSA:Can't subscribe to MIDI port (65:0) nor (17:0)
MIDI:Opened device:oss

Ерунда какая то...

Оффлайн Alex2000

  • Активист
  • *
  • Сообщений: 317
    • Просмотр профиля
Re: Скрипт для автоматизации работы dosbox'а
« Ответ #7 : 21 Мая 2009, 05:57:56 »
1. Для этого есть фронтенды, смотри раздел downloads на сайте досбокса (самый удобный вариант - GUI, куча настроек).

2. Можно написать досовский bat-скрипт (в разделе autoexec конфига).
Менюшка делается примерно так:
echo 1 - Tetris / 2 - Digger / 3 - HOMM2
choice /c:123/n
if errorlevel 3 goto HOMM2
if errorlevel 2 goto Digger
if errorlevel 1 goto Tetris
:HOMM2
cd heroes2
heroes2
goto end
:Digger
cd digger
digger
goto end
:Tetris
cd tetris
tetris
goto end
:end

3. Если уж очень хочется извращаться с кучей конфигов, то запускай досбокс так:
dosbox -conf configfile

4. Еще можно поставить файловый менеджер (VC/NC/DN), прописать его в автозагрузке, отредактировать пользовательское меню и поставить галочку, чтобы оно открывалось сразу после запуска.
« Последнее редактирование: 21 Мая 2009, 06:24:15 от Alex2000 »

 

Страница сгенерирована за 0.057 секунд. Запросов: 25.