Apakah mungkin menambahkan ikon ke panel atas layar login?

10

Apakah mungkin untuk menambahkan ikon (selain default) ke panel atas layar login?

masukkan deskripsi gambar di sini

Jika ya maka ikon aplikasi mana yang akan ditambahkan ke panel atas layar login selain dari default ( onboard, suara, manajer jaringan, dll ). Dan bagaimana cara menambahkannya?

Saya menjalankan Ubuntu 13.10

Avinash Raj
sumber
Ini adalah manajer login lightdm, jadi Anda harus mengedit file /usr/sharesecara langsung. Saya pikir ada penyesuai lightdm yang memungkinkan ini dan mengubah latar belakang, tapi saya tidak melakukannya jika masih berfungsi lagi ..
Wilf
1
bisakah saya mendapatkan wallpaper ini?
@Utkarsh saya mengunduh gambar di atas dari pencarian gambar google.
Avinash Raj

Jawaban:

14

Saya pada 12,04, tetapi ini akan bekerja pada 13,10 juga.

Ya, adalah mungkin untuk mengubah indikator untuk penyambut persatuan. Kita bisa menggunakan GSettings untuk mengubah pengaturan, tetapi karena penyatuan-penyatuan hanya dijalankan oleh pengguna lightdm, (jadi pengaturannya tidak memengaruhi orang lain), paling mudah hanya menulis .overridefile.

1. Periksa indikator default

Anda dapat melihat indikator default Anda di file dconf-editorint /usr/share/glib-2.0/schemas/com.canonical.unity-greeter.gschema.xml. Di file terakhir Anda akan melihat kunci yang mirip dengan ini:

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

, itu adalah default untuk saya. Periksa milikmu dulu.

Pada 13.10 kunci ini terlihat seperti ini:

<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. Periksa indikator yang tersedia

Anda dapat memeriksa indikator yang tersedia di /usr/lib/indicators3/7/direktori, atau di /usr/share/unity/indicators/direktori.

3. Tulis file override

Cukup tulis file dengan konten serupa dan simpan sebagai /usr/share/glib-2.0/schemas/myoverride.gschema.override

Untuk 12,04

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

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

Dalam versi 12,04 saya menambahkan indikator olahpesan ke daftar default 12,04. Dalam versi 13.10 saya menambahkan indikator pesan ke daftar default 13.10. Saya hanya menambahkannya ke daftar default yang ditunjukkan pada LANGKAH 1 , Anda dapat melakukannya juga, atau menghapus beberapa dari indikator default jika Anda tidak ingin mereka muncul di layar login. (Hati-hati dengan apostrof.) PENTING : Pada 12,04 Anda harus menyimpan 'ug-keyboard' dan indikator 'sesi' dalam daftar, jadi JANGAN menghapusnya jika Anda memilikinya di baris default, atau lightdm akan macet dalam loop tanpa akhir. (seperti di sini )

Penamaan konvensi dalam file override: Untuk file dalam /usr/lib/indicators3/7/direktori nama file sebelumnya "lib" dan akhiran ".so" tidak penting, jadi untuk file bernama libmessaging.so kita bisa menggunakan 'libmessaging.so', 'libmessaging' atau 'pesan'. Untuk file-file di /usr/share/unity/indicators/direktori nama file sebelumnya "com.canonical.indicator." tidak penting, jadi untuk file "com.canonical.indicator.bluetooth" kita bisa menggunakan 'com.canonical.indicator.bluetooth' atau cukup "bluetooth".

4. Backup (untuk berjaga-jaga)

Buat cadangan /usr/share/glib-2.0/schemas/gschemas.compiledfile.

5. Kompilasi

Setelah semua ini dijalankan

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

6. Periksa hasilnya

Setelah ini coba keluar dan lihat apakah itu berhasil. Atau Anda juga dapat melakukan tes layar masuk tanpa keluar, jika Anda mencoba dari terminal:

lightdm --test-mode

atau

unity-greeter --test-mode 

