¿Es posible agregar iconos al panel superior de la pantalla de inicio de sesión?

10

¿Es posible agregar iconos (que no sean los predeterminados) al panel superior de la pantalla de inicio de sesión?

ingrese la descripción de la imagen aquí

En caso afirmativo, qué iconos de aplicaciones se agregarán al panel superior de la pantalla de inicio de sesión que no sean los predeterminados ( integrado, sonido, administrador de red, etc. ) ¿Y cómo agrego eso?

Estoy ejecutando Ubuntu 13.10

Avinash Raj
fuente
Es el administrador de inicio de sesión lightdm, por lo que tendrá que editar sus archivos /usr/sharedirectamente. Creo que hubo un personalizador LightDM que permitió esto y cambiar el fondo, pero no lo sé si todavía funciona más ..
Wilf
1
¿Puedo obtener este fondo de pantalla?
@Utkarsh descargué la imagen de arriba de la búsqueda de imágenes de Google.
Avinash Raj

Respuestas:

14

Estoy en 12.04, pero esto también funcionará en 13.10.

Sí, es posible cambiar los indicadores para la unidad de bienvenida. Podríamos usar GSettings para modificar la configuración, pero debido a que la unidad-greeter solo es ejecutada por el usuario lightdm, (por lo que su configuración no afecta a nadie más) es más fácil escribir un .overridearchivo.

1. Verifique los indicadores predeterminados

Puede ver sus indicadores predeterminados en dconf-editoro int el /usr/share/glib-2.0/schemas/com.canonical.unity-greeter.gschema.xmlarchivo. En el último archivo verá una clave similar a esta:

 <key name="indicators" type="as">
  <default>['ug-keyboard', 'ug-accessibility', 'session', 'datetime', 'power', 'soundmenu', 'application']</default>
  <summary>Which indicators to load</summary>
</key>

, esos son los valores predeterminados para mí. Comprueba el tuyo primero.

En 13.10 esta tecla se ve así:

<key name="indicators" type="as">
  <default>['ug-accessibility', 'com.canonical.indicator.keyboard', 'com.canonical.indicator.session', 'com.canonical.indicator.datetime', 'com.canonical.indicator.power', 'com.canonical.indicator.sound', 'application']</default>
  <summary>Which indicators to load</summary>
</key>

2) Verifique los indicadores disponibles

Puede verificar sus indicadores disponibles en el /usr/lib/indicators3/7/directorio o en el /usr/share/unity/indicators/directorio.

3. Escribir un archivo de anulación

Simplemente escriba un archivo con contenido similar y guárdelo como /usr/share/glib-2.0/schemas/myoverride.gschema.override

Para 12.04

[com.canonical.unity-greeter]
indicators=['ug-keyboard', 'ug-accessibility', 'session', 'datetime', 'power', 'soundmenu', 'application', 'messaging']

Para 13.10

[com.canonical.unity-greeter]
indicators=['ug-accessibility', 'com.canonical.indicator.keyboard', 'com.canonical.indicator.session', 'com.canonical.indicator.datetime', 'com.canonical.indicator.power', 'com.canonical.indicator.sound', 'application', 'messages']

En la versión 12.04 agregué el indicador de mensajes a la lista predeterminada de 12.04. En la versión 13.10 agregué el indicador de mensajes a la lista predeterminada de 13.10. Simplemente los agregué a la lista predeterminada que se muestra en el PASO 1 , también puede hacerlo, o eliminar algunos de los indicadores predeterminados si no desea que aparezcan en la pantalla de inicio de sesión. (Tenga cuidado con los apóstrofes). IMPORTANTE : el 12.04 debe mantener el 'teclado ug' y el indicador 'sesión' en la lista, así que NO los elimine si los tiene en la línea predeterminada, o lightdm se atascará en un bucle sin fin. (como aquí )

Convenciones de nomenclatura en el archivo de anulación: para los archivos en el /usr/lib/indicators3/7/directorio, el nombre de archivo que precede a "lib" y el final ".so" no son importantes, por lo que para un archivo llamado libmessaging.so podríamos usar 'libmessaging.so', 'libmessaging' o 'mensajería'. Para los archivos en el /usr/share/unity/indicators/directorio, el nombre de archivo precedente "com.canonical.indicator". no es importante, entonces para el archivo "com.canonical.indicator.bluetooth" podríamos usar 'com.canonical.indicator.bluetooth' o simplemente "bluetooth".

4. Copia de seguridad (por si acaso)

