Ist es möglich, dem oberen Bereich des Anmeldebildschirms Symbole (außer Standardeinstellungen) hinzuzufügen?
Wenn ja, welche Anwendungssymbole werden außer den Standardeinstellungen ( Onboard, Sound, Netzwerkmanager usw. ) zum oberen Bereich des Anmeldebildschirms hinzugefügt. Und wie füge ich das hinzu?
Ich verwende Ubuntu 13.10
icons
panel
gnome-panel
Avinash Raj
quelle
quelle
/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.Antworten:
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:, das sind die Standardeinstellungen für mich. Überprüfen Sie zuerst Ihre.
Am 13.10 sieht dieser Schlüssel folgendermaßen aus:
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
Für 13.10
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
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:
oder
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
: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 Ihremyoverride.gschema.override
Datei und führen Sie siesudo 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
quelle
libmessaging.so
Datei finden und dann kopieren und in das/usr/lib/indicators3/7
Verzeichnis einfügen müssen ? Bin ich richtig?/usr/share/unity/indicators
sieht pro Version gleich aus, aber der/usr/lib/indicators3/7
Regisseur kann je nach Version unterschiedlich sein. Ich wollte also nach den installierten Standardindikatoren suchen, nachsehen, wo sie gespeichert sind, und einfach in diesem Verzeichnis nachsehen, welche Indikatoren verfügbar sind. Dann können Sie ihre Namen in der Liste verwenden.usr/lib/...
Verzeichnis verwenden, gelten die oben beschriebenen Namenskonventionen, diesyncindicator
ausreichen, aber Sie können sielibsyncindicator.so
auch verwenden. Für das andere Verzeichnis können Sie auch den gesamten Namen der Datei verwenden oder dencom.canonical.indicator.
Abschnitt weglassen. In Ihrem Fall wäre eine gültige Zeile in der Überschreibungsdatei ungefähr so:indicators=['libsyncindicator.so', 'printersmenu', 'libapplication', 'com.canonical.indicator.sound', 'messages']