Bagi saya pada 12,04 indikator pesan berfungsi, indikator printermenu saya tidak. Pada 13.10 saya diuji dengan indikator pesan dan tidak muncul, tetapi tidak ada yang menghasilkan erro, jadi saya menduga bahwa itu adalah desain yang tidak muncul di layar penyambut, karena sebagian besar tidak berguna di sana. Jadi saya memeriksa /usr/share/unity/indicators/com.canonical.indicator.messagesfile tersebut dan memastikan bahwa file tersebut tidak memiliki bagian [desktop_greeter] seperti misalnya indikator sesi. Jadi, jika Anda tidak ingin indikator pesan (atau indikator lain tanpa bagian [desktop_greeter]) muncul di layar masuk (bahkan jika sebagian besar tidak berguna di sana), Anda juga harus mengedit file di /usr/share/unity/indicators/direktori, dan buat salinan dari bagian [desktop] di file itu dan ganti nama salinan itu ke bagian [desktop_greeter]. Misalnya untuk indikator pesan saya berakhir dengan file ini untuk /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

Setelah melakukan perubahan dalam file ini, indikator pesan muncul di layar login untuk 13.10 juga.

Jika ada masalah dan layar masuk tidak muncul, cukup beralih ke konsol virtual CTRL+ ALT+ F1dan pulihkan gschemas.compiledfile cadangan Anda . Atau hapus myoverride.gschema.overridefile Anda dan jalankan sudo glib-compile-schemas /usr/share/glib-2.0/schemaskembali. Jika lighdtm terhenti dalam loop tanpa akhir, dan Anda tidak dapat beralih ke konsol virtual, cukup tekan ALT+ PrtSc+ Ekombinasi tombol ajaib, ini akan mematikan lightdm dan setelah ini Anda dapat beralih ke konsol virtual dan melakukan perbaikan.

Indikator apa yang dapat Anda gunakan? Saya tidak tahu, saya hanya memiliki standarnya, tetapi saya kira Anda dapat mencoba yang memasang sendiri ke direktori yang tercantum di atas. (Atau Anda dapat menulis indikator sendiri seperti biasa.)

Sumber untuk semua ini? Saya melihat ke dalam kode: tautan dan tautan

elang
sumber
Anda ingin mengatakan menemukan libmessaging.sofile kemudian salin tempel di /usr/lib/indicators3/7direktori, apakah saya benar?
Avinash Raj
@AvinashRaj Tidak, maksud saya mungkin direktori di mana unity-greeter mencari indikator berbeda dengan versi. Dari kode sumber saya hanya bisa mendapatkan, bahwa ada 2 direktori di mana unity-greeter mencari indikator. The /usr/share/unity/indicatorsterlihat sama per versi, namun /usr/lib/indicators3/7sutradara bisa berbeda dengan versi. Jadi saya bermaksud mencari indikator default yang terinstal, mencari di mana mereka disimpan, dan cukup melihat di direktori itu untuk melihat indikator apa yang tersedia, maka Anda dapat menggunakan nama mereka dalam daftar.
Falcon
lihat i.imgur.com/JPrincG.png
Avinash Raj
@AvinashRaj Anda dapat mencoba semua indikator dari 2 direktori tersebut. Jika Anda menggunakan satu dari usr/lib/...direktori, maka konvensi penamaan yang saya tulis di atas berlaku, jadi syncindicatorsudah cukup tetapi Anda libsyncindicator.sojuga dapat menggunakannya . Untuk direktori lain Anda juga dapat menggunakan seluruh nama file, atau Anda dapat meninggalkan com.canonical.indicator.bagian tersebut. Jadi dalam kasus Anda, baris yang valid dalam file override akan menjadi seperti ini:indicators=['libsyncindicator.so', 'printersmenu', 'libapplication', 'com.canonical.indicator.sound', 'messages']
falconer
Saya tidak ingin jatuh ke dalam situasi kritis, tolong coba di ubuntu 13.10 dan beri tahu saya jika berfungsi.
Avinash Raj