Giriş ekranı üst paneline simge eklemek mümkün müdür?


10

Giriş ekranı üst paneline simgeler (varsayılanlar dışında) eklemek mümkün mü?

resim açıklamasını buraya girin

Evet ise, giriş ekranı üst paneline varsayılanlar ( yerleşik, ses, ağ yöneticisi, vb. ) Dışından hangi uygulama simgeleri eklenecektir.

Ubuntu 13.10 kullanıyorum


Onun lightdm giriş yöneticisi, bu yüzden dosyalarını /usr/sharedoğrudan düzenlemek zorunda kalacaksınız . Sanırım buna izin veren ve arka planı değiştiren bir lightdm özelleştirici var, ama hala daha fazla çalışıyorsa yapmıyorum ..
Wilf

1
bu duvar kağıdını alabilir miyim?

@Utkarsh google resim aramasından yukarıdaki resmi indirdim.
Avinash Raj

Yanıtlar:


14

12.04'teyim, ama bu 13.10'da da işe yarayacak.

Evet, birlik karşılayanların göstergelerini değiştirmek mümkündür. Ayarları değiştirmek için GSettings'i kullanabiliriz, ancak birlik karşılayıcısı yalnızca lightdm kullanıcısı tarafından çalıştırıldığı için (bu yüzden ayarlar başkalarını etkilemez) sadece bir .overridedosya yazmak en kolay yoldur .

1. Varsayılan göstergeleri kontrol edin

Varsayılan göstergelerinizi dconf-editorveya int /usr/share/glib-2.0/schemas/com.canonical.unity-greeter.gschema.xmldosyasında görebilirsiniz. İkinci dosyada buna benzer bir anahtar göreceksiniz:

 <key name="indicators" type="as">
  <default>['ug-keyboard', 'ug-accessibility', 'session', 'datetime', 'power', 'soundmenu', 'application']</default>
  <summary>Which indicators to load</summary>
</key>

, bunlar benim için varsayılanlar. Önce sizinkini kontrol edin.

13.10'da bu anahtar şöyle görünür:

<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. Mevcut göstergeleri kontrol edin

Kullanılabilir göstergelerinizi /usr/lib/indicators3/7/dizinde veya dizinde kontrol edebilirsiniz /usr/share/unity/indicators/.

3. Geçersiz kılma dosyası yazma

Benzer içeriklere sahip bir dosya yazıp kaydedin /usr/share/glib-2.0/schemas/myoverride.gschema.override

12.04 için

[com.canonical.unity-greeter]
indicators=['ug-keyboard', 'ug-accessibility', 'session', 'datetime', 'power', 'soundmenu', 'application', 'messaging']

13.10 için

