wine

  • Nuosekliųjų sąsajų naudojimas leidžiant programas per Wine

    „Linux“ aplinkoje per „Wine“ paleista „Windows“ programa negali rasti USB ar įrenginių, prijungtų per nuosekliąsias („serial“) bei lygiagrečiąsias („paralel“) sąsajas. Tokie įrenginiai reikalingi, pavyzdžiui, automobilių diagnostikai atlikti.

    Su šio tipo įrenginiais „Wine“ sistema turi keletą sunkumų. Pirmiausia pagrindinė problema yra ta, kad „Wine“ nėra suderinama su tiesiogine prieiga prie USB įrenginių, nors pačiam projektui jau daugiau, nei du dešimtmečiai. Šios problemos sprendimas vis svarstomas, tačiau realaus progreso šioje vietoje nėra daug.

    Tačiau yra šiokia tokia išimtis USB nuosekliosios sąsajos įrenginiams, kuriuos geba atpažinti „Linux“ sistema. Šiuos įrenginius, o dauguma automobilinės diagnostikos prietaisų yra būtent tokie, galima „Wine“ sistemai pateikti, kaip įprastus standartinius nuosekliosios sąsajos įrenginius. Deja, „Wine“ autoriai nusprendė, kad tiesioginė prieiga prie nuosekliųjų ir lygiagrečiųjų sąsajų nėra labai dažnai naudojama funkcija, todėl automatiškai ši prieina nėra sukonfigūruojama.

    „Wine“ svetainėje yra pateikiamos papildomos konfigūravimo instrukcijos, tarp kurių yra ir nuosekliosios ir lygiagrečiosios sąsajų prieigos aktyvavimas. Norint „Windows“ programai suteikti prieigą prie šių įrenginių, reikia $HOME/.wine/dosdevices kataloge sukurti nuorodas į atitinkamus nuosekliuosius ar lygiagrečiuosius įrenginius, pasiekiamus „Linux“ sistemoje.

    cd $HOME/.wine/dosdevices
    ln -s /dev/ttyS0 com2
    ln -s /dev/ttyUSB0 com1
    ln -s /dev/lp0 lpt1

    Aukščiau esančiame pavyzdyje „Wine“ aplinkai sukuriamos virtualios com1 ir com2 sąsajos, susietos su pagrindinės plokštės pirmąja nuosekliąja sąsaja ir pirmąja USB nuosekliąja sąsaja, kurios yra pasiekiamos „Linux“ sistemoje. Taip pat sukuriama virtuali lygiagrečioji sąsaja - lpt1. Tačiau „Wine“ autorių pateikiamos instrukcijos nėra išsamios ir prieiga neretai nėra galima. Pirmiausia įprasti „Linux“ sistemos vartotojai dažnai neturi teisių skaityti ir rašyti į /dev/tty* įrenginių failus. Norint apsieiti be „Windows“ programų leidimo root teisėmis, tam reikės vieno iš trijų (pavyzdyje naudojamas /dev/ttyUSB0 įrenginys):

    1. Sistemos administratoriaus teisėmis pakeisti įrenginio prieigos teises ir leisti skaityti ir rašyti visiems: chmod o+rw /dev/ttyUSB0. Šią komandą greičiausiai teks paleisti kiekvieną kartą įstačius įrenginį.
    2. Prisidėti savo vartotoją prie grupės, kuriai priklauso įrenginiai. Grupę galima sužinoti, paleidus ls -al /dev/ttyUSB0 ir paskui administratoriaus teisėmis paleidus gpasswd -a VARTOTOJAS GRUPE pridėti vartotoją VARTOTOJĄ į grupę GRUPE. Po pakeitimo, reikės iš naujo prisijungti prie sistemos.
    3. Pakeisti įrangos inicializavimo „Udev“ taisykles ir nusistatyti norimą vartotojo grupę, bei prieigos teises. Vienas iš galimų būdų aprašytas šiame puslapyje.

    Deja šių instrukcijų nėra „Wine“ autorių puslapyje. Kaip nėra ir „Wine“ registro įrašo aprašymo, reikalingo prieigai prie sąsajų. Trūkstamą aprašą, pateikiamą žemiau pavyko rasti Vienišo tranzistoriaus tinklaraštyje.

    gedit  ~/.wine/system.reg

    Atsivėrusioje teksto rengyklėje iškart po #arch= eilutės įrašykite šias eilutes:

    [Hardware\\Devicemap\\Serialcomm] 1231984861
    "Serial0"="COM1"
    "Serial1"="COM2"

    Tokiu būdu per „Wine“ aplinką paleista „Windows“ programa galės susieti dosdevices kataloge sukurtą virtualaus įrenginio failą su nuosekliąja sąsaja.