Je suis le 12.04, mais cela fonctionnera aussi le 13.10.
Oui, il est possible de changer les indicateurs pour l'unité-greeter. Nous pourrions utiliser GSettings pour modifier les paramètres, mais parce que l'unité-greeter est uniquement exécutée par l'utilisateur lightdm, (donc ses paramètres n'affectent personne d'autre), il est plus facile d'écrire simplement un .override
fichier.
1. Vérifiez les indicateurs par défaut
Vous pouvez voir vos indicateurs par défaut dans le dconf-editor
ou dans le /usr/share/glib-2.0/schemas/com.canonical.unity-greeter.gschema.xml
fichier. Dans ce dernier fichier, vous verrez une clé similaire à celle-ci:
<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 le vôtre en premier.
Au 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>
2. Vérifiez les indicateurs disponibles
Vous pouvez vérifier vos indicateurs disponibles dans le /usr/lib/indicators3/7/
répertoire ou dans le /usr/share/unity/indicators/
répertoire.
3. Écrivez un fichier de remplacement
Il suffit d'écrire un fichier avec un contenu similaire et de l'enregistrer sous /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 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']
Dans la version 12.04, j'ai ajouté l' indicateur de messagerie à la liste par défaut de 12.04. Dans la version 13.10, j'ai ajouté l' indicateur de messages à la liste par défaut de 13.10. Je les ai simplement ajoutés à la liste par défaut indiquée à l' ÉTAPE 1 , vous pouvez également le faire ou en supprimer certains des indicateurs par défaut si vous ne souhaitez pas qu'ils apparaissent sur l'écran de connexion. (Attention aux apostrophes.) IMPORTANT : Le 12.04, vous devez garder le 'ug-keyboard' et l' indicateur 'session' dans la liste, donc NE les supprimez PAS si vous les avez dans la ligne par défaut, ou lightdm restera bloqué dans une boucle sans fin. (comme ici )
Conventions de dénomination dans le fichier de remplacement: pour les fichiers du /usr/lib/indicators3/7/
répertoire, le "lib" précédant le nom de fichier et la fin ".so" ne sont pas importants, donc pour un fichier nommé libmessaging.so, nous pourrions utiliser "libmessaging.so", "libmessaging" ou 'Messagerie'. Pour les fichiers du /usr/share/unity/indicators/
répertoire, le précédent "com.canonical.indicator" du nom de fichier. n'est pas important, donc pour le fichier "com.canonical.indicator.bluetooth" nous pourrions utiliser "com.canonical.indicator.bluetooth" ou simplement "bluetooth".
4. Sauvegarde (juste au cas où)
Faites une sauvegarde du /usr/share/glib-2.0/schemas/gschemas.compiled
fichier.
5. Compiler
Après tout ce run
sudo glib-compile-schemas /usr/share/glib-2.0/schemas
6. Vérifiez les résultats
Après cela, essayez de vous déconnecter et voyez si cela a fonctionné. Ou vous pouvez également faire un test de 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é, mon indicateur de menu d'imprimante ne fonctionne pas. Le 13.10, j'ai testé avec l'indicateur de messages et il ne s'est pas affiché, mais aucun n'a produit d'erreurs, donc j'ai deviné que c'est par conception ne pas apparaître sur l'écran d'accueil, car il est surtout inutile là-bas. J'ai donc vérifié le /usr/share/unity/indicators/com.canonical.indicator.messages
fichier et il a confirmé qu'il n'avait pas de section [desktop_greeter] comme par exemple l'indicateur de session. Donc, si vous ne souhaitez 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 principalement inutile là-bas), vous devrez également modifier son fichier dans le /usr/share/unity/indicators/
répertoire, et faites une copie de la section [desktop] dans ce fichier et renommez la copie en section [desktop_greeter]. Par exemple, pour l'indicateur de messages, je me suis retrouvé 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 effectué cette modification dans le fichier, l'indicateur de messages est également apparu sur l'écran de connexion pour 13.10.
Si quelque chose va mal et l'écran de connexion ne vient pas, tout simplement passer à une console virtuelle CTRL+ ALT+ F1et restaurer votre sauvegarde gschemas.compiled
fichier. Ou supprimez votre myoverride.gschema.override
fichier et exécutez à sudo glib-compile-schemas /usr/share/glib-2.0/schemas
nouveau. Si le lighdtm se bloque dans une boucle sans fin et que vous ne pouvez pas passer à la console virtuelle, appuyez simplement sur la combinaison de touches magiques ALT+ PrtSc+ E, cela tuera lightdm et après cela, vous pourrez basculer sur la console virtuelle et effectuer 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 essayer celles qui s'installent dans les répertoires ci-dessus. (Ou vous pouvez toujours écrire un indicateur propre .)
Source pour tout cela? J'ai regardé le code: lien et lien
/usr/share
directement. Je pense qu'il y avait un personnalisateur lightdm qui permettait cela et qui changeait l'arrière-plan, mais je ne le fais pas s'il fonctionne toujours plus ..