{{tag> wine}} ====== 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: - Die C-Partition des Wine-System (ca. 440 MB) unter /home/wine.drive_c ablegen - im home des linuxadmins symbolische Links setzen und dort nur die "Registry" ablegen (ca. 2 MB) - Optional: Programme unter k:, somit unter /home/samba/progs installieren, also serverbasiert Diese Lösungsvariante lässt sich bei Verwendung des [[anwenderwiki:linuxclient:defaultcloop_14.04|Defaultcloop Ubuntu 14.04]] bequem automatisch mit dem -> [[anwenderwiki:linuxclient:lmlcc|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/ 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 -> [[anwenderwiki:linuxclient:wine:wine-nach-home?&#programminstallationen| 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. # 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. # 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. -> [[anwenderwiki:linuxclient:wine:wine-irfanview-portable|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.