Mit Ubuntu 13.04 ist die Möglichkeit, bestimmte Anwendungen von der Erstellung eines Tray-Icons aus auf die Whitelist (und damit auf die Blacklist) zu setzen, weggefallen. Seitdem sind die Taskleistensymbole von Java-Anwendungen und Wine-Symbole fest codiert und immer sichtbar.
Obwohl es bestimmte ppas gibt, die einen Unity-Patch bereitstellen, indem sie die systray.whitelist zurückgeben (allerdings noch nicht für 14.04), würde ich gerne wissen, ob es andere Möglichkeiten gibt, die Tray-Icons von Java-Apps auszublenden (z. B. JDownloader).
Ich weiß, dass es für qt-Anwendungen eine Möglichkeit gibt, Apparmor-Profile zu implementieren, die den Lesezugriff auf das sni-qt-Paket verweigern (z. B. für Skype oder Spotify).
Gibt es eine Möglichkeit, Apparmor-Profile oder ähnliches für Java- und / oder Wine-Anwendungen zu implementieren?
Vielen Dank
Antworten:
Für Java Apps:
Eigentlich für JDownloader Fall ist es ein modularer Aufbau. Das Tray Icon ist ein Plugin, das deaktiviert werden kann unter:
JDownloader → Addons → Addon-Manager → Erweiterungen → Deaktivieren Sie das Kontrollkästchen " Aktivieren " für JD Light Tray
Im allgemeinen Fall von Java-Anwendungen können Sie den Java-Sicherheitsmanager verwenden, indem Sie benutzerdefinierte Richtlinienregeln schreiben.
java.policy
Datei erstellen in~/.jdownloader
enthält:Ändern Sie
jdownloader
das Startskript, um die benutzerdefinierte Richtlinie zu verwendenHinzufügen:
-Djava.security.manager -Djava.security.policy=java.policy
zu Java-Befehlsaufruf:Dies sind die Mindestregeln, nach denen ich jdownloader starten konnte. Möglicherweise müssen Sie weitere Berechtigungen hinzufügen. Da es keine
deny
Option gibt, müssen Sie alle erforderlichengrant
Regeln schreiben .Verweise:
java.awt
: Klasse SystemTrayjava.awt
: Klasse AWTPermissionjava.security
: Klasse BasicPermissionSiehe Direkte bekannte Unterklassen, wenn Sie eine allgemeine Vorlage schreiben möchten, die
AllPermission
except gewährtaccessSystemTray
. Sie können es also für alle verbleibenden Java-Apps verwenden.Übrigens: Versuchen Sie, eine der Regeln zu kommentieren, indem Sie
//
sie am Zeilenanfang einfügen. So können Sie sehen, wie der Fehler verweigerter Berechtigungen aussieht. Hier erfahren Sie, welche Berechtigung Sie hinzufügen sollten. Beachten Sie auch, dass ich viele Regeln verwendet-
und*
versucht habe, diese zu erweitern, da ich nach einer schnellen Lösung suche (die Standardeinstellung warAllPermission
sowieso) und die Anwendung nicht ins Gefängnis bringen möchte.Hier ist zunächst eine Vorlage, die versucht, alle möglichen Berechtigungen zu erteilen:
Hinweis :
Java Policy Tools ist ein GUI-Tool zum Bearbeiten von Richtliniendateien. Dies macht es einfacher, alle verfügbaren Optionen in der Dropbox zu finden. Es sollte bereits mit Java-Paket installiert sein.
quelle
Obwohl Sneetshers Antwort perfekt ist, habe ich eine einfachere (und naheliegende) Lösung gefunden. Dieser Ansatz funktioniert mit JDownloader, sollte aber auch mit allen anderen Java-Programmen funktionieren.
Entfernen Sie einfach das Logo
rm ~/.jdownloader/jd/img/logo/jd_logo_128_128.png
und erstellen Sie anschließend ein ungültiges PNG-Symbol mittouch ~/.jdownloader/jd/img/logo/jd_logo_128_128.png
Mit diesem Ansatz kann das TrayIcon-Plugin (nützlich zum Minimieren auf Tray) auch ohne das hässliche Java-Symbol verwendet werden
quelle
Da ich keine offensichtlich besseren Lösungen sehe, ist es möglich, dass dies hilft:
Sie könnten das Tablett insgesamt loswerden!
xfce4-panel
für diese Art von Dingen)Wenn Sie jetzt auf Funktionen verzichten, die auf der Taskleiste basieren, sollten die meisten Funktionen von Fall zu Fall ersetzt werden können, z.
quelle
Wenn Sie möchten, dass alle Anwendungen, die ein Tray-Symbol verwenden, es in Ubuntu 14.04 verwenden können, können Sie einen PPA verwenden, der mit Unity-Patches geliefert wird, um die Whitelist für Systrays wieder zu aktivieren. Öffnen Sie dazu ein Terminal und führen Sie die folgenden Befehle aus:
Starten Sie anschließend Unity neu, indem Sie ALT + F2 drücken und "unity" eingeben oder sich abmelden. Die PPA listet jetzt automatisch alle Anwendungen auf, sodass keine manuelle Whitelist für einzelne Anwendungen erforderlich ist, um den Systray verwenden zu können.
Änderungen rückgängig machen
Wenn Sie die Änderungen rückgängig machen und von den Ubuntu-Repositorys zu den Standard-Unity-Paketen zurückkehren möchten, verwenden Sie die folgenden Befehle, um die PPA-Whitelist für Unity-Systray zu löschen:
Von http://www.webupd8.org/2013/05/how-to-get-systray-whitelist-back-in.html
quelle