Est-il possible d'ajouter des icônes (autres que les valeurs par défaut) au panneau supérieur de l'écran de connexion?
Si oui, quelles icônes d'applications seront ajoutées au panneau supérieur de l'écran de connexion autres que les valeurs par défaut (intégré, audio, gestionnaire de réseau, etc.). Et comment puis-je ajouter cela?
J'utilise Ubuntu 13.1
Je suis sur 12.04, mais cela fonctionnera sur 13.10 aussi.
Oui, il est possible de changer les indicateurs de l'unité-greeter. Nous pourrions utiliser GSettings pour modifier les paramètres, mais comme l'unité-greeter n'est exécutée que par l'utilisateur lightdm (il ne concerne donc personne d'autre), il est donc plus simple d'écrire un fichier .override
.
Vous pouvez voir vos indicateurs par défaut dans le fichier dconf-editor
ou dans le fichier /usr/share/glib-2.0/schemas/com.canonical.unity-greeter.gschema.xml
. Dans ce dernier fichier, vous verrez une clé semblable à ceci:
<key name="indicators" type="as">
<default>['ug-keyboard', 'ug-accessibility', 'session', 'datetime', 'power', 'soundmenu', 'application']</default>
<summary>Which indicators to load</summary>
</key>
, ce sont les valeurs par défaut pour moi. Vérifiez votre d'abord.
Le 13.10, cette clé ressemble à ceci:
<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>
Vous pouvez vérifier vos indicateurs disponibles dans le répertoire /usr/lib/indicators3/7/
ou dans le répertoire /usr/share/unity/indicators/
.
Il suffit d'écrire un fichier avec un contenu similaire et de l'enregistrer sous le nom /usr/share/glib-2.0/schemas/myoverride.gschema.override
Pour 12.04
[com.canonical.unity-greeter]
indicators=['ug-keyboard', 'ug-accessibility', 'session', 'datetime', 'power', 'soundmenu', 'application', 'messaging']
Pour 13h10
[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']
Dans la version 12.04, j’ajoutais l’indicateur messagerie à la liste par défaut de 12.04. Dans la version 13.10, j’ai ajouté l’indicateur messages à la liste par défaut de 13.10. Je les ai simplement ajoutés à la liste par défaut indiquée dans ÉTAPE 1 , vous pouvez le faire aussi, ou supprimer certains indicateurs par défaut si vous ne le souhaitez pas. qu'ils apparaissent sur l'écran de connexion. (Faites attention aux apostrophes.) IMPORTANT: Le 12.04 vous devez garder le 'ug-keyboard' et l'indicateur 'session' dans la liste, donc NE PAS les supprimer si vous les avez dans la ligne par défaut, ou lightdm sera bloqué dans une boucle sans fin. (comme ici )
Conventions de dénomination dans le fichier de substitution: Pour les fichiers du répertoire /usr/lib/indicators3/7/
, le "lib" précédent du nom de fichier et la fin ".so" ne sont pas important, donc pour un fichier nommé libmessaging.so, nous pourrions utiliser "libmessaging.so", "libmessaging" ou "messagerie". "Com.canonical.indicator" précédant le nom du fichier pour les fichiers du répertoire /usr/share/unity/indicators/
. n’est pas important, donc pour le fichier "com.canonical.indicator.bluetooth", nous pourrions utiliser "com.canonical.indicator.bluetooth" ou simplement "bluetooth".
Faites une sauvegarde du fichier /usr/share/glib-2.0/schemas/gschemas.compiled
.
Après tout ce parcours
Sudo glib-compile-schemas /usr/share/glib-2.0/schemas
Après cela, essayez de vous déconnecter et voyez si cela a fonctionné. Vous pouvez également tester l'écran de connexion sans vous déconnecter, si vous essayez depuis un terminal:
lightdm --test-mode
ou
unity-greeter --test-mode
Pour moi le 12.04, l’indicateur de messagerie a fonctionné, mais pas l’indicateur du menu Imprimantes. Le 13.10, j’ai testé avec l’indicateur de messages et il ne s’est pas affiché, mais il n’a pas produit d’erros. J’ai donc deviné que, par conception, il n’apparaissait pas sur l’écran d’accueil, car il était généralement inutile. J'ai donc vérifié le fichier /usr/share/unity/indicators/com.canonical.indicator.messages
et il a confirmé qu'il ne contenait pas de section [desktop_greeter] telle que, par exemple, l'indicateur de session. Donc, si vous ne voulez pas que l'indicateur de messages (ou un autre indicateur sans la section [desktop_greeter]) apparaisse sur l'écran de connexion (même s'il est pratiquement inutile ici), vous devrez également éditer son fichier dans le /usr/share/unity/indicators/
, faites une copie de la section [desktop] de ce fichier et renommez la copie en section [desktop_greeter]. E.g pour l'indicateur de message, j'ai fini avec ce fichier pour /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
Après avoir modifié le fichier, l'indicateur de messages apparaît également sur l'écran de connexion pour 13.10.
Si quelque chose ne va pas et que l'écran de connexion ne s'affiche pas, il suffit de passer à une console virtuelle CTRL+ALT+F1 et restaurez votre fichier de sauvegarde gschemas.compiled
. Ou supprimez votre fichier myoverride.gschema.override
et relancez Sudo glib-compile-schemas /usr/share/glib-2.0/schemas
. Si le lighdtm se bloque dans une boucle sans fin et que vous ne pouvez pas passer à la console virtuelle, appuyez simplement sur la touche ALT+PrtSc+E combo clé magique, cela va tuer lightdm et après cela, vous pouvez passer à la console virtuelle et faire la réparation.
Quels indicateurs pouvez-vous utiliser? Je ne sais pas, je n'ai que les valeurs par défaut, mais je suppose que vous pouvez en essayer un qui s'installe dans les répertoires énumérés ci-dessus. (Ou vous pourriez écrire un indicateur propre comme toujours.)
Source pour tous ces éléments? J'ai examiné le code: lien et lien