Aby dosemu mogło być w pełni wykorzystane musi być "suid root". Większość programów DOS-owych tego nie potrzebuje. Działając pod X-ami raczej nie potrzebujesz uprawnień root-a. DOSEMU działa z takimi uprawnieniami tylko tam gdzie jest to konieczne, i jak najszybciej się takich uprawnień pozbywa. Ale w przypadku DPMI, program dos-owy ma dostęp do całego obszaru użytkownika, a więc może tez modyfikować kod dosemu. Użycie opcji 'secure on' w pliku /etc/dosemu.conf blokuje tę możliwość. Jest jeszcze kilka innych ważnych aspektów związanych z bezpieczeństwem omówionych w README.txt.
Zdarza się to wtedy kiedy program używam DPMI, a ty nie włączyłeś obsługi DPMI. Spróbuj zmienić w /etc/dosemu.conf linię:
$_dpmi = (off)
na
$_dpmi = (nnnn)
gdzie nnn jest liczbą określającą pamięć w kB, którą chcesz przeznaczyć na programy DOS-owe (Np. DOOM wymaga około 4000 kB). Jeśli to zrobisz, nie powinieneś uruchamiać DOSEMU z prawami root-a (zobacz punkt o bezpieczeństwie) - zawsze lepiej jest nie uruchamiać DOSEMU z prawami root-a jeśli to tylko możliwe.
Innym możliwym powodem jest fakt, że program taki używa VCPI (przeczytaj EMUfailure.txt), albo w inny sposób przełącza się w tryb chroniony (inaczej niż przez DPMI). W takim przypadku nigdy nie będzie działać w DOSEMU.
Jeśli żadne z powyższych nie odpowiada twojemu przypadkowi, to przeczytaj punkt 1.14 "Mam program, który nie działa i nie jest w EMUfailure.txt"
Dosemu zakłada, że wersje DOS-u na obrazie dysku oraz na napędzie, który odwzorowujesz są takie same. Jeśli nie, to dosemu padnie wcześniej czy później. Podczas wyboru jaki daje Win95 po wciśnięciu klawiszy F4, F5 lub F8 po tekście "Uruchamianie systemu Win95" wersje na dysku Win95 mogą się zamienić. Miej szczególnie na uwadze command.com. Niech zmienna "shell" w config.emu wskazuje na poprawną statyczną wersję command.com-a, np: shell=c:\win95\command.com c:\ /P /E:1024 (97/02/28)
Przełącz się na inną konsolę i uruchom program dosdebug, potem
wpisz kill - może to potrwać chwilę, ale zadziała.
Daniel Barlow(jo95004@sable.ox.ac.uk) zgłosił(8/4/95)
Jeśli nie masz terminala, ani dostępu poprzez sieć, żeby się zalogować,
możliwe, że będziesz musiał wcisnąć przycisk "RESET". Jeśli jednak
możesz w jakiś sposób dostać się do używalnej powłoki, to uruchom
"kbd_mode -a", aby przełączyć klawiaturę w tryb ASCII, i/lub
"stty sane", na konsoli żebyś widział co piszesz.
Mądrą rzeczą jest uruchamianie dosemu poprzez skrypt, w którym
polecenie "kbd_mode -a" byłoby wykonywane zaraz po zakończeniu
dosemu. Kiedy dosemu padnie, skrypt powinien wykonać polecenie
kbd_mode.
Rob Janssen (rob@pe1chl.ampr.org) zgłosił(11/7/94)
Nie zapomnij załadować dostarczanego ems.sys z pliku config.sys.
(11/8/94)
Zdobądź i zainstaluj klogd (sysklogd). Powinieneś znaleźć ten
program na
SUNSite Polska.
Aldy Hernandez (aldy@sauron.cc.andrews.edu) zgłosił(8/7/94), że
Powinieneś wyłączyć cache grafiki i/lub BIOS-u.
JyiJiin Luo (jjluo@casbah.acns.nwu.edu)(19/4/94) zgłosił
Przedtem miałem dokładnie ten sam problem. Stwierdziłem, że muszę wyłączyć całkowicie przesłanianie (shadow) grafiki w BIOS-ie. Od tej pory dosemu działa dobrze na moim systemie.
W niektórych przypadkach ciekawe efekty można uzyskać poprzez
próbowanie różnych wartości zmiennej HogThreshold w pliku
dosemu.conf.
Daniel Barlow(jo95004@sable.ox.ac.uk) zgłosił(8/4/95)
Zmienna HogThreshold powinna być teraz ustawiana na conajmniej połowę wartości BogoMips jaką wskazuje system podczas ładowania.
Vinod G Kulkarni (vinod@cse.iitb.ernet.in)(7/4/94) zgłosił, że
Kiedy CDROM jest montowany spod Linux-a i używany pod dosemu (napęd odwzorowany), mogą wystąpić problemy. Sterownik do CDROM-u (iso9660) umieszczony w jądrze próbuje zgadnąć typ pliku (tj. binarny czy tekstowy). Jeśli nie zgadnie, to próbuje dalej używając heurystyki. Metoda ta zawodzi w pewnych okolicznościach kiedy (prawie) tekstowy plik ma być potraktowany jako binarny. (Nie wiem czy to jest błąd czy zaleta.)
Wynikiem tego jest to, że jeśli skopiujesz taki plik z CDROM-u (z
Linux-a - niekoniecznie z dosemu), to plik wynikowy będzie większy
niż plik oryginalny. (Puste znaki sa dodawane przed ^J i
^M.) Więc program uruchamiany w dosemu podaje komunikat o
błędzie lub się zawiesza, co może dawać mylne wrażenie o problemach
z dosemu.
Rob Janssen (pe1chl@rabo.nl) zgłosił(10/8/94), że
Sposobem na rozwiązanie tego problemu jest wyłączenie konwersji. Podczas montowania CDROM-u dodaj opcję "-o conv=binary" do polecenia mount, albo użyj takiego wpisu w /etc/fstab:
/dev/cdrom /cdrom iso9660 conv=binary,ro
Nie są potrzebne łaty do jądra.
Co do wersji 0.60 wyniki te są przekierowywane do pliku podanego w
linii poleceń. Użyj polecenia "dos -D+a -o /tmp/debug",
aby zapisać wszystkie wyniki śledzenia w pliku
/tmp/debug. Nie powinno być już potrzeby przekierowywania
stderr.
Nick Holloway (alfie@dcs.warwick.ac.uk) zgłosił(22/2/94), że
Zdarza się to tylko jeśli uruchamiasz DOS-a na konsoli z ustawionym "istrip". Sądze, że jest to spowodowane tym, że surowe kody klawiszy są powielane przez "istrip, tak że puszczenie klawisza widziane jest jako jego wciśnięcie.
Tak, że obsługa wejściowa musi być wyłączona jeśli używasz kodów klawiszy na konsoli (nie byłoby to dobrym pomysłem na terminalu).
Przy kartach nie do końca obsługiwanych w dosemu, z włączonym dostepem do grafiki na konsoli pad dosemu może pozostawić konsolę w prawie nieużywalnym stanie. Aby przygotować się na taką sytuację, Spudgun <spudgun@earthlight.co.nz> wysłał następujące rozwiązanie. Najpierw zapisz swoje rejestry z konsoli
~> cat /usr/bin/savetextmode ~> restoretextmode -w /etc/textregs ~> restorefont -w /etc/fontdata
Potem, kiedy dosemu padnie, uruchom następujący skrypt:
restoretextmode -r /etc/textregs restorefont -r /etc/fontdata restorepalette
Jeśli to nie pomoże, to nic nie pomoże.
Przekonałem się także, że uruchomiony Xserwer ustawiał moją kartę
graficzną w dziwny stan, a ten skrypt tylko pogarszał
sprawę. Myślę, że pomogła zmiana Xserwer-a i/lub uruchamianie
savetextmode na vt podczas działania X-ów.(08/04/97)
FoxPro 2.6 nie chce działać na napędach sieciowych. Alexey Naidyonov
<growler@growler.tsu.tula.ru> stwierdza:
Sądzę, że twoje pliki są na przekierowanym dysku, tak? Problem w
tym, że FoxPro nie działa na takich dyskach, ale kiedy ustawiłem
disk { partition ... } w /etc/dosemu.conf, to działał.