V Tiraně proběhl letošní Linux App Summit (LAS) (Mastodon). Zatím nesestříhané videozáznamy přednášek jsou k dispozici na YouTube.
Na čem aktuálně pracují vývojáři GNOME a KDE Plasma? Pravidelný přehled novinek v Týden v GNOME a Týden v KDE Plasma.
Berkeley Humanoid Lite (Onshape, GitHub) je open source humanoidní robot. V amerických cenách jej lze sestavit do 5000 dolarů.
Jakub Jelínek oznámil vydání verze 15.1 (15.1.0) kolekce kompilátorů pro různé programovací jazyky GCC (GNU Compiler Collection). Jedná se o první stabilní verzi řady 15. Přehled změn, nových vlastností a oprav a aktualizovaná dokumentace na stránkách projektu. Některé zdrojové kódy, které bylo možné přeložit s předchozími verzemi GCC, bude nutné upravit.
Byly vyhlášeny výsledky letošní volby vedoucího projektu Debian (DPL, Wikipedie). Staronovým vedoucím zůstává Andreas Tille.
Jason Citron končí jako CEO Discordu. Od pondělí 28. dubna nastupuje nový CEO Humam Sakhnini, bývalý CSO Activision Blizzard.
Článek na Libre Arts představuje baskytarový multiefekt Anagram od společnosti Darkglass Electronics. S Linuxem uvnitř (licence, GitHub).
Městský soud v Praze vyhlásil rozsudek, který vyhověl žalobě novináře Jana Cibulky, který s podporou spolku IuRe (Iuridicum Remedium) požadoval omluvu od státu za to, že česká legislativa nařizuje operátorům uchovávat metadata o elektronické komunikaci. To je přitom v rozporu s právem. Stát se musí novináři omluvit a zaplatit náklady řízení. Především je ale součástí přelomové rozhodnutí o nelegálnosti shromažďování dat a o
… více »Americké technologické firmy Apple a Meta Platforms porušily pravidla na ochranu unijního trhu, uvedla včera Evropská komise (EK). Firmám proto vyměřila pokutu – Applu 500 milionů eur (12,5 miliardy Kč) a Metě 200 milionů eur (pět miliard Kč). Komise to oznámila v tiskové zprávě. Jde o první pokuty, které souvisejí s unijním nařízením o digitálních trzích (DMA). „Evropská komise zjistila, že Apple porušil povinnost vyplývající z nařízení
… více »Americká společnost OpenAI, která stojí za chatovacím robotem ChatGPT, by měla zájem o webový prohlížeč Chrome, pokud by jeho současný majitel, společnost Google, byl donucen ho prodat. Při slyšení u antimonopolního soudu ve Washingtonu to řekl šéf produktové divize ChatGPT Nick Turley.
Na úvod by slušelo připomenout tyto články, jež zde v dřívějších dobách vyšly:
Nebudeme se zdržovat a hurá do toho.
Wine si při spuštění vytvoří pro daného uživatele svůj vlastní konfigurační adresář, standardně je umístěn ve „~/.wine“
aneb „/home/uzivatel/.wine“
. Ukázka základní hierarchie konfiguračního adresáře Wine (pod 64bit Arch GNU/Linux):
/home/user/.wine/ |-dosdevices | c: -> ../drive_c | z: -> / |-drive_c | Program Files | Program Files (x86) | users | windows |system.reg |userdef.reg |user.reg
Tento adresář si Wine vytváří samo při spuštění. Taktéž samo kontroluje jeho aktuálnost s danou verzí Wine. Pokud tedy v systému aktualizujeme Wine, tak po jeho spuštění se provede kontrola a případné dokopírování nových knihoven / nastavení do konfiguračního adresáře. Dříve Wine konfigurační adresář negenerovalo samo a musel se mu podstrčit parametr wineprefixcreate
.
Jedním konfiguračním adresářem nám vzniká malý problém. Tento problém se vztahuje k více programům, jež využívají jeden a ten samý konfigurační adresář. Tím může dojít ke kolizím v knihovnách, nebo je potřeba nějaké hodně specifické nastavení pro jednu aplikaci a druhá aplikace pak kvůli tomu nejde spustit. Toto řeší proměnná prostředí WINEPREFIX
. Díky ní můžeme specifikovat cestu ke konfiguračnímu adresáři wine pro každou aplikaci zvlášť. Vizte příklad:
WINEPREFIX=~/.wine-halflife wine hl.exe WINEPREFIX=~/.wine-office2007 wine excel.exe
Když chceme použít např. winecfg
k nastavení wine, tak jej musíme volat s příslušnou proměnnou prostředí. Pokud chceme dle příkladu upravit nastavení wine ohledně hry halflife, tak jej spustíme :
WINEPREFIX=~/.wine-halflife winecfg
Toto platí i pro další aplikace jako regedit
apod. :
WINEPREFIX=~/.wine-halflife wine regedit
Novější verze wine neznamená nutně líp fungující programy. Občas se dostaví nějaká regrese, která jeden program znefunkční, na druhou stranu se dostaví i nějaké vylepšení, které nám umožní spustit jiný program, který v předchozí verzi Wine nešel. Nyní člověk stojí před otázkou, co s tím. Odpověď je ovšem jednoduchá, více verzí Wine. Máme více konfiguračních adresářů, proč nemít více verzí Wine? Takto nějak to řeší velmi známý projekt PlayOnLinux. A toho můžeme využít (abychom se nemuseli zdržovat kompilací vlastních verzí Wine). PlayOnLinux shromažďuje různé verze Wine, má je zkompilované na svých stránkách a připravené ke stažení v případě, že bude chtít uživatel přes PlayOnLinux spustit nějakou aplikaci fungující pod specifickou verzí Wine. 32bit verze Wine včetně jejich kontrolních součtů sha1 jsou zde: http://www.playonlinux.com/wine/binaries/linux-x86/.
Nejlepším způsobem je uložit stažené verze Wine do /opt/. Tedy nějak takto:
cd /opt/ wget -c http://www.playonlinux.com/wine/binaries/linux-x86/PlayOnLinux-wine-1.1.7-linux-x86.pol tar xvf PlayOnLinux-wine-1.1.7-linux-x86.pol
Nyní máme zmíněnou verzi tady: /opt/wineversion/1.1.7
. Obdobně můžeme stáhnout i jiné verze. Stažené Wine pak použijeme takto :
WINESERVER="/opt/wineversion/1.1.7/bin/wineserver" WINELOADER="/opt/wineversion/1.1.7/bin/wine" WINEDLLPATH="/opt/wineversion/1.1.7/lib/wine" WINEPREFIX=~/.wine-halflife /opt/wineversion/1.1.7/bin/wine hl.exe
Jak vidno, proměnných není zrovna málo, a proto by nebylo od věci řešit více verzí wine skriptem. Nějaké vysvětlení promměných viz „man wine
“.
Řekněme, že máme 64bit Arch GNU/Linux. Nainstalujeme Wine a budeme chtít klasicky spustit nějaký program, třeba doinstalovat .NET Framework 2.0:
WINEPREFIX=~/.wine-program wine dotnetfx.exe
Tak nemusíte uspět, třeba zmíněný .NET Framework vám sdělí „Chyba: Nelze instalovat v 64bitovém operačním systému.“ Toto lze vyřešit další proměnnou prostředí, pomocí níž definujete architekturu. Starý konfigurační adresář je potřeba nejdříve smazat, v opačném případě dostaneme upozornění „wine: WINEARCH set to win32 but '/home/user/.wine-program' is a 64-bit installation.“.
rm -rf ~/.wine-program WINEARCH=win32 WINEPREFIX=~/.wine-program wine dotnetfx.exe
Jsou situace, kdy chceme ladit Wine a mít ho upovídanější. Taktéž jsou ovšem situace, kdy nechceme, aby Wine zbytečně něco vypisovalo, zbytečně něco ladilo, a tak nám bralo potřebný výkon. Pro minimalizování ladících informací a dosažení lepšího výkonu lze využít tuto proměnnou:
WINEDEBUG=-all WINEPREFIX=~/.wine-program wine program.exe
Pro maximalizaci výstupu pak třeba:
WINEDEBUG=heap WINEPREFIX=~/.wine-program wine program.exe
Občas se může stát nějaká nepříjemná věc, která nám nějakým způsobem zabrání vidět debug informace. V takovém případě lze výstup přesměrovat do souboru a třeba i s vybranými druhy záznamů:
WINEDEBUG=+ddraw,+d3d7 WINEPREFIX=~/.wine-program wine program.exe 2>wine-program.log
Více informací třeba zde:
Mono je velmi zajímavá věc, jehož funkce je asi nejlepší pod wine. Problém u .NET aplikací je, že se tu a tam občas objeví natvrdo nastavená cesta apod. věci, s čímž si Mono neporadí. Proto je dobré použít Windows verzi mono pod Wine. K tomu nám poslouží třeba winetricks
(aktuálně Mono: „mono-2.10.2-gtksharp-2.12.10-win32-5.exe“):
WINEPREFIX=~/.wine-netprogram WINEARCH=win32 winetricks mono210 WINEPREFIX=~/.wine-netprogram WINEARCH=win32 wine netprogram.exe
Samo Wine doporučuje Mono (když není nainstalován .NET, ani Mono) hláškou „wine: Install Mono for Windows to run .NET 2.0 applications.“. Ovšem někdy poslouží mnohem lépe místo mono čistě jen Wine s .NET Frameworkem :
WINEPREFIX=~/.wine-netprogram WINEARCH=win32 winetricks dotnet20 WINEPREFIX=~/.wine-netprogram WINEARCH=win32 wine netprogram.exe
Použití seriového portu pod Wine je velmi jednoduché. Přidání do Wine se provede vytvořením jednoduchého symbolického odkazu v konfiguračním adresáři Wine:
ln -s /dev/ttyS0 ~/.wine/dosdevices/com1
Osobně jsem ověřil funkčnost portu COM1 pod Wine tak, že jsem si spustil putty a připojil se přes seriový kabel k HP switchi 4510G:
wine putty.exe
Podpora odbc je ve Wine dobrá. Osobně mám vyzkoušeno na klientovi Oracle 11r2. Nainstaloval jsem Windows verzi kilenta Oracle 11r2 pomocí „WINEARCH=win32 wine setup.exe
“. ODBC Manager musíme doinstalovat a pak už to sviští (používám tak náš informační systém napsaný ve Visual Fox Pro):
WINEARCH=win32 winetricks jet40 mdac28 WINEARCH=win32 wine odbcad32
Pokud si pod Wine, a nejen pod ním, chceme spustit nějakou hru a používáme KDE4 se zapnutými grafickými efekty (průhlednost oken, živé náhledy apod. věci), tak může nastat problém v podobě velkého výkonnostního propadu (hra se bude cukat), nebo může dojít k nějaké nestabilitě a podobným věcem. Toto lze řešit malým skriptem, kterým před spuštěním hry vypneme grafické efekty KDE a po ukončení hry je zase zapneme. Velmi primitivní skript může vypadat nějak takto:
#!/bin/bash if [[ "$(qdbus org.kde.kwin /KWin org.kde.KWin.compositingActive)" = "true" ]] ; then qdbus org.kde.kwin /KWin org.kde.KWin.toggleCompositing fi WINEDEBUG=-all WINEPREFIX=~/.wine-program wine program.exe if [[ "$(qdbus org.kde.kwin /KWin org.kde.KWin.compositingActive)" = "false" ]] ; then qdbus org.kde.kwin /KWin org.kde.KWin.toggleCompositing fi exit
Spuštění klasické windows cmd, regedit, ovládacího panelu a dalších:
WINEARCH=win32 WINEPREFIX=~/.wine-program wineconsole cmd WINEARCH=win32 WINEPREFIX=~/.wine-program wine notepad WINEARCH=win32 WINEPREFIX=~/.wine-program wine wordpad WINEARCH=win32 WINEPREFIX=~/.wine-program wine ipconfig WINEARCH=win32 WINEPREFIX=~/.wine-program wine dxdiag WINEARCH=win32 WINEPREFIX=~/.wine-program wine explorer WINEARCH=win32 WINEPREFIX=~/.wine-program wine taskmgr WINEARCH=win32 WINEPREFIX=~/.wine-program wine control WINEARCH=win32 WINEPREFIX=~/.wine-program wine regedit WINEARCH=win32 WINEPREFIX=~/.wine-program wine winver WINEARCH=win32 WINEPREFIX=~/.wine-program wine clock WINEARCH=win32 WINEPREFIX=~/.wine-program wine winemine WINEARCH=win32 WINEPREFIX=~/.wine-program wine oleview WINEARCH=win32 WINEPREFIX=~/.wine-program wine icinfo WINEARCH=win32 WINEPREFIX=~/.wine-program wine hostname WINEARCH=win32 WINEPREFIX=~/.wine-program wine winhlp32 ...
Spouštění exe aplikace pomocí „./program.exe“ – vizte Using Wine as an interpreter for Win16/Win32 binaries
Možnosti spouštění wine:
# použití windows path : wine c:\\cesta_k_programu\\program.exe # spouštění programu s jiným pracovním adresářem : wine ~/.wine/drive_c/cesta_k_programu/program.exe # spuštění programu v jeho pracovním adresáři (osobně si myslím, že nejlepší způsob) cd ~/.wine/drive_c/cesta_k_programu/ && wine program.exe
Některé programy vyžadují restart počítače. Co dělat v takovém případě u aplikace, jež toto vyžaduje pod Wine? Prostě jí namluvíme, že se jde restartovat (Wineboot):
# automatický reboot : wineboot # manuální reboot : wineboot -r # pro více vizte wineboot --help
Dobrá funkce je také zabití všech procesů wine. Řekněme, že nám běží v jednom terminále nějaká aplikace pod Wine a vytuhne, poté existuje velmi jednoduchý způsob, jak ji zabít:
# v jednom terminálu běží aplikace: WINEPREFIX=~/.wine-test wine aplikace.exe # pak ji můžeme zabít: WINEPREFIX=~/.wine-test wineserver -k
Pokud se takovéto ukončení aplikace nepodaří, tak až poté můžeme přejít ke „kill -9 PID“
, „killall -9 aplikace“
apod.
Dost často je potřeba doinstalovat do Wine .NET Framework, nějaké Direct X knihovny a podobné věci. K usnadnění těchto věcí nám slouží dobře známý winetricks, o němž již bylo něco napsáno: Wine a jeho pomocníci : Winetricks.
Článek byl jako vždy pojat trochu komplexněji s co nejmenší omáčkou okolo a doufám, že bude i podnětem dobré diskuse s dalšími tipy a radami. Úspěšnému boji s Windows aplikacemi zdar.
Nástroje: Tisk bez diskuse
Tiskni
Sdílej:
Asi nemluvim jen za sebe, kdyz reknu, ze hlavni duvod, proc se tolik lidi drzi Windows je balik MS Office, ktery je chca/nechca standardem.
Bohužel se mýlíš. Tím co drží lidi u MS Windows nejsou MS Opice, ba dokonce ani kvantum laciného ukradeného softu, jak si někdo naivně myslí.
Laik, který si koupí počítač s předinstalovanými MS Windows nemá nejmenší důvod pro to aby se vrhal do neznámých linuxových vod. Systém má legálně koupený a jeho potřebám většinou stačí.
Aplikace, které nalézá na nejrůznějších přílohách jsou stejně win only. Výukové CD pro děti - z programátorského hlediska většinou příšerné věci, jsou rovněž obvykle win only.
A když si koupí nějaký hardware - ať již vypalovačku, skener či kameru tak mu k němu dodají i nějakou tu ořezanou verzi nějakého hnusu. Sice by nad tím jeden brečel, ale těm lidem to musí stačit.
K přechodu na linux v podstatě motivuje lidi několik faktorů
No a pak je několik mizivých výjimek jako jsem byl např. já, co nemají rádi zázraky a pudově se vyhýbají skřínkám "které tak nějak fungují s trpaslíčkem uvnitř".
ano, presne tak. majoritni pouzivani ms office nema nic spolecneho s zadnyma standardama, ale s faktem, ze primarne spolecnosti sva data/reporty a podobne veci zpracovavaji a ukladaji prave v MS produktech uplne stejne, jako instaluji na veskery svuj hardware kdejake widle. s kazdou novou verzi nove licence.
na tohle vsechno bohate staci libreoffice. dokaze zpracovat i ooxml (snad jsem se nespletl :) ) alespon pro cteni, dale si to sam ulozis, jako ods/odt.... nebo doc, chces-li to zpetne otevrit v MS office
jediny problem nastava tam, kde je zapotrebi spoustet VB makra. jednou se mi podarilo VB makro v libreoffice spustit, ale jsou VB prikazy, na kterych libreoffice proste klekne a nepusti makro dal.
jestli se nepletu, existovali, mozna jeste existuji a stale se udrzuji office pro linux, ktere zvladali/zvladaji i VB script
Pokud budu chtít pořádnou sazbu, obojí proženu LaTeXem s dlouhou hlavičkou...A co myslíš, že LyX dělá?
wine eject
a nespouštět wine/instalátor z adresáře média.
Jinou, také docela zapeklitou otázkou je instalace win programů pro více uživatelů.To ve wine zatím nejde, viz bug č. 11112.
jak na uživatelská data? Jak zajistit, aby uživatelé potom v dané aplikaci viděly jen ty data, které patří výhradně jim?Malo by stačiť každému do domovského adresára pri čistej inštalácií skopčiť adresár .wine dáta sa potom budú ukladať každému užívateľovi extra, len tie jeho.