Mediul de vin pentru rularea aplicațiilor câștigătoare pe platforma UNIX

tehnologie

Datorită prevalenței Windows pe piață astăzi sunt foarte numeroase aplicații dezvoltate pentru platforma 1. Cu toate acestea, aplicațiile comerciale dependente pe o platformă specifică (OS) nu poate fi întotdeauna convenabil sau avantajos. În acest caz, există instrumente care permit programelor dezvoltate pentru Windows să lucreze într-un alt sistem de operare. Una dintre cele mai dezvoltate printre aceste instrumente este WINE.







WINE (W INE I s N OT E mulator) nu este emulator sistem de operare: adică, nu creează un mediu izolat de funcționare și nu oferă acces la resursele sistemului de nivel scăzut, cum ar fi accesul direct la hardware. caracteristică VIN este că, pe de o parte, oferă un câștig-aplicație Win API - o interfață de sistem standard de sisteme de operare Windows, iar pe de altă parte, difuzat câștig aplicației solicitările la apelurile sistem adecvat (Unix API). WINE rulează pe diverse sisteme bazate pe Unix, inclusiv Linux. Astfel, vinul - este un fel de „strat“ win-compatibilitate între aplicații și sistemul gazdă-2.

Aș dori să rețin că procesul WINE rulează întotdeauna într-un mod neprivilizat și nu necesită modificări ale kernel-ului sistemului de operare (inclusiv module încărcate dinamic). Acest lucru duce la o simplă concluzie privind securitatea: orice probleme care pot fi cauzate de rularea aplicațiilor de câștig vor fi limitate de drepturile de acces ale utilizatorului care a lansat WINE. Ca rezultat, aplicațiile câștigătoare vor respecta politica de acces a sistemului UNIX și nu vor putea să o încalce.

În această constrângere, există un alt aspect practic: în WINE nu acceptă accesul hardware-nivel scăzut (drivere de echipamente, lucru direct cu mai multe dispozitive USB). Toate echipamentele periferice care urmează să fie conectat și configurat în gazdă sistem: win-aplicații pentru aceste dispozitive pot fi accesate printr-o metodă standard utilizând sistemul de fișiere sau alte interfețe standard (de exemplu, TWAIN pentru scaner, care este implementat ca un înveliș peste VIN biblioteca SANE).

Cea mai obișnuită metodă de a folosi WINE este de a rula aplicații binare câștigătoare într-un mediu Unix. Confortul este că nu este nevoie să modificați aplicația în același mod - aceeași opțiune este potrivită atât pentru Windows cât și pentru WINE.

Altele, în prezent, se bucură de aplicare nemeritat mai puțin popular - folosind dezvoltatorii vin pot compila lor win-aplicații de la codul sursă direct în fișiere binare executabile pentru Unix. Din nou, aceștia sunt același cod sursă din care sunt compilate fișiere binare pentru Windows.

Cea de a treia modalitate de utilizare - WINE vă permite să compilați o aplicație câștigătoare din codul sursă într-un exe-fișier executabil care va funcționa pe orice sistem Windows.

desen

punerea în aplicare

Succesul și corectitudinea funcționării aplicațiilor câștigătoare în WINE este determinată în mod natural de măsura în care mediul WINE nu poate fi distins de Windows din punctul de vedere al aplicației câștigătoare. Cu alte cuvinte, întrebarea este cât de complet sunt implementate Win API și alte componente și proceduri standard Windows în WINE. Evaluarea actuală a caracterului complet al implementării funcțiilor specifice este publicată pe site-ul web al dezvoltatorilor WINE. În funcțiile WINE sunt implementate aproape toate bibliotecile dinamice (DLL) incluse în Windows: de la 16 biți și se încheie cu suportul în curs de dezvoltare pentru modul pe 64 de biți. La un nivel bun este suportul pentru OLE, MSI și DirectX.

Dacă vorbim despre evaluarea generală a caracterului complet al implementării, atunci dezvoltatorii numesc astăzi cifra de 90%. Cu toate acestea, această cifră nu ar trebui tratată în același mod ca raportul procentual obișnuit. Ideea este că, din punctul de vedere al dezvoltării cu succes a WINE Win API, API ar trebui să fie modul în care vor să fie programele. Specificații complete și fără erori Câștigă API în accesul public acolo (și nu a fost niciodată), iar acest lucru a determinat în mare măsură natura dezvoltării pe platforma Win. Majoritatea dezvoltatorilor de aplicații câștigătoare utilizează doar o mică parte a funcțiilor standard API, iar celelalte funcții necesare sunt implementate independent și livrate împreună cu programul. În ultimii ani, un subset de funcții API utilizate pe scară largă într-o masă largă de aplicații câștigătoare sa stabilizat deja și practic nu se schimbă. Pentru WINE, aceasta înseamnă că 90% înseamnă o funcționare stabilă a celor mai multe aplicații de câștig în WINE, chiar mai mult decât în ​​90% din cazuri.

