Sono il 12.04, ma funzionerà anche il 13.10.
Sì, è possibile modificare gli indicatori per l'unità-greeter. Potremmo usare GSettings per modificare le impostazioni, ma poiché l'unità-greeter è gestito solo dall'utente lightdm (quindi le sue impostazioni non influiscono su nessun altro) è più semplice scrivere un .override
file.
1. Controllare gli indicatori predefiniti
Puoi vedere gli indicatori predefiniti nel file dconf-editor
o nel /usr/share/glib-2.0/schemas/com.canonical.unity-greeter.gschema.xml
file int . In quest'ultimo file vedrai una chiave simile a questa:
<key name="indicators" type="as">
<default>['ug-keyboard', 'ug-accessibility', 'session', 'datetime', 'power', 'soundmenu', 'application']</default>
<summary>Which indicators to load</summary>
</key>
, quelle sono le impostazioni predefinite per me. Controlla prima il tuo.
Il 13.10 questa chiave è simile alla seguente:
<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 Controlla gli indicatori disponibili
Puoi controllare gli indicatori disponibili nella /usr/lib/indicators3/7/
directory o nella /usr/share/unity/indicators/
directory.
3. Scrivere un file di sostituzione
Basta scrivere un file con contenuti simili e salvarlo come /usr/share/glib-2.0/schemas/myoverride.gschema.override
Per 12.04
[com.canonical.unity-greeter]
indicators=['ug-keyboard', 'ug-accessibility', 'session', 'datetime', 'power', 'soundmenu', 'application', 'messaging']
Per 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']
Nella versione 12.04 ho aggiunto l' indicatore di messaggistica all'elenco predefinito di 12.04. Nella versione 13.10 ho aggiunto l' indicatore dei messaggi all'elenco predefinito di 13.10. Li ho semplicemente aggiunti all'elenco predefinito mostrato nel PASSAGGIO 1 , puoi farlo anche tu o rimuoverne alcuni dagli indicatori predefiniti se non vuoi che vengano visualizzati nella schermata di accesso. (Fai attenzione agli apostrofi.) IMPORTANTE : su 12.04 devi tenere la 'tastiera ug' e l' indicatore 'sessione' nell'elenco, quindi NON rimuoverli se li hai nella linea predefinita, o lightdm rimarrà bloccato in un ciclo infinito. (come qui )
Convenzioni di denominazione nel file override: per i file nella /usr/lib/indicators3/7/
directory il nome file precedente "lib" e la fine ".so" non sono importanti, quindi per un file chiamato libmessaging.so potremmo usare "libmessaging.so", "libmessaging" o 'Messaggi'. Per i file nella /usr/share/unity/indicators/
directory il nome file precedente "com.canonical.indicator". non è importante, quindi per il file "com.canonical.indicator.bluetooth" potremmo usare "com.canonical.indicator.bluetooth" o semplicemente "bluetooth".
4. Backup (per ogni evenienza)
Fai un backup del /usr/share/glib-2.0/schemas/gschemas.compiled
file.
5. Compila
Dopo tutto questo correre
sudo glib-compile-schemas /usr/share/glib-2.0/schemas
6. Controlla i risultati
Dopo questo provare a disconnettersi e vedere se ha funzionato. Oppure puoi anche fare un test della schermata di accesso senza disconnettersi, se provi da un terminale:
lightdm --test-mode
o
unity-greeter --test-mode
Per me il 12.04 l'indicatore di messaggistica ha funzionato, il mio indicatore del menu della stampante non funziona. Il 13.10 ho provato con l'indicatore dei messaggi e non si è fatto vedere, ma non ho prodotto errori, quindi ho indovinato che, di progettazione, non compare sullo schermo di benvenuto, perché lì è quasi inutile. Quindi ho controllato il /usr/share/unity/indicators/com.canonical.indicator.messages
file e ha confermato che non ha una sezione [desktop_greeter] come ad esempio l'indicatore di sessione. Quindi, se non vuoi che l'indicatore dei messaggi (o un altro indicatore senza la sezione [desktop_greeter]) venga visualizzato nella schermata di accesso (anche se è per lo più inutile lì), dovrai anche modificare il suo file nella /usr/share/unity/indicators/
directory e fare una copia della sezione [desktop] in quel file e rinominare la copia nella sezione [desktop_greeter]. Ad esempio per l'indicatore dei messaggi ho finito con questo file per /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
Dopo aver apportato questa modifica al file, l'indicatore dei messaggi è stato visualizzato anche nella schermata di accesso per 13.10.
Se qualcosa va storto e la schermata di accesso non viene visualizzata, passa a una console virtuale CTRL+ ALT+ F1e ripristina il gschemas.compiled
file di backup . Oppure rimuovi il tuo myoverride.gschema.override
file ed eseguilo di sudo glib-compile-schemas /usr/share/glib-2.0/schemas
nuovo. Se lighdtm si blocca in un ciclo infinito e non è possibile passare alla console virtuale, basta premere la combinazione di tasti magici ALT+ PrtSc+ E, questo ucciderà lightdm e successivamente sarà possibile passare alla console virtuale e fare la riparazione.
Quali indicatori puoi usare? Non lo so, ho solo i valori predefiniti, ma immagino che tu possa provare quelli che si installano su quelle directory sopra elencate. (O potresti scrivere un indicatore proprio come sempre.)
Fonte per tutti questi? Ho esaminato il codice: link e link
/usr/share
direttamente i suoi file . Penso che ci sia stato un personalizzatore di lightdm che ha permesso questo e ha cambiato lo sfondo, ma non lo faccio se funziona ancora più ..