Da PlayOnLinux nur ein grafisches Frontend für Wine ist, sollte es auch damit funktionieren. Dazu reicht es vmtl. die Variable @{WINEPREFIX} anzupassen, indem man @{HOME}/.PlayonLinux/wineprefix/*
hinten anfügt:
@{WINEPREFIX}=@{HOME}/.wine* /opt/wine/.wine* @{HOME}/.PlayonLinux/wineprefix/*
in Zeile 5. Die oben beschriebenen Anpassungen mittels Wine-Konfiguration (winecfg
) sind wohl auch unter POL möglich. Ich selbst verwende POL nicht.
Um das Profil verwenden zu können, muss man es in das richtige Verzeichnis kopieren und dann einlesen lassen (was sonst beim Neustart automatisch geschieht) - egal ob man POL oder Wine direkt verwendet:
sudo cp ~/Downloads/wine /etc/apparmor.d/wine
sudo apparmor_parser -r /etc/apparmor.d/wine
Nun kann man zum Testen ein Programm unter Wine / POL starten. Die zugehörigen Prozesse (ein mal wineserver
und mehrmals wine-preloader
) sollten dann im "enforce"-Modus ausgeführt werden, wobei die angegebenen Prozess-IDs (hier z.B. 5383 für wineserver
) natürlich nicht übereinstimmen müssen:
a@A:~$ sudo aa-status
apparmor module is loaded.
27 profiles are loaded.
27 profiles are in enforce mode.
/sbin/dhclient
/usr/bin/evince
/usr/bin/evince-previewer
/usr/bin/evince-previewer//sanitized_helper
/usr/bin/evince-thumbnailer
/usr/bin/evince-thumbnailer//sanitized_helper
/usr/bin/evince//sanitized_helper
/usr/bin/wine-preloader
/usr/bin/wineserver
/usr/lib/NetworkManager/nm-dhcp-client.action
/usr/lib/connman/scripts/dhclient-script
/usr/lib/cups/backend/cups-pdf
/usr/lib/firefox/firefox{,*[^s][^h]}
/usr/lib/firefox/firefox{,*[^s][^h]}//browser_java
/usr/lib/firefox/firefox{,*[^s][^h]}//browser_openjdk
/usr/lib/firefox/firefox{,*[^s][^h]}//sanitized_helper
/usr/lib/lightdm/lightdm/lightdm-guest-session-wrapper
/usr/lib/lightdm/lightdm/lightdm-guest-session-wrapper//chromium_browser
/usr/lib/telepathy/mission-control-5
/usr/lib/telepathy/telepathy-*
/usr/lib/telepathy/telepathy-*//sanitized_helper
/usr/lib/x86_64-linux-gnu/lightdm-remote-session-freerdp/freerdp-session-wrapper
/usr/lib/x86_64-linux-gnu/lightdm-remote-session-freerdp/freerdp-session-wrapper//chromium_browser
/usr/lib/x86_64-linux-gnu/lightdm-remote-session-uccsconfigure/uccsconfigure-session-wrapper
/usr/lib/x86_64-linux-gnu/lightdm-remote-session-uccsconfigure/uccsconfigure-session-wrapper//chromium_browser
/usr/sbin/cupsd
/usr/sbin/tcpdump
0 profiles are in complain mode.
11 processes have profiles defined.
11 processes are in enforce mode.
/sbin/dhclient (1633)
/usr/bin/wine-preloader (5389)
/usr/bin/wine-preloader (5393)
/usr/bin/wine-preloader (5401)
/usr/bin/wine-preloader (5408)
/usr/bin/wine-preloader (5410)
/usr/bin/wineserver (5383)
/usr/lib/firefox/firefox{,*[^s][^h]} (3641)
/usr/lib/firefox/firefox{,*[^s][^h]}//sanitized_helper (4975)
/usr/lib/telepathy/mission-control-5 (2208)
/usr/sbin/cupsd (1165)
0 processes are in complain mode.
0 processes are unconfined but have a profile defined.
Die Logeinträge kann man in /var/log/syslog bzw. /var/log/kern.log betrachten (siehe AppArmor (Abschnitt „AppArmor-Modi-flags“)). Interessant sind in diesem Zusammenhang dann vor allem die Einträge mit profile="/usr/bin/wine-preloader"
oder profile="/usr/bin/wineserver"
. (operation="profile_replace"
-Einträge bzgl. dieser Profile sollten auch vorhanden sein. Diese stellen keine Fehler dar.)
So kannst du und natürlich auch andere ausprobieren, ob das Profil verwendet wird und nicht zu restriktiv ist. (Ob es nicht zu offen ist, müsste man selbst untersuchen. - Ich denke, dass es das nicht ist, aber das muss nicht heißen, dass das jeder so sieht.)
Data