Din același motiv, pericolul de a fi în spatele modificărilor introduse în Win API în cadrul sistemului de operare Windows nu este atât de semnificativ. Singura caracteristică este dezvoltarea de suport pentru 64bit, la dezvoltarea arhitecturii WINE, a fost luată în considerare posibilitatea extinderii în această direcție. Prin urmare, odată ce funcțiile API Win64 sunt distribuite pe scară largă, adăugarea suportului pentru WINE nu va dura mult timp.

Configurarea unui mediu local de câștig

Înainte de a începe să lucrați cu WINE, fiecare utilizator. în numele căruia vor fi lansate aplicațiile câștigătoare, este necesar să configurați mediul de câștig local. Mediul este configurat automat prima dată când se pornește WINE (trebuie doar să introduceți comanda de vin pe linia de comandă și să așteptați să termine lucrul).







La început, WINE creează infrastructura necesară în directorul de domiciliu al utilizatorului, pentru care efectuează următoarele acțiuni:
  • creează o versiune inițială a registrului;
  • construiește corespondența directorului de sistem gazdă și discurile logice WINE;
  • creează un director cu programe care vor servi ca disc principal (C :) pentru aplicațiile câștigătoare, pentru comoditate acest director este disponibil ca wine_c în directorul de domiciliu al utilizatorului.

În mod implicit, discurile logice WINE vor fi amplasate după cum urmează:

Exemplu 1. Plasarea unităților logice WINE în mod implicit

Dacă oricare dintre directoarele necesare nu apare, atunci legăturile corespunzătoare nu vor fi create. Cel puțin un disc - C: va fi creat în orice caz. Restul discurilor sunt opționale, chiar și unul C: va fi suficient să lucrați în WINE. Regulile de creare a legăturilor implicite sunt descrise în fișierul /etc/wine/map_devices.sh. Dacă este necesar, ele pot fi schimbate. Modificările acestui fișier vor afecta toți utilizatorii care vor efectua prima lansare WINE.

Fiecare utilizator poate schimba manual corespondența unităților logice cu directorul WINE al sistemului gazdă sau poate crea orice număr de discuri suplimentare. Toate unitățile logice pentru WINE sunt reprezentate de linkuri simbolice obișnuite pe directoarele din directorul $ HOME / .wine / dosdevices:

Exemplul 2. Unități logice și dispozitive WINE

Pentru a crea o nouă unitate logică sau a schimba o unitate logică, creați o nouă legătură simbolică cu numele dorit.

Exemplul 3. Crearea unui vin logic

WINE crearea de unități logice, trebuie să se ia în considerare faptul că dreptul de acces la un câștig-aplicație fișierele de pe aceste unități vor fi determinate de drepturile utilizatorului de acces la gazdă sistem de fișiere reale.

Rularea aplicațiilor de câștig

Regula generală pentru rularea tuturor aplicațiilor câștigătoare în WINE este că fișierele executabile trebuie să se afle în domeniul WINE, adică pe unul dintre unitățile logice WINE sau în subdirectoarele sale. Dacă programul este furnizat pe un CD-ROM, nu uitați să montați corect unitatea 3. înainte de ao contacta de la WINE. Rețineți că în acest caz ar trebui să aveți permisiunea de a rula aplicații de pe CD. Dacă aplicația nu este distribuită pe disc - nu uitați să o copiați mai întâi în domeniul WINE.

Pentru a rula aplicațiile câștigătoare, este mai ușor să utilizați browserul de fișiere pentru fișiere de vin. acesta poate fi lansat din linia de comandă. Aici este suficient să mergeți la directorul dorit și să rulați programul făcând dublu clic pe mouse.

Puteți rula aplicațiile câștigătoare ca fișiere executabile obișnuite ale sistemului gazdă (de exemplu, de la comandantul de la miezul nopții sau de la linia de comandă), pentru aceasta, ar trebui să se pornească serviciul de serviciu al vinului.

Instalarea și dezinstalarea aplicațiilor de câștig

Ca și în cazul Windows, majoritatea aplicațiilor vor trebui să fie instalate înainte de utilizare. Instalarea se face în mod obișnuit pentru Windows - folosind programul de instalare furnizat împreună cu aplicația câștigătoare. Diferența este că, în cazul programului WINE, programul va fi instalat în mediul de câștig local al utilizatorului.

