Ich bin am 12.04, aber das wird auch am 13.10 funktionieren.
Ja, es ist möglich, die Indikatoren für den Unity-Greeter zu ändern. Wir könnten GSettings verwenden, um die Einstellungen zu ändern, aber da der Unity-Greeter nur vom lightdm-Benutzer ausgeführt wird (die Einstellungen wirken sich also nicht auf andere aus), ist es am einfachsten, einfach eine .override
Datei zu schreiben .
1. Überprüfen Sie die Standardindikatoren
Sie können Ihre Standardindikatoren in dconf-editor
oder in der /usr/share/glib-2.0/schemas/com.canonical.unity-greeter.gschema.xml
Datei sehen. In der letzteren Datei sehen Sie einen ähnlichen Schlüssel:
<key name="indicators" type="as">
<default>['ug-keyboard', 'ug-accessibility', 'session', 'datetime', 'power', 'soundmenu', 'application']</default>
<summary>Which indicators to load</summary>
</key>
, das sind die Standardeinstellungen für mich. Überprüfen Sie zuerst Ihre.
Am 13.10 sieht dieser Schlüssel folgendermaßen aus:
<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. Überprüfen Sie die verfügbaren Indikatoren
Sie können Ihre verfügbaren Indikatoren im /usr/lib/indicators3/7/
Verzeichnis oder im /usr/share/unity/indicators/
Verzeichnis überprüfen .
3. Schreiben Sie eine Überschreibungsdatei
Schreiben Sie einfach eine Datei mit ähnlichem Inhalt und speichern Sie sie unter /usr/share/glib-2.0/schemas/myoverride.gschema.override
Für 12.04
[com.canonical.unity-greeter]
indicators=['ug-keyboard', 'ug-accessibility', 'session', 'datetime', 'power', 'soundmenu', 'application', 'messaging']
Für 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']
In der Version 12.04 habe ich den Messaging- Indikator zur Standardliste von 12.04 hinzugefügt . In der Version 13.10 habe ich den Nachrichtenindikator zur Standardliste von 13.10 hinzugefügt. Ich habe sie einfach zu der in SCHRITT 1 gezeigten Standardliste hinzugefügt. Sie können dies auch tun oder einige aus den Standardindikatoren entfernen, wenn Sie nicht möchten, dass sie auf dem Anmeldebildschirm angezeigt werden. (Achten Sie auf die Apostrophe.) WICHTIG : Am 12.04 müssen Sie die Anzeige 'ug-keyboard' und 'session' in der Liste behalten. Entfernen Sie sie daher NICHT , wenn Sie sie in der Standardzeile haben, da sonst lightdm hängen bleibt in einer Endlosschleife. (wie hier )
Namenskonventionen in der Override-Datei: Für Dateien im /usr/lib/indicators3/7/
Verzeichnis sind der Dateiname vor "lib" und die Endung ".so" nicht wichtig. Für eine Datei mit dem Namen libmessaging.so können wir also 'libmessaging.so', 'libmessaging' oder verwenden "Messaging". Für die Dateien im /usr/share/unity/indicators/
Verzeichnis steht der Dateiname vor "com.canonical.indicator". ist nicht wichtig, daher könnten wir für die Datei "com.canonical.indicator.bluetooth" "com.canonical.indicator.bluetooth" oder einfach "bluetooth" verwenden.
4. Backup (nur für den Fall)
Erstellen Sie eine Sicherungskopie der /usr/share/glib-2.0/schemas/gschemas.compiled
Datei.
5. Kompilieren
Nach all dem laufen
sudo glib-compile-schemas /usr/share/glib-2.0/schemas
6. Überprüfen Sie die Ergebnisse
Versuchen Sie danach, sich abzumelden und zu prüfen, ob es funktioniert hat. Sie können den Anmeldebildschirm auch testen, ohne sich abzumelden, wenn Sie dies von einem Terminal aus versuchen:
lightdm --test-mode
oder
unity-greeter --test-mode
Bei mir am 12.04 hat die Messaging-Anzeige funktioniert, meine Druckermenü-Anzeige nicht. Am 13.10 habe ich mit dem Nachrichtenindikator getestet und es wurde nicht angezeigt, aber es wurden keine Fehler erzeugt. Daher habe ich vermutet, dass es nicht auf dem Begrüßungsbildschirm angezeigt wird, da es dort meistens unbrauchbar ist. Also habe ich die /usr/share/unity/indicators/com.canonical.indicator.messages
Datei überprüft und bestätigt, dass sie keinen Abschnitt [desktop_greeter] enthält, wie z. B. die Sitzungsanzeige. Wenn Sie also nicht möchten, dass der Nachrichtenindikator (oder ein anderer Indikator ohne den Abschnitt [desktop_greeter]) auf dem Anmeldebildschirm angezeigt wird (auch wenn er dort meistens unbrauchbar ist), müssen Sie auch die Datei im /usr/share/unity/indicators/
Verzeichnis bearbeiten und Erstellen Sie eine Kopie des Abschnitts [desktop] in dieser Datei und benennen Sie die Kopie in den Abschnitt [desktop_greeter] um. ZB für den Nachrichtenindikator habe ich diese Datei erhalten für /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
Nach dieser Änderung in der Datei wurde die Nachrichtenanzeige auch für 13.10 auf dem Anmeldebildschirm angezeigt.
Wenn etwas schlecht geht und der Login - Bildschirm nach oben nicht kommt, wechseln Sie einfach auf eine virtuelle Konsole CTRL+ ALT+ F1und Ihre Sicherung wiederherstellen gschemas.compiled
Datei. Oder entfernen Sie Ihre myoverride.gschema.override
Datei und führen Sie sie sudo glib-compile-schemas /usr/share/glib-2.0/schemas
erneut aus. Wenn der Lighdtm in einer Endlosschleife steckt und Sie nicht zur virtuellen Konsole wechseln können, drücken Sie einfach die magische Tastenkombination ALT+ PrtSc+. EDadurch wird lightdm beendet. Danach können Sie zur virtuellen Konsole wechseln und die Reparatur durchführen.
Welche Indikatoren können Sie verwenden? Ich weiß nicht, ich habe nur die Standardeinstellungen, aber ich denke, Sie können alle ausprobieren, die sich selbst in den oben aufgeführten Verzeichnissen installieren. (Oder Sie können wie immer einen eigenen Indikator schreiben .)
Quelle für all dies? Ich habe in den Code geschaut: Link und Link
/usr/share
direkt bearbeiten . Ich denke, es gab einen LightDM-Customizer, der dies erlaubte und den Hintergrund änderte, aber ich weiß nicht, ob es noch funktioniert.