Benutzer-Werkzeuge

Webseiten-Werkzeuge


 [[anwenderwiki:linuxclient:wine:wine-nach-home]] 

Wine Installation nach /home auslagern

Lösungsvariante um das Kopieren des großen .wine-Verzeichnisses bei der Benutzeranmeldung zu umgehen und um die Images klein zu halten:

  1. Die C-Partition des Wine-System (ca. 440 MB) unter /home/wine.drive_c ablegen
  2. im home des linuxadmins symbolische Links setzen und dort nur die „Registry“ ablegen (ca. 2 MB)
  3. Optional: Programme unter k:, somit unter /home/samba/progs installieren, also serverbasiert

Diese Lösungsvariante lässt sich bei Verwendung des Defaultcloop Ubuntu 14.04 bequem automatisch mit dem → lmlcc durchführen.

Die hier verwendete Verzeichnisstruktur im Detail:

Wine ist von den Entwicklern darauf ausgelegt, dass jeder User eine komplette Windows-Umgebung in seinem home liegen hat. Dies wird hier komplett mit Hilfe von symbolischen Links verändert. Nebenwirkungen sind deshalb nicht auszuschließen.

Innerhalb von Wine (d.h. in einem Windows-Programm, z.B. beim Datei-Öffnen-Dialog) kann man wie in einem Windows auf die Pfade C:, K:, und H: zugreifen. Diese sind jedoch nur symbolische Links auf verschiedene Verzeichnisse im lokalen Linux-Dateisystem:

  • c: → /home/wine.drive_c
  • k: → /home/samba/progs
  • h: → /../../Home_auf_Server

Bei Anmeldung eine Netzwerkusers, z.B. eines Lehrers, werden in die beiden letzteren Verzeichnisse jeweils Freigaben des Servers eingebunden, somit:

  • k: → LOKAL:/home/samba/progs → SERVER:/home/samba/progs
  • h: → LOKAL:/../../Home_auf_Server → SERVER:/home/teachers/<LEHRER-NAME>

Bei Anmeldung eine lokalen Users, z.B. des linuxadmin sind diese Verzeichnisse somit leer, da kein Zugriff auf den Server.

Programminstallationen können sowohl unter C: als auch unter K: erfolgen. Der linuxadmin kann aber nur unter C: installieren, dies ist für einfache Installationen vorzuziehen. Für Installationen unter K: sollte der pgmadmin verwendet werden, siehe unten → 6. Programminstallationen

1. Installation von Wine

Mit dem Paketmanager das Metapaket „wine“ installieren oder in der Konsole:

# sudo apt-get install wine

2. Konfiguration des linuxmuster-client-Paketes

In der Standardkonfiguration von linuxmuster-client, werden die Symlinks vom Musterprofil nicht kopiert. Dafür muss man folgendes ändern in /etc/linuxmuster-client/profile/profile.conf (muss als root editiert werden):

 ...
 RSYNC_OPTIONS="--links"
 ...

3. Wine als linuxadmin - Musterprofil erstellen

Als linuxadmin anmelden und ein Terminal starten.
Nun Wine-Konfiguration im Home des linuxadmin erzeugen:

winecfg
Während des Installationsprozesses wird „mono“ und zweimal „Geko“ (32-Bit + 64-Bit) zusätzlich heruntergeladen und installiert. Diese Installationsdateien liegen dann unter „/home/linuxadmin/.cache/wine“ und können gelöscht werden. Ebenso kann das Verzeichnis „/home/linuxadmin/.cache/winetricks“ gelöscht werden.

Verzeichnisstruktur ändern:

sudo mv /home/linuxadmin/.wine/drive_c /home/wine.drive_c
sudo chmod -R 777 /home/wine.drive_c
sudo chmod -R 755 /home/samba
ln -sf /home/wine.drive_c /home/linuxadmin/.wine/dosdevices/c: 
ln -sf /home/samba/progs /home/linuxadmin/.wine/dosdevices/k:
ln -sf ../../Home_auf_Server /home/linuxadmin/.wine/dosdevices/h: 