[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']

12.04 sürümünde, mesaj göstergesini varsayılan 12.04 listesine ekledim . 13.10 sürümünde varsayılan göstergeyi 13.10'a mesaj göstergesini ekledim. Onları ADIM 1'de gösterilen varsayılan listeye ekledim , bunu da yapabilir veya giriş ekranında görünmelerini istemiyorsanız, varsayılan göstergelerden bazılarını kaldırabilirsiniz. (İzle kesme işareti için dışarı.) ÖNEMLİ : Eğer tutmak zorunda 12.04 Açık 'ug-klavye' ve 'session' listesinde göstergesi, bu nedenle YAPMAYIN varsayılan doğrultusunda bunları varsa bunları kaldırmak veya lightdm sıkışmış olacak sonsuz bir döngü içinde. ( burada olduğu gibi )

Geçersiz kılma dosyasındaki adlandırma kuralları:/usr/lib/indicators3/7/ Dizindeki dosyalar için dosya adının önceki "lib" ve ".so" bitişi önemli değildir, bu nedenle libmessaging.so adlı bir dosya için 'libmessaging.so', 'libmessaging' veya 'mesajlaşma'. /usr/share/unity/indicators/Dizindeki dosyalar için dosya adının önünde "com.canonical.indicator" bulunur. önemli değildir, bu nedenle "com.canonical.indicator.bluetooth" dosyası için 'com.canonical.indicator.bluetooth' veya sadece "bluetooth" kullanabiliriz.

4. Yedekleme (her ihtimale karşı)

/usr/share/glib-2.0/schemas/gschemas.compiledDosyanın bir yedeğini alın .

5. Derleme

Tüm bu koşulardan sonra

sudo glib-compile-schemas /usr/share/glib-2.0/schemas

6. Sonuçları kontrol edin

Bundan sonra çıkış yapmayı deneyin ve çalışıp çalışmadığını görün. Veya bir terminalden denerseniz giriş yapmadan oturum açma ekranının bir testini yapabilirsiniz:

lightdm --test-mode

veya

unity-greeter --test-mode 

Benim için 12.04'te mesajlaşma göstergesi çalıştı, benim yazıcı menüsü göstergesi çalışmıyor. 13.10'da mesaj göstergesi ile test ettim ve görünmedi, ancak ikisi de hata üretmedi, bu yüzden tasarımın karşılama ekranında görünmemesi olduğunu tahmin ettim, çünkü çoğunlukla orada işe yaramaz. Bu yüzden /usr/share/unity/indicators/com.canonical.indicator.messagesdosyayı kontrol ettim ve örneğin oturum göstergesi gibi bir [desktop_greeter] bölümüne sahip olmadığını doğruladım. Dolayısıyla, mesaj göstergesinin (veya [desktop_greeter] bölümü olmayan başka bir göstergenin) giriş ekranında görünmesini istemiyorsanız (çoğunlukla işe yaramaz olsa bile), dosyasını /usr/share/unity/indicators/dizinde de düzenlemeniz gerekir ve bu dosyadaki [masaüstü] bölümünün bir kopyasını oluşturun ve kopyayı [desktop_greeter] bölümüne yeniden adlandırın. Mesajlar göstergesi için ben bu dosya ile sona erdi /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

Dosyada bu değişikliği yaptıktan sonra, mesaj göstergesi giriş ekranında 13.10 için de göründü.

Bir şeyler bozulur ve giriş ekranı görünmezse, sanal bir konsol CTRL+ ALT+ ' F1ya geçin ve yedek gschemas.compileddosyanızı geri yükleyin. Veya myoverride.gschema.overridedosyanızı kaldırıp sudo glib-compile-schemas /usr/share/glib-2.0/schemastekrar çalıştırın . Eğer lighdtm sonsuz bir döngüde kalırsa ve sanal konsola geçemezseniz, ALT+ PrtSc+ Esihirli tuş kombinasyonuna basmanız yeterlidir, bu lightdm'yi öldürür ve bundan sonra sanal konsola geçebilir ve onarım yapabilirsiniz.

Hangi göstergeleri kullanabilirsiniz? Bilmiyorum, sadece varsayılanlarım var, ama sanırım yukarıda listelenen dizinlere kendini yükleyen herhangi birini deneyebilirsiniz. (Veya her zamanki gibi kendi göstergenizi yazabilirsiniz .)

Tüm bunlar için kaynak? Ben koda baktım: link and link


libmessaging.sodosyayı bulmak sonra /usr/lib/indicators3/7dizine bir yapıştır kopyalamak olduğunu söylemek istedim , doğru muyum?
Avinash Raj

@AvinashRaj Hayır, birlik-selamcının göstergeleri aradığı dizinin sürümlere göre farklı olabileceğini söyledim. Birlik-karşılayıcının göstergeleri aradığı 2 dizin olduğunu sadece kaynak kodundan alabilirim. /usr/share/unity/indicatorsSürümleri başına aynı görünüyor, ama /usr/lib/indicators3/7yönetmen sürümü tarafından farklı olabilir. Bu nedenle, kurulu varsayılan göstergeleri aramak, nerede depolandıklarına bakmak ve hangi göstergelerin kullanılabilir olduğunu görmek için bu dizine bakmak istedim, ardından listeden adlarını kullanabilirsiniz.
falconer


@AvinashRaj Bu 2 dizindeki tüm göstergeleri deneyebilirsiniz. Dizinden birini kullanırsanız usr/lib/..., yukarıda yazdıklarımdaki adlandırma kuralları geçerlidir, bu yüzden syncindicatoryeterlidir, ancak kullanabilirsiniz libsyncindicator.so. Diğer dizin için dosyanın tam adını da kullanabilir veya com.canonical.indicator.bölümü bırakabilirsiniz . Yani sizin durumunuzda, geçersiz kılma dosyasında geçerli bir satır şöyle olacaktır:indicators=['libsyncindicator.so', 'printersmenu', 'libapplication', 'com.canonical.indicator.sound', 'messages']
falconer

herhangi bir kritik duruma düşmek istemiyorum plz ubuntu 13.10 denemek ve çalışırsa bana bildir.
Avinash Raj
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.