Haga una copia de seguridad del /usr/share/glib-2.0/schemas/gschemas.compiledarchivo.

5. Compilar

Después de toda esta carrera

sudo glib-compile-schemas /usr/share/glib-2.0/schemas

6. Comprueba los resultados

Después de esto intente cerrar sesión y ver si funcionó. O también puede hacer una prueba de la pantalla de inicio de sesión sin cerrar sesión, si lo intenta desde un terminal:

lightdm --test-mode

o

unity-greeter --test-mode 

Para mí el 12.04 el indicador de mensajes funcionó, mi indicador de menú de impresoras no. El 13.10 probé con el indicador de mensajes y no apareció, pero ninguno produjo errores, por lo que supuse que por diseño no aparece en la pantalla de bienvenida, porque allí es inútil. Así que verifiqué el /usr/share/unity/indicators/com.canonical.indicator.messagesarchivo y confirmó que no tiene una sección [desktop_greeter] como, por ejemplo, el indicador de sesión. Entonces, si desea que el indicador de mensajes (u otro indicador sin la sección [desktop_greeter]) aparezca en la pantalla de inicio de sesión (incluso si es inútil en su mayoría allí), también tendrá que editar su archivo en el /usr/share/unity/indicators/directorio, y haga una copia de la sección [escritorio] en ese archivo y cambie el nombre de la copia a la sección [escritorio_greeter]. Por ejemplo, para el indicador de mensajes terminé con este archivo para /usr/share/unity/indicators/com.canonical.indicator.messages:

[Indicator Service]
Name=indicator-messages
ObjectPath=/com/canonical/indicator/messages
Position=50

[desktop]
ObjectPath=/com/canonical/indicator/messages/desktop

[phone]
ObjectPath=/com/canonical/indicator/messages/phone

[desktop_greeter]
ObjectPath=/com/canonical/indicator/messages/desktop

Después de hacer este cambio en el archivo, el indicador de mensajes también apareció en la pantalla de inicio de sesión para 13.10.

Si algo sale mal y no aparece la pantalla de inicio de sesión, simplemente cambie a una consola virtual CTRL+ ALT+ F1y restaure su gschemas.compiledarchivo de copia de seguridad . O elimine su myoverride.gschema.overridearchivo y sudo glib-compile-schemas /usr/share/glib-2.0/schemasvuelva a ejecutarlo . Si el lighdtm se atasca en un bucle sin fin, y no puede cambiar a la consola virtual, simplemente presione el combo de teclas mágicas ALT+ PrtSc+ E, esto matará a lightdm y después de esto puede cambiar a la consola virtual y hacer la reparación.

¿Qué indicadores puedes usar? No sé, solo tengo los valores predeterminados, pero supongo que puede probar cualquiera que se instale en los directorios enumerados anteriormente. (O podría escribir un indicador propio como siempre).

¿Fuente de todo esto? Miré el código: enlace y enlace

halconero
fuente
¿querías decir es encontrar el libmessaging.soarchivo y luego copiarlo y pegarlo en el /usr/lib/indicators3/7directorio, estoy en lo correcto?
Avinash Raj
@AvinashRaj No, quise decir que es posible que el directorio donde la unidad que busca los indicadores sea diferente según las versiones. Del código fuente solo pude obtener, que hay 2 directorios donde la unidad-greeter busca indicadores. Se /usr/share/unity/indicatorsve igual por versiones, pero el /usr/lib/indicators3/7director puede ser diferente por versión. Así que quise buscar los indicadores predeterminados instalados, mirar dónde están almacenados y simplemente mirar en ese directorio para ver qué indicadores están disponibles, luego puede usar sus nombres en la lista.
cetrero
ver i.imgur.com/JPrincG.png
Avinash Raj
@AvinashRaj Puede probar todos los indicadores de esos 2 directorios. Si usa uno del usr/lib/...directorio, entonces las convenciones de nomenclatura que escribí anteriormente son válidas, por lo que syncindicatores suficiente, pero también puede usarlas libsyncindicator.so. Para el otro directorio también puede usar el nombre completo del archivo, o puede omitir la com.canonical.indicator.sección. Entonces, en su caso, una línea válida en el archivo de anulación sería algo como esto:indicators=['libsyncindicator.so', 'printersmenu', 'libapplication', 'com.canonical.indicator.sound', 'messages']
cetrero
no quiero caer en ninguna situación crítica, por favor pruébelo en ubuntu 13.10 y notifíqueme si funciona.
Avinash Raj