Con Ubuntu 13.04, la posibilidad de incluir en la lista blanca (y, por consiguiente, en la lista negra) ciertas aplicaciones desde la creación de un icono de bandeja ha desaparecido. Desde entonces, los iconos de la bandeja de las aplicaciones Java y los iconos de Wine están codificados y siempre visibles.
Aunque hay ciertos ppas, que proporcionan un parche de unidad al devolver la lista blanca de systray (todavía no para 14.04) Me gustaría saber si hay otras formas de ocultar los iconos de bandeja de las aplicaciones de Java (por ejemplo, JDownloader)
Sé que hay una manera de hacerlo para las aplicaciones qt mediante la implementación de apparmor-profiles que niegan el acceso de lectura al paquete sni-qt (por ejemplo, para Skype o Spotify)
¿Hay alguna manera de implementar perfiles de apparmor o algo similar para aplicaciones Java y / o aplicaciones Wine?
Gracias
Respuestas:
Para aplicaciones Java:
En realidad, para el caso de JDownloader, es un diseño modular. El icono de la bandeja viene como un complemento que se puede desactivar desde:
JDownloader → Complementos → Administrador de complementos → Extensiones → Desactive la casilla Activar para JD Light Tray
Para el caso general de aplicaciones Java, es posible utilizar el administrador de seguridad Java escribiendo reglas de política personalizadas.
Crear
java.policy
archivo~/.jdownloader
contiene:Modifique la
jdownloader
secuencia de comandos de inicio para usar una política personalizadaAgregar:
-Djava.security.manager -Djava.security.policy=java.policy
a la llamada de comando java:Estas son las reglas mínimas que me permitieron iniciar jdownloader. Es posible que deba agregar más permisos. Como no hay ninguna
deny
opción, debe escribir todas lasgrant
reglas necesarias .Referencias
java.awt
: Clase SystemTrayjava.awt
: Clase AWTPermissionjava.security
: Clase BasicPermissionConsulte Subclases conocidas directas si desea escribir una plantilla general que otorgue
AllPermission
exceptoaccessSystemTray
. Para que pueda usarlo para todas las aplicaciones java restantes.Por cierto, intente comentar una de las reglas agregando
//
al principio de la línea; Para que pueda ver cómo se ve el error de permisos denegados. Le indica qué permiso debe agregar. También tenga en cuenta que he usado muchas-
e*
intentando extender las reglas, ya que estoy buscando una solución rápida (el valor predeterminado era deAllPermission
todos modos) y no estoy buscando encarcelar la aplicación.Aquí hay una plantilla para comenzar, tratando de otorgar todos los permisos posibles:
Nota :
Java Policy Tools es una herramienta GUI para editar archivos de políticas. Hace que sea más fácil encontrar todas las opciones disponibles en el cuadro desplegable. Ya debería estar instalado con el paquete Java.
fuente
Aunque la respuesta de Sneetshers es perfecta, descubrí una solución más simple (y obvia). Este enfoque funciona con JDownloader, pero también debería funcionar con todos los demás programas Java.
Simplemente elimine el logotipo
rm ~/.jdownloader/jd/img/logo/jd_logo_128_128.png
y luego cree un icono png inválido contouch ~/.jdownloader/jd/img/logo/jd_logo_128_128.png
Con este enfoque, aún se puede usar el complemento TrayIcon (útil para minimizar a la bandeja) sin el feo icono de Java
fuente
Como no veo mejores soluciones obvias, es posible que esto ayude:
¡Podrías deshacerte de la bandeja por completo!
xfce4-panel
para este tipo de cosas)Si ahora echa de menos las funciones basadas en la bandeja, la mayoría debería ser reemplazable caso por caso de alguna manera, como un script que muestra notificaciones de escritorio en algunos eventos.
fuente
Si desea que todas las aplicaciones que usan un icono de bandeja puedan usarlo en Ubuntu 14.04, puede usar un PPA que viene con Unity parcheado para volver a habilitar la lista blanca de la bandeja del sistema. Para hacer esto, abra una terminal y ejecute los siguientes comandos:
Luego, reinicie Unity presionando ALT + F2 e ingresando "unidad" o cerrando sesión. El PPA ahora incluye automáticamente en la lista blanca todas las aplicaciones, por lo que no es necesario incluir manualmente las aplicaciones individuales en la lista blanca para poder usar la bandeja del sistema.
Revertir los cambios
Si desea revertir los cambios y volver a los paquetes predeterminados de Unity desde los repositorios de Ubuntu, use los comandos a continuación para purgar el PPA de la lista blanca del sistema de Unity:
De http://www.webupd8.org/2013/05/how-to-get-systray-whitelist-back-in.html
fuente