Pertanyaan Apakah itu mungkin untuk menambahkan ikon ke panel atas layar masuk?


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

enter image description here

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

Saya menjalankan Ubuntu 13.10


10
2017-11-30 10:38


asal


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


Jawaban:


Saya menggunakan 12.04, tetapi ini juga akan bekerja pada 13.10.

Ya, dimungkinkan untuk mengubah indikator untuk penyambut kesatuan. Kita bisa menggunakan GSettings untuk mengubah pengaturan, tetapi karena penyambut kesatuan hanya dijalankan oleh pengguna lightdm, (jadi pengaturannya tidak mempengaruhi orang lain) paling mudah untuk hanya menulis .override mengajukan.

1 Periksa indikator standar

Anda dapat melihat indikator standar Anda di dconf-editor atau int /usr/share/glib-2.0/schemas/com.canonical.unity-greeter.gschema.xml mengajukan. Di file yang 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 standar untuk saya. Periksa dulu Anda.

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 pengganti

Cukup tulis file dengan isi yang mirip 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 pesan indikator ke daftar default 12.04. Dalam versi 13.10 saya menambahkan pesan indikator ke daftar default dari 13.10. Saya hanya menambahkannya ke daftar default yang ditampilkan LANGKAH 1, Anda dapat melakukannya juga, atau menghapus beberapa dari indikator default jika Anda tidak ingin mereka muncul di layar masuk. (Hati-hati untuk apostrophes.) PENTING: Pada 12.04 Anda harus menyimpan 'ug-keyboard' dan 'sidang' indikator dalam daftar, jadi TIDAK menghapusnya jika Anda memilikinya di baris default, atau lightdm akan terjebak dalam lingkaran tanpa akhir. (seperti sini )

Menamai konvensi dalam file penggantian: Untuk file dalam /usr/lib/indicators3/7/ direktori "lib" nama file sebelumnya dan akhiran ".so" tidak penting, jadi untuk file bernama libmessaging.so kita bisa menggunakan 'libmessaging.so', 'libmessaging' atau 'pesan'. Untuk file dalam /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 hanya "bluetooth".

4. Cadangkan (berjaga-jaga)

Buat cadangan dari /usr/share/glib-2.0/schemas/gschemas.compiled mengajukan.

5. Kompilasi

Setelah semua ini berjalan

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

6. Periksa hasilnya

Setelah ini coba logout dan lihat apakah berhasil. Atau Anda juga dapat melakukan tes layar login tanpa logout, 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 menguji dengan indikator pesan dan itu tidak muncul, tetapi tidak menghasilkan erros, jadi saya menduga bahwa itu adalah desain yang tidak muncul di layar penyambut, karena sebagian besar tidak ada gunanya. Jadi saya memeriksa /usr/share/unity/indicators/com.canonical.indicator.messagesfile dan menegaskan bahwa itu tidak memiliki bagian [desktop_greeter] seperti misalnya indikator sesi. Jadi Jika Anda tidak menggunakan indikator pesan (atau indikator lain tanpa bagian [desktop_greeter]) untuk muncul di layar masuk (meskipun sebagian besar tidak ada gunanya), Anda juga harus mengedit filenya di /usr/share/unity/indicators/ direktori, dan buat salinan dari bagian [desktop] di file itu dan ganti nama salinannya ke bagian [desktop_greeter]. E.g 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 masuk untuk 13.10 juga.

Jika sesuatu menjadi buruk dan layar masuk tidak muncul, cukup beralih ke konsol virtual CTRL+ALT+F1 dan kembalikan cadangan Anda gschemas.compiled mengajukan. Atau hapus myoverride.gschema.override file dan jalankan sudo glib-compile-schemas /usr/share/glib-2.0/schemas lagi. Jika lighdtm stucks dalam lingkaran tanpa akhir, dan Anda tidak dapat beralih ke konsol virtual, cukup tekan ALT+PrtSc+E kunci ajaib combo, ini akan membunuh lightdm dan setelah ini Anda dapat beralih ke konsol virtual dan melakukan perbaikan.

Indikator apa yang bisa Anda gunakan? Saya tidak tahu, saya hanya memiliki default, tapi saya kira Anda dapat mencoba yang menginstal sendiri ke direktori yang tercantum di atas. (Atau kamu bisa tulis indikator sendiri seperti biasa.)

Sumber untuk semua ini? Saya mencari tahu kodenya: link dan link


14
2017-12-17 21:57



apakah Anda ingin katakan adalah menemukan libmessaging.so file lalu salin dan tempelkan di /usr/lib/indicators3/7 direktori, apakah saya benar? - Avinash Raj
@AvinashRaj Tidak, maksud saya adalah mungkin direktori tempat penyambut persatuan mencari indikator berbeda menurut versi. Dari kode sumber yang hanya bisa saya dapatkan, ada 2 direktori tempat penyiar persatuan mencari indikator. Itu /usr/share/unity/indicators terlihat sama per versi, tetapi /usr/lib/indicators3/7 sutradara bisa berbeda berdasarkan versinya. Jadi saya bermaksud mencari indikator default yang terinstal, melihat di mana mereka disimpan, dan hanya melihat di direktori itu untuk melihat indikator apa yang tersedia, maka Anda dapat menggunakan nama mereka dalam daftar. - falconer
Lihat i.imgur.com/JPrincG.png - Avinash Raj
@AvinashRaj Anda dapat mencoba semua indikator dari 2 direktori tersebut. Jika Anda menggunakannya dari usr/lib/... direktori, maka konvensi penamaan apa yang saya tulis di atas berlaku, jadi syncindicator sudah cukup tetapi Anda bisa menggunakannya libsyncindicator.so juga. Untuk direktori lain, Anda juga dapat menggunakan seluruh nama file, atau Anda dapat mengabaikannya com.canonical.indicator. bagian. Jadi dalam kasus Anda, baris yang valid dalam file pengganti akan menjadi seperti ini: indicators=['libsyncindicator.so', 'printersmenu', 'libapplication', 'com.canonical.indicator.sound', 'messages'] - falconer
saya tidak ingin jatuh ke dalam situasi kritis apa pun, coba di ubuntu 13.10 dan beri tahu saya jika berhasil. - Avinash Raj