glow ist ein Python- Script,
das der Verwaltung verschiedener Wine- Versionen dient. So lassen
sich unterschiedliche Windows- Anwendungen mit der jeweils passenden
Wine- Version ausführen, ohne ständig neue Pakete
installieren und alte deinstallieren zu müssen.
Notwendig ist
dies, da Wine keinen stabilen Zweig hat und mit neueren Versionen
oftmals zuvor funktionierende Applikationen nicht mehr lauffähig
sind.
Inhalt:
Installation
Installation von Wine- Paketen
Programm mit Wine starten
Löschen einer Wine- Version
Weitere Befehle
Alle installierten Wine- Versionen anzeigen
Symlinks neu setzen
Symlinks einer Version entfernen
Wine- Version direkt aus dem Netz laden und installieren
Kompression aktivieren
Zum System
glow kann hier bezogen werden. Es ersetzt das Paket wine, bei der Installation mit einem Paketmanager wird dieser fragen, ob Wine entfernt werden soll, diese Frage kann getrost mit ja zu beantwortet werden, da das Wine- Verzeichnis .wine dabei erhalten bleibt.
glow wird komplett über das Terminal bedient. Da es alle Wine- Versionen verwaltet, müssen diese über glow installiert werden. Verschiedene Wine- Versionen sind im Deb- Archiv von winehq.org zu finden. Nachdem dort eine Version heruntergeladen wurde, kann diese mit folgendem Befehl installiert werden:
sudo glow -i DEB NAME
DEB ist dabei durch das jeweilige .deb- File zu ersetzen, also
etwas „wine_0.9.13~winehq0~ubuntu~6.06-1_i386.deb“.
NAME
wird durch den gewünschten Namen ersetzt, mit dem ihr diese
Wine- Version in Zukunft aufrufen wollt, etwa „0.9.13“
oder „warcraft2“.
glow entpackt nun das gewählte Installationspaket und legt Verknüpfungen an:
barabbas@queros:~$
sudo glow -i wine_0.9.13~winehq1~ubuntu~6.06-1_i386.deb warcraft2
[sudo] password for barabbas:
Die Datei
'wine_0.9.13~winehq1~ubuntu~6.06-1_i386.deb' wird entpackt ...
'wine_0.9.13~winehq1~ubuntu~6.06-1_i386.deb' wurde erfolgreich
installiert
Aktiviere Wine- Version 'warcraft2'
Es wurden 53
Verknüpfungen neu erstellt
Die letzten beiden Meldungen besagen, dass die installierte Wine- Version aktiv gesetzt wurde (also zur Zeit immer diese Wine- Version ausgeführt würde) und gibt die Anzahl der Verknüpfungen an, die erstellt wurden. Die Anzahl der angelegten Verknüpfungen hängt von der Wine- Version ab und davon, ob schon zuvor andere Versionen installiert wurden. Später werden nur noch wenige neue Verknüpfungen angelegt.
Wine kann nun ganz normal genutzt werden. Mit dem Befehl
wine
warcraft2.exe
startet wine das Programm warcraft.exe.
Um nun das Programm warcraft.exe mit einer speziellen Wine- Version auszuführen, gibt es zwei Möglichkeiten:
glow
-a warcraft2
wine warcaft.exe
Hier wird zuerst die Wine- Version warcraft2 aktiviert
(in diesem Fall Version 0.9.13) und danach wine normal
gestartet.
Folgende Variante setzt eine Wine- Version und startet
ein Programm mit nur einem Befehl:
WINVER=warcraf2
glow warcraft.exe
Die Umgebungsvariabel WINVER wird dabei auf die gewünschte Wine- Version gesetzt. glow setzt nun diese Wine- Version und startet das gewünschte Programm (warcraft2.exe) mit wine.
Um eine Wine- Version wieder zu entfernen, wird folgender Befehl benötigt:
glow
-r VERSION
VERSION ist dabei durch die zu entfernende Wine- Version zu ersetzen. Da wir vorher die Version 0.9.13 warcraft2 genannt haben, wäre diese hier warcraft2.
barabbas@queros:~$
glow -r warcraft2
Die Wine Version 'warcraft2' wurde erfolgreich
gelöscht
glow bietet eine Reihe weiterer Befehle, die hier kurz dargestellt werden sollen:
Folgender Befehl gibt die installierten Wine- Version aus:
glow
-l
Die Ausgabe sieht dann wie folgt aus:
barabbas@queros:~$
glow -l
Folgende Wine- Versionen werden verwaltet:
1)
warcraft2 *
2) 0.9.58
3) 0.9.57
4) 0.9.50
5) 0.9.49
6) 0.9.44
7) 0.9.43
8) 0.9.37
9) 0.9.33
10)
0.9.24
11) 0.9.20
12) 0.9.19
13) 0.9.16
14) 0.9.15
15) 0.9.14
16) 0.9.13
Insgesamt belegen alle Wine-
Versionen 191M
Die mit * markierte Version ist die gerade aktiv gesetzte. Die meisten Versionen wurden hier nach der jeweiligen Wine- Version benannt, hätten aber auch jeden anderen Namen haben können.
Für gewöhnlich sollte dieser Schritt nicht nötig sein, folgender Befehl veranlasst glow aber dazu, alle Symlinks einer Wine- Version neu zu setzen, auch wenn bereits ein Link vorhanden ist. Falls wine oder glow jedoch tatsächlich einmal fehlende Dateien melden sollte, ist dieser Befehl hilfreich:
sudo
glow -f VERSION
VERSION wird wiedereinmal durch die entsprechende Version gesetzt, in unserem Beispiel also warcraft2. Die Ausgabe ähnelt der Ausgabe nach der Installation:
barabbas@queros:~$
sudo glow -f warcraft2
[sudo] password for barabbas:
Aktiviere
Wine- Version 'warcraft2'
Es wurden 53 Verknüpfungen neu
erstellt
Dieser Befehl entfernt alle Symlinks einer Wine- Version. Er sollte nur eingesetzt werden, wenn der Benutzer genau weiß, was er tut, da dadurch alle Wine- Versionen unbrauchbar werden.
sudo
glow -u VERSION
Eine sehr komfortable Funktion von glow bietet
es an, Wine- Versionen direkt aus dem Netz zu installieren. Der
Benutzer spart sich so die Suche und den Download einer Version, da
glow beides automatisch durchführt:
Zuerst lassen wir uns die
verfügbaren Versionen anzeigen:
glow
-s
Die Ausgabe sieht dann so aus:
barabbas@queros:~$ glow -s
Folgende Versionen
sind als Download verfügbar:
0.9.58 0.9.57 0.9.56 0.9.55
0.9.54 0.9.53 0.9.52
0.9.51 0.9.50 0.9.49 0.9.48 0.9.47 0.9.46
0.9.45
0.9.44 0.9.43 0.9.42 0.9.41 0.9.40 0.9.39 0.9.38
0.9.37
0.9.36 0.9.35 0.9.34 0.9.33 0.9.32 0.9.31
0.9.30 0.9.29 0.9.28
0.9.27 0.9.26 0.9.25 0.9.24
0.9.23 0.9.22 0.9.21 0.9.20 0.9.19
0.9.18 0.9.17
0.9.16 0.9.15 0.9.14 0.9.13 0.9.12
Alle hier genannten Versionen können dann mit folgendem Befehl installiert werden:
sudo
glow -d VERSION NAME
Die Syntax entspricht der der Installation eines lokalen
Paketes.
VERSION wird durch eine Version aus der obigen Liste
ersetzt,
NAME ist wieder der gewünschte Name einer Version,
also z.B. „warcraft1“.
barabbas@queros:~$ sudo glow -d 0.9.20 warcraft1
--14:50:11--
http://wine.budgetdedicated.com/archive/ubuntu/dapper/wine_0.9.20~winehq0~ubuntu~6.06-1_i386.deb
=> `/home/barabbas/.glow/wine_versions/0.9.20.deb'
Auflösen
des Hostnamen »wine.budgetdedicated.com«....
88.159.206.7, 81.171.111.184, 81.171.111.184
Verbindungsaufbau zu
wine.budgetdedicated.com|88.159.206.7|:80... verbunden.
HTTP
Anforderung gesendet, warte auf Antwort... 200 OK
Länge:
8.896.888 (8.5M) [application/x-debian-package]
100%[====================================>] 8.896.888
1.83M/s ETA 00:00
14:50:16 (1.68 MB/s) -
»/home/barabbas/.glow/wine_versions/0.9.20.deb«
gespeichert [8896888/8896888]
Die Datei
'/home/barabbas/.glow/wine_versions/0.9.20.deb' wird entpackt ...
'/home/barabbas/.glow/wine_versions/0.9.20.deb' wurde erfolgreich
installiert
Aktiviere Wine- Version '0.9.20'
Es wurden 3
Verknüpfungen neu erstellt
Entferne das Installationspaket
'0.9.20.deb'
Hier wird nun zuerst das gewählte Paket heruntergeladen. Dieses wird dann installiert und aktiviert. Danach wird das Paket wieder gelöscht. Die installierte Wine- Version ist jetzt wie gewohnt nutzbar.
Ein weiteres besonderes Feature von glow ist die Kompression nicht genutzter Wine- Versionen. Dieses spart bis zu 40 MB pro Version und führt zu nur einer minimalen Verlangsamung bei der Umschaltung zwischen verschiedenen Versionen.
barabbas@queros:~$ glow –compress-on
Komprimiere
'warcraft2'...
'warcraft2' wurde komprimiert
Komprimiere
'warcraft1'...
'warcraft1' wurde komprimiert
Hier soll kurz die Arbeitsweise
von glow erörtert
werden.
Das Paket glow
ist
so konfiguriert, dass es mit Wine konfligiert. Dies ist notwendig, da
glow alle Wine- Dateien durch Symlinks ersetzt. Es können zwar
auch vorhandene Dateien gelöscht werden, um den Benutzer aber
nicht im Unklaren darüber zu lassen, was mit den Wine- Dateien
in den Systemordnern geschieht, wurde diese Konflikt eingerichtet.
Wird nun über glow ein Wine- Paket installiert, wird dieses in das Verzeichnis „~/glow/wine_versions“ entpackt. Danach erstellt glow einen Link „active_wine“ im selben Verzeichnis, der auf das entpackte Wine- Paket verweist. Dieser Link dient einer deutlichen Effektivitätssteigerung beim Switchen unterschiedlicher Wine- Versionen, da jeweils nur dieser Link auf die entsprechende Version umgelegt wird. Das Umschalten geht dadurch sehr viel schneller von statten und schont die Festplatte, da nicht hunderte von Symlinks immer neu angelegt werden müssen.
Die Symlinks in den Systemverzeichnissen werden nur einmal bei der Installation eines Wine- Paketes gesetzt bzw. überprüft. Sie verweisen jeweils auf den Link „active_wine“ im „.glow“- Verzeichnis. Ist bereits ein Wine- Paket gelinkt, müssen nur noch die Dateien neu gelinkt werden, die in der bereits installierten Version noch nicht vorhanden waren – oftmals ist das nicht ein einziger Link.
Ein
weiterer „Tweak“ in glow ist das Aussparen bestimmter
Verzeichnisse, die Wine immer anlegt: Anstatt jede einzelne Datei in
diesem Verzeichnis zu linken, linkt glow gleich die ganzen
Verzeichnisse und spart damit bei einigen Wine- Versionen gut 700
Links! Von dieser Optimierung abgesehen ist glow
prinzipiell
für jedes Paket einsetzbar und ließe sich mit wenigen
Handgriffen auch für die Verwaltung anderer Software einsetzen.