Problematik: Alle User erhalten nun als Windows-Profil das vom linuxadmin, somit sind Pfade und Umgebungsvariablem auf linuxadmin eingestellt (z.B. das temporäre Verzeichnis „Temp“). Der Windows Profil-Ordner des linuxadmin „/home/wine.drive_c/users/linuxadmin“darf deshalb nicht gelöscht werden.
Lösungsmöglichkeit: Die Reg-Dateien von wine: „user.reg“, „userdef.reg“ entsprechend anpassen (Reihenfolge beachten):

   sed -i"" 's/C:\\\\users\\\\linuxadmin\\\\Templates/%USERPROFILE%\\\\Templates/g' /home/linuxadmin/.wine/user.reg
   sed -i"" 's/C:\\\\users\\\\linuxadmin\\\\Temp/Z:\\\\tmp/g' /home/linuxadmin/.wine/user.reg
   sed -i"" 's/C:\\\\users\\\\linuxadmin/%USERPROFILE%/g' /home/linuxadmin/.wine/user.reg
   sed -i"" 's/C:\\\\users\\\\linuxadmin/%USERPROFILE%/g' /home/linuxadmin/.wine/userdef.reg
   sed -i"" 's/C:\\\\users\\\\pgmadmin/%USERPROFILE%/g' /home/linuxadmin/.wine/user.reg
   sed -i"" 's/C:\\\\users\\\\pgmadmin/%USERPROFILE%/g' /home/linuxadmin/.wine/userdef.reg

4. post-umount Script erstellen

Problematik: Das Verzeichnis /home/wine.drive_c ist nun für alle User les- und schreibbar! Wenn ein User dort Dateien ablegt, kann ein anderer sie lesen. Nach einem Sync durch linbo sind diese dann weg.
Lösungsmöglichkeit: Ein Script löscht bei der Abmeldung ggf. das angelegte User-wine-Verzeichnis.
Das Script unter /etc/linuxmuster-client/post-umount.d/002-wineuserdel ablegen.

002-wineuserdel
# loescht das angelegte user-wine-Verzeichnis
 
rm -Rf /home/wine.drive_c/users/$USER

5. Rechte beim Login setzen

Nach einer Programminstallation sind ggf. die Dateien unter /home/wine.drive_c nur für den linuxadmin oder dem pgmadmin lesbar. Dies kann mit einem pre-mount Script /etc/linuxmuster-client/pre-mount.d/030-chmod-wine angepasst werden.

030-chmod-wine
# setzt die Rechte des /home/wine.drive_c -Verzeichnisses
 
chmod -R 777 /home/wine.drive_c

Die Wine Installation ist nun abgeschlossen und es können die Programme installiert werden, z.B. → Irfanview.


6. Programminstallationen

Programme sollten unter wine als linuxadmin installiert werden. Bei den meisten Installationen wird nämlich die Windows-wine-Registry geändert, diese befindet sich beim Vorlagenbenutzer „linuxadmin“ im home in mehreren Text-Dateien:

/home/linuxadmin/.wine/system.reg
/home/linuxadmin/.wine/user.reg
/home/linuxadmin/.wine/userdef.reg

Da der linuxadmin das Default-Profil in seinem home beinhaltet, erhält jeder User bei seiner Anmeldung diese Registry und z.B. auch Desktop-Icons (=Desktop-Starter).

Problem: Der lokale Benutzer linuxadmin hat keine Netzwerkfreigaben des Servers, kann also nicht unter K: installieren
Lösung: Die Programme als pgmadmin installieren und danach die Registry-Dateien des pgmadmin zum linuxadmin-home kopieren. Dann die Registry-Dateien untersuchen, ob absolute Pfade auf den pgmadmin existieren und diese ggf. abändern. Portable-Versionen von Windows-Programmen verändern die Registry meist nicht, bei denen erübrigt sich somit das Kopieren.
Ebenso Desktop-Icons (=Desktop-Starter) für Programme von K: als pgmadmin anlegen und dann diese Icons manuell zum linuxadmin kopieren. Der linuxadmin kann zwar diese Icons nicht verwenden, da sie ohne Netzwerkfreigaben ins Leere zeigen. Ein Netzwerkuser kann sie aber trotzdem benutzen.

 [[anwenderwiki:linuxclient:wine:wine-nach-home]] anwenderwiki/linuxclient/wine/wine-nach-home.txt · Zuletzt geändert: 2016/04/25 20:46 von 127.0.0.1