Pentru a instala aplicația câștigătoare, ar trebui să executați programul de instalare în orice mod convenabil (cel mai adesea setup.exe). Apoi puteți acționa conform instrucțiunilor oferite de vânzătorul aplicației câștigătoare.

Multe aplicații câștigătoare solicită o repornire pentru a finaliza instalarea. Firește, nu ar trebui să reporniți sistemul gazdă. În mediul local de câștig, procedura de încărcare Windows corespunde comenzii boot-boot - aceasta poate fi apelată din orice linie de comandă. În cazul în care alte aplicații rulează în WINE în acest moment, se recomandă ca acestea să fie finalizate înainte de repornire.

Pentru a dezinstala aplicația câștigătoare instalată în mediul de câștig, utilizați utilitarul de dezinstalare. Acest utilitar afișează o listă de aplicații instalate în mediul câștigător (dacă sunt înregistrate în registru). Pentru a elimina o aplicație, selectați-o din listă și faceți clic pe butonul Dezinstalare. Dacă aplicația pe care doriți să o eliminați nu este în listă, atunci este suficient doar să ștergeți directorul cu aplicația (puteți folosi programul de vinificație pentru aceasta sau puteți utiliza mijloacele standard ale sistemului gazdă).

siguranță

Sfatul pentru menținerea nivelului adecvat de securitate în WINE poate fi rezumat în două moduri simple:
  • victima unei erori în program sau acțiunile rău-intenționate din partea aplicației câștigătoare (virus) poate deveni doar acea parte a sistemului de fișiere care intră în domeniul WINE;
  • drepturile de acces la date sunt determinate de drepturile utilizatorului care a lansat WINE.
Prin urmare, ar trebui să limitați domeniul de aplicare al WINE cât mai mult posibil, incluzând numai acele date, acces la care este necesar pentru cererile de câștig pentru muncă. Câteva recomandări specifice pot fi formulate:
  • Nu executați niciodată WINE ca root. Rularea în numele aplicației root win-application va primi privilegiile acestui utilizator. Pentru muncă, nu vor avea nevoie de ea niciodată, iar în detrimentul pot fi folosite fără ceremonie.
  • Nu acordați acces la aplicațiile câștigătoare la directoarele de sistem importante și în special la directorul rădăcină al sistemului de fișiere ("/"). Chiar și întreaga includere a directorului de domiciliu al utilizatorului în domeniul WINE este aproape sigur nu este necesară.

Sistemul WINE oferă aceleași fonturi ca și alte aplicații din sistemul gazdă 4. În consecință, pentru aceste fonturi sunt disponibile și aplicații câștigătoare.

Aveți posibilitatea să creați anumite fonturi pentru o aplicație câștigătoare în mai multe moduri:
  • Pentru toți utilizatorii - puneți fonturile în sistemul gazdă ca standard pentru sistem;
  • Pentru un anumit utilizator - puneți aceste fonturi în directorul fonturilor utilizatorului (
/.fonts);
  • Doar pentru aplicațiile de câștig ale acestui utilizator - pentru a pune fonturi direct în directorul de fonturi de pe discul logic WINE (de obicei

    Informații suplimentare

    Documentația cea mai detaliată despre WINE pentru utilizatori și dezvoltatori poate fi găsită pe site-ul dezvoltatorului WINE. Din păcate, astăzi această documentație este disponibilă numai în limba engleză.

    VIN pe site-ul oficial al proiectului este disponibil cele mai recente informații de vin, informații cu privire la dezvoltarea, inclusiv planuri dalneyshnie, liste de discuții, codul sursă VIN, liste de lucru win-aplicații suportate fukntsy WinAPI și o mulțime de alte informații. resurse limba rusă pot fi accesate în cadrul proiectului „rus WINE». care este poziționat ca o resursă care reunește WINE utilizatorii vorbitori de limbă rusă. Există o mulțime de atenție la problemele de vin de localizare și rula aplicații specifice care sunt relevante pentru utilizatorii ruși. Mulți utilizatori pot găsi că este util să forum rusofonă. dedicat vinului.

    1 Aici și mai jos, vom face referire la astfel de aplicații ca aplicații câștigătoare.

    2 Sistem de operare Unix / Linux în care WINE este instalat și rulat.

    3 Trebuie să faceți acest lucru manual sau să îl montați automat - depinde de distribuția și stilul de lucru.

    4 Pentru a obține o listă a fonturilor disponibile, WINE utilizează pachetul fontconfig și pentru a desena caractere, biblioteca freetype2.







    Trimiteți-le prietenilor: