Mam 12.04, ale to zadziała także 13.10.
Tak, możliwa jest zmiana wskaźników dla jedności-powitania. Możemy użyć GSettings do modyfikacji ustawień, ale ponieważ program unity-greeter jest uruchamiany tylko przez użytkownika lightdm (więc ustawienia nie dotyczą nikogo innego), najłatwiej jest po prostu napisać .override
plik.
1. Sprawdź domyślne wskaźniki
Możesz zobaczyć swoje domyślne wskaźniki w pliku dconf-editor
lub int /usr/share/glib-2.0/schemas/com.canonical.unity-greeter.gschema.xml
. W tym ostatnim pliku zobaczysz klucz podobny do tego:
<key name="indicators" type="as">
<default>['ug-keyboard', 'ug-accessibility', 'session', 'datetime', 'power', 'soundmenu', 'application']</default>
<summary>Which indicators to load</summary>
</key>
, to są dla mnie wartości domyślne. Sprawdź swoje pierwsze.
13.10 ten klucz wygląda następująco:
<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) Sprawdź dostępne wskaźniki
Możesz sprawdzić dostępne wskaźniki w /usr/lib/indicators3/7/
katalogu lub w /usr/share/unity/indicators/
katalogu.
3. Napisz plik zastępowania
Po prostu napisz plik o podobnej zawartości i zapisz go jako /usr/share/glib-2.0/schemas/myoverride.gschema.override
12.04
[com.canonical.unity-greeter]
indicators=['ug-keyboard', 'ug-accessibility', 'session', 'datetime', 'power', 'soundmenu', 'application', 'messaging']
Dla 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']
W wersji 12.04 dodałem wskaźnik wiadomości do domyślnej listy 12.04. W wersji 13.10 dodałem wskaźnik komunikatów do domyślnej listy 13.10. Po prostu dodałem je do domyślnej listy pokazanej w KROKU 1 , możesz to również zrobić lub usunąć niektóre z domyślnych wskaźników, jeśli nie chcesz, aby pojawiały się na ekranie logowania. (Uważaj na apostrofy.) WAŻNE : W dniu 12.04 musisz zachować „ug-keyboard” i wskaźnik „session” na liście, więc NIE usuwaj ich, jeśli masz je w domyślnej linii, bo lightdm utknie w nieskończonej pętli. (jak tutaj )
Konwencje nazewnictwa w pliku zastępowania: w przypadku plików w /usr/lib/indicators3/7/
katalogu nazwa pliku poprzedzająca „lib” i końcówka „.so” nie są ważne, więc w przypadku pliku o nazwie libmessaging.so możemy użyć „libmessaging.so”, „libmessaging” lub „wiadomości”. Dla plików w /usr/share/unity/indicators/
katalogu nazwa pliku poprzedza „com.canonical.indicator”. nie jest ważne, więc dla pliku „com.canonical.indicator.bluetooth” moglibyśmy użyć „com.canonical.indicator.bluetooth” lub po prostu „bluetooth”.
4. Kopia zapasowa (na wszelki wypadek)
Utwórz kopię zapasową /usr/share/glib-2.0/schemas/gschemas.compiled
pliku.
5. Kompiluj
Po tym całym biegu
sudo glib-compile-schemas /usr/share/glib-2.0/schemas
6. Sprawdź wyniki
Następnie spróbuj się wylogować i sprawdź, czy zadziałało. Możesz też wykonać test ekranu logowania bez wylogowania, jeśli spróbujesz z terminala:
lightdm --test-mode
lub
unity-greeter --test-mode
W przypadku 12.04 wskaźnik wiadomości działał, a wskaźnik menu drukarek nie. W dniu 13.10 testowałem ze wskaźnikiem komunikatów i nie pojawił się, ale nie wyprodukował errosów, więc domyślałem się, że z założenia nie pojawia się na ekranie powitania, ponieważ tam jest w większości bezużyteczny. Sprawdziłem więc /usr/share/unity/indicators/com.canonical.indicator.messages
plik i potwierdziłem, że nie ma on sekcji [desktop_greeter] jak np. Wskaźnik sesji. Jeśli więc nie chcesz, aby wskaźnik komunikatów (lub inny wskaźnik bez sekcji [desktop_greeter]) pojawiał się na ekranie logowania (nawet jeśli jest to w większości bezużyteczne), będziesz musiał również edytować jego plik w /usr/share/unity/indicators/
katalogu, i zrób kopię sekcji [desktop] w tym pliku i zmień nazwę kopii na sekcję [desktop_greeter]. Np. Dla wskaźnika wiadomości skończyłem z tym plikiem dla /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
Po dokonaniu tej zmiany w pliku wskaźnik wiadomości pojawił się również na ekranie logowania dla 13.10.
Jeśli coś pójdzie nie tak i ekran logowania się nie pojawi, po prostu przełącz się na konsolę wirtualną CTRL+ ALT+ F1i przywróć gschemas.compiled
plik kopii zapasowej . Lub usuń myoverride.gschema.override
plik i uruchom sudo glib-compile-schemas /usr/share/glib-2.0/schemas
ponownie. Jeśli lighdtm utknie w nieskończonej pętli i nie możesz przełączyć się na wirtualną konsolę, po prostu naciśnij kombinację magicznego klawisza ALT+ PrtSc+ E, to zabije lightdm, a następnie możesz przełączyć się na wirtualną konsolę i wykonać naprawę.
Jakich wskaźników możesz użyć? Nie wiem, mam tylko wartości domyślne, ale myślę, że możesz wypróbować dowolną, która instaluje się w wyżej wymienionych katalogach. (Lub możesz napisać własny wskaźnik jak zawsze.)
Źródło ich wszystkich? Zajrzałem do kodu: link i link
/usr/share
bezpośrednio edytować jego pliki . Myślę, że istniał dostosowywanie lightdm, które pozwoliło na to i zmieniło tło, ale nie robię tego, jeśli nadal działa.