W Ubuntu 13.04 zniknęła możliwość dodania do białej listy (a tym samym czarnej listy) niektórych aplikacji z ikony na pasku zadań. Od tego czasu ikony w aplikacjach Java i ikony Wine są zakodowane na stałe i zawsze widoczne.
Chociaż istnieją pewne ppas, które zapewniają łatkę jedności, zwracając białą listę systray.white (jeszcze nie dla 14.04) Chciałbym wiedzieć, czy istnieją inne sposoby ukrywania ikon na pasku aplikacji Java (np. JDownloader)
Wiem, że jest na to sposób w aplikacjach qt poprzez wdrożenie profili apparmor, które odmawiają dostępu do odczytu pakietu sni-qt (np. Skype lub Spotify)
Czy istnieje sposób na zaimplementowanie profili Apparmor lub coś podobnego dla aplikacji Java i / lub Wine?
dzięki
Odpowiedzi:
W przypadku aplikacji Java:
Właściwie w przypadku JDownloadera jest to konstrukcja modułowa. Ikona zasobnika jest wtyczką, którą można wyłączyć w:
JDownloader → Dodatki → Menedżer dodatków → Rozszerzenia → Odznacz pole Aktywuj dla JD Light Tray
W przypadku ogólnych aplikacji Java Możliwe jest użycie menedżera bezpieczeństwa Java, pisząc niestandardowe reguły zasad.
Utwórz
java.policy
plik~/.jdownloader
zawiera:Zmodyfikuj
jdownloader
skrypt uruchamiania, aby użyć niestandardowych zasadDodaj:
-Djava.security.manager -Djava.security.policy=java.policy
do komendy Java:Są to minimalne reguły, które pozwoliły mi uruchomić program jdownloader. Być może trzeba będzie dodać więcej uprawnień. Ponieważ nie ma
deny
opcji, musisz napisać wszystkie potrzebnegrant
reguły.Bibliografia:
java.awt
: Class SystemTrayjava.awt
: Klasa AWTP Licencjajava.security
: Class BasicPermissionZobacz Bezpośrednie znane podklasy, jeśli chcesz napisać ogólny szablon, który przyznaje
AllPermission
opróczaccessSystemTray
. Możesz więc używać go do wszystkich pozostałych aplikacji Java.BTW, spróbuj skomentować jedną z reguł, dodając
//
na początku linii; Możesz więc zobaczyć, jak wygląda błąd odmowy uprawnień. Mówi ci, które pozwolenie powinieneś dodać. Zauważ też, że użyłem wielu-
i*
próbuję rozszerzyć reguły, ponieważ szukam szybkiego rozwiązania (domyślnieAllPermission
tak było ) i nie chcę więzić aplikacji.Oto szablon na początek, próbujący udzielić wszystkich możliwych uprawnień:
Uwaga :
Java Policy Tools to narzędzie GUI do edycji plików zasad. Ułatwia to znalezienie wszystkich dostępnych opcji z rozwijanej skrzynki. Powinien być już zainstalowany z pakietem Java.
źródło
Chociaż odpowiedź Sneetsherów jest idealna, odkryłem prostsze (i oczywiste) rozwiązanie. To podejście działa z JDownloaderem, ale powinno również działać ze wszystkimi innymi programami Java.
Wystarczy usunąć logo,
rm ~/.jdownloader/jd/img/logo/jd_logo_128_128.png
a następnie utworzyć nieprawidłową ikonę png za pomocątouch ~/.jdownloader/jd/img/logo/jd_logo_128_128.png
Korzystając z tego podejścia, nadal można używać wtyczki TrayIcon (przydatnej do minimalizacji do zasobnika) bez brzydkiej ikony Java
źródło
Ponieważ nie widzę żadnych oczywistych lepszych rozwiązań, możliwe, że to pomoże:
Możesz pozbyć się tacy całkowicie!
xfce4-panel
rzeczy)Jeśli teraz brakuje Ci funkcji opartych na zasobniku, większość z nich powinna być w jakiś sposób wymienna po kolei, na przykład fragment pokazujący powiadomienia na pulpicie o niektórych wydarzeniach.
źródło
Jeśli chcesz, aby wszystkie aplikacje, które używają ikony zasobnika, mogły z niego korzystać w Ubuntu 14.04, możesz skorzystać z PPA dostarczanego z poprawką Unity, aby ponownie włączyć białą listę systray. Aby to zrobić, otwórz terminal i uruchom następujące polecenia:
Następnie uruchom ponownie Unity, naciskając ALT + F2 i wprowadzając „jedność” lub wylogowując się. PPA teraz automatycznie dodaje do białej listy wszystkie aplikacje, więc nie trzeba ręcznie dodawać do białej listy poszczególnych aplikacji, aby móc korzystać z paska zadań.
Cofanie zmian
Jeśli chcesz przywrócić zmiany i wrócić do domyślnych pakietów Unity z repozytoriów Ubuntu, użyj poniższych poleceń, aby wyczyścić białą listę PPA systemu Sity:
From http://www.webupd8.org/2013/05/how-to-get-systray-whitelist-back-in.html
źródło