Dengan Ubuntu 13.04 kemungkinan untuk membuat daftar putih (dan akibatnya membuat daftar hitam) aplikasi tertentu dari membuat ikon baki hilang. Sejak saat itu ikon baki aplikasi Java dan ikon Wine di-hardcode dan selalu terlihat.
Meskipun ada beberapa ppas tertentu, yang menyediakan tambalan kesatuan dengan mengembalikan systray.whitelist (belum untuk 14,04), saya ingin tahu apakah ada cara lain untuk menyembunyikan baki-ikon aplikasi java (mis. JDownloader)
Saya tahu bahwa ada cara untuk melakukannya untuk aplikasi qt dengan menerapkan profil apparmor yang menolak akses baca ke paket sni-qt (misalnya untuk Skype, atau Spotify)
Apakah ada cara untuk mengimplementasikan profil apparmor atau yang serupa untuk aplikasi Java dan / atau aplikasi Wine?
Terima kasih
Jawaban:
Untuk Aplikasi Java:
Sebenarnya untuk kasus JDownloader, Ini desain modular. Ikon baki datang sebagai plugin yang dapat dinonaktifkan dari:
JDownloader → Addons → Addon Manager → Extensions → Hapus centang Aktifkan kotak untuk JD Light Tray
Untuk kasus umum aplikasi Java, Dimungkinkan untuk menggunakan manajer keamanan Java dengan menulis aturan kebijakan khusus.
Buat
java.policy
file dalam~/.jdownloader
berisi:Ubah
jdownloader
skrip peluncuran untuk menggunakan kebijakan khususTambahkan:
-Djava.security.manager -Djava.security.policy=java.policy
ke panggilan perintah java:Ini adalah aturan minimum yang memungkinkan saya untuk meluncurkan jdownloader. Anda mungkin perlu menambahkan lebih banyak izin. Karena tidak ada
deny
pilihan Anda harus menulis semuagrant
aturan yang diperlukan .Referensi:
java.awt
: Kelas SystemTrayjava.awt
: Kelas AWTPermissionjava.security
: Kelas BasicPermissionLihat Subclass Langsung Dikenal jika Anda ingin menulis template umum yang memberikan
AllPermission
kecualiaccessSystemTray
. Jadi Anda dapat menggunakannya untuk semua aplikasi java yang tersisa.BTW, cobalah mengomentari salah satu aturan dengan menambahkan
//
ke awal baris; Jadi, Anda dapat melihat bagaimana kesalahan dari izin yang ditolak terlihat. Ini memberi tahu Anda izin mana yang harus Anda tambahkan. Juga perhatikan bahwa saya telah menggunakan banyak-
&*
mencoba untuk memperluas aturan karena saya mencari solusi cepat (standarnyaAllPermission
sih) dan saya tidak mencari untuk memenjarakan aplikasi.Ini adalah templat untuk memulai, mencoba memberikan semua izin yang mungkin:
Catatan :
Java Policy Tools adalah alat GUI untuk mengedit file kebijakan. Itu membuatnya lebih mudah untuk mengetahui semua opsi yang tersedia dari drop box. Seharusnya sudah menginstal dengan paket Java.
sumber
Meskipun jawaban Sneetshers sempurna, saya menemukan solusi yang lebih sederhana (dan jelas). Pendekatan ini berfungsi dengan JDownloader, tetapi juga harus bekerja dengan semua program Java lainnya.
Hapus saja logo
rm ~/.jdownloader/jd/img/logo/jd_logo_128_128.png
dan kemudian buat ikon png yang tidak valid dengantouch ~/.jdownloader/jd/img/logo/jd_logo_128_128.png
Dengan menggunakan pendekatan ini, seseorang masih dapat menggunakan plugin TrayIcon (berguna untuk meminimalkan ke baki) tanpa ikon java jelek
sumber
Karena saya tidak melihat solusi yang lebih baik, mungkin ini akan membantu:
Anda bisa menyingkirkan nampan sama sekali!
xfce4-panel
hal-hal semacam ini)Jika Anda akan kehilangan fitur berbasis baki sekarang, sebagian besar harus dapat diganti kasus demi kasus, seperti skrip yang menampilkan pemberitahuan desktop pada beberapa acara.
sumber
Jika Anda ingin semua aplikasi yang menggunakan ikon baki untuk dapat memanfaatkannya di Ubuntu 14.04, Anda dapat menggunakan PPA yang disertakan dengan Unity patched untuk mengaktifkan kembali daftar putih systray. Untuk melakukan ini, buka terminal dan jalankan perintah berikut:
Kemudian, restart Unity dengan menekan ALT + F2 dan memasukkan "unity" atau dengan logout. PPA sekarang secara otomatis memasukkan daftar putih semua aplikasi sehingga tidak perlu secara manual membuat daftar putih masing-masing aplikasi untuk dapat menggunakan systray.
Mengembalikan perubahan
Jika Anda ingin mengembalikan perubahan dan kembali ke paket Unity default dari repositori Ubuntu, gunakan perintah di bawah ini untuk membersihkan PPA daftar putih whystist Unity:
Dari http://www.webupd8.org/2013/05/how-to-get-systray-whitelist-back-in.html
sumber