¿Es posible eliminar elementos de "Configuración del sistema"

17

Me gustaría eliminar o deshabilitar algunos paneles de configuración no utilizados en la configuración del sistema / gnome-control-center para evitar que mis usuarios más "ambiciosos" jueguen con ellos.
Específicamente, me gustaría deshabilitar / eliminar lo siguiente:

  • Impresoras (porque no tenemos ninguna conectada a estas máquinas)
  • Detalles (porque le permite establecer acciones en medios extraíbles)
  • Teclado (porque le permite configurar teclas de acceso directo, no un factor decisivo)

Parece que debería ser bastante sencillo (puedo eliminarlos del menú Aplicaciones configurando Hidden=trueel .desktoparchivo asociado al panel), pero tercamente permanecen en la Configuración del sistema cuando hago eso.

¿Me estoy perdiendo algo o estamos atascados con estos paneles en la aplicación Configuración para siempre?

voretaq7
fuente

Respuestas:

16

Dado que cambiar los permisos logra su objetivo, vea esta magia:

dpkg-statoverride --update --add root root 640 /usr/share/applications/gnome-printers-panel.desktop
dpkg-statoverride --update --add root root 640 /usr/share/applications/gnome-info-panel.desktop
dpkg-statoverride --update --add root root 640 /usr/share/applications/gnome-keyboard-panel.desktop

Puede eliminar las anulaciones con:

dpkg-statoverride --remove /path/to/file

(pero tenga en cuenta que esto no restablecerá los permisos originales)

MikeyB
fuente
1
Esta es probablemente la solución más elegante de propósito general (y parece ser el más probabilidades de sobrevivir a través de paquetes y actualizaciones de liberación)
voretaq7
6

De acuerdo, creo que encontré una solución alternativa: gnome-control-centerno respeta Hidden=trueel gnome-whatever-panel.desktoparchivo, pero no es lo suficientemente inteligente como para mostrar un panel si elimina por completo el .desktoparchivo asociado .

Entonces, para los paneles que he enumerado, puede eliminarlos / deshabilitarlos eliminando los siguientes archivos:

/usr/share/applications/gnome-printers-panel.desktop
/usr/share/applications/gnome-info-panel.desktop
/usr/share/applications/gnome-keyboard-panel.desktop

Como MikeyB señaló en su comentario, hacer que estos archivos sean ilegibles para "otros" también es una opción: probé esto ( chmod 640) en una caja de repuesto y parece funcionar, deshabilitando los paneles para usuarios "normales" mientras los dejo disponibles para los rootmiembros del rootgrupo


Hay dos desventajas notables en este enfoque:

  1. Esto desactiva completamente esos paneles para TODOS los usuarios.
    Ni siquiera puede invocarlos manualmente ejecutando gnome-control-center infoo algo similar a lo que mencionó Radu Rădeanu : simplemente no se iniciarán.

  2. Las actualizaciones gnome-control-centery los paquetes relacionados pueden devolver los paneles.
    Básicamente, esto significa verificar después de cada actualización de software para asegurarse de que aún no estén (o que tengan permisos restrictivos apropiados) y eliminar / borrar chmodlos .desktoparchivos nuevamente si es necesario.

Para mis propósitos, ninguno de los dos es un gran problema ya que configuro estas máquinas desde la línea de comandos de todos modos y los paneles de configuración del sistema son solo para que los usuarios realicen pequeños "ajustes de personalidad", así que a menos que esta solución

voretaq7
fuente
1
En lugar de eliminar, ¿sigue haciendo lo que quiere si restringe los permisos de lectura a ciertos grupos (es decir, todos excepto el usuario root y usted)?
MikeyB
@MikeyB Posiblemente: la máquina en la que probaría estas cosas está creando actualmente una versión con los archivos eliminados, así que no puedo probar eso ahora mismo, esa sería una buena manera de mitigar el n. ° 1. (Sin embargo, es probable que las actualizaciones lo
pisoteen
Si mira dentro del /usr/share/applications/gnome-info-panel.desktoparchivo verá que está utilizando gnome-control-center info. Por lo tanto, este comando funcionará sin problemas si elimina ese archivo de escritorio.
Radu Rădeanu
@ RaduRădeanu No, no lo hará - Al menos no en la máquina en la que lo probé. (Si se ejecuta gnome-control-center infodespués de eliminar el archivo de escritorio del panel de información del centro de control se abre, pero que te deja en la página "Todos los ajustes" - el panel no se carga.)
voretaq7
3

No, lamentablemente no puede eliminar ninguna Impresora , Detalles o Teclado de la Configuración del sistema . Estos se llaman "PANELES" y están codificados en el gnome-control-centerpaquete. Si elimina este paquete, ya no tendrá la Configuración del sistema .

Supongamos que elimina esos iconos y nombres del panel principal de Configuración del sistema . De todos modos, un usuario puede abrir cualquiera de ellos desde la terminal utilizando uno de los siguientes comandos:

gnome-control-center info
gnome-control-center keyboard
gnome-control-center printers

Ver man gnome-control-centerpara más información.

Radu Rădeanu
fuente
1
Esencialmente, ya hemos negado a nuestros usuarios el acceso al terminal (o al menos lo hemos hecho realmente inconveniente ), por lo que hacer que invoquen algo escribiendo un comando generalmente no es un problema, pero esta es más o menos la respuesta que esperaba. (Luego surge la pregunta de por qué puedo eliminar otros paneles con la suficiente facilidad eliminando un paquete subyacente, pero estos en particular se sueldan en el paquete base haciéndolos todo o nada, pero esa es una diatriba por separado ...)
voretaq7