Чи можливо додати піктограми до верхньої панелі екрана входу?


10

Чи можливо додати піктограми (крім за замовчуванням) на верхню панель екрана входу?

введіть тут опис зображення

Якщо так, то які піктограми додатків будуть додані до верхньої панелі екрана входу, окрім значень за замовчуванням ( бортовий, звуковий, мережевий менеджер тощо ). І як це додати?

Я працюю на Ubuntu 13.10


Це менеджер входу в lightdm, тому вам доведеться /usr/shareбезпосередньо редагувати його файли . Я думаю, що був наладник lightdm, який дозволив це змінити фон, але я не знаю, якщо він все ще працює ..
Вільф

1
чи можу я отримати ці шпалери?

@Utkarsh я завантажив вищезазначене зображення з пошуку зображень Google.
Авінаш Радж

Відповіді:


14

Я 12.04, але це також буде працювати 13.10.

Так, можна змінити показники на єдність-привітання. Ми могли використовувати GSettings для зміни налаштувань, але, оскільки привітання єдності управляє лише користувачем lightdm, (так що налаштування не впливає ні на кого), найпростіше просто написати .overrideфайл.

1. Перевірте показники за замовчуванням

Ви можете бачити за замовчуванням індикатори у файлі dconf-editorабо int /usr/share/glib-2.0/schemas/com.canonical.unity-greeter.gschema.xml. В останньому файлі ви побачите ключ, подібний до цього:

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

, це типово для мене. Перевірте свою першу.

13.10 цей ключ виглядає приблизно так:

<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. Перевірте наявні показники

Ви можете перевірити наявні показники в /usr/lib/indicators3/7/каталозі або в /usr/share/unity/indicators/каталозі.

3. Напишіть файл перезапису

Просто напишіть файл з подібним вмістом і збережіть його як /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']

За 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']

У версії 12.04 я додав показник обміну повідомленнями до списку за замовчуванням 12.04. У версії 13.10 я додав індикатор повідомлень до стандартного листа 13.10. Я просто додав їх до списку за замовчуванням, показаного в КРОК 1 , ви також можете це зробити або видалити деякі з індикаторів за замовчуванням, якщо ви не хочете, щоб вони відображалися на екрані входу. (Слідкуйте за апострофами.) ВАЖЛИВО : 12.04. Ви повинні зберігати в списку індикатор 'ug-клавіатура' та 'сесія' , тому НЕ видаляйте їх, якщо вони є у рядку за замовчуванням, або lightdm застрягне. у нескінченній петлі. (як тут )

Імена конвенцій у файлі заміщення: Для файлів у /usr/lib/indicators3/7/каталозі попереднє ім'я файлу "lib" та закінчення ".so" не важливо, тому для файлу з іменем libmessaging.so ми могли б використовувати "libmessaging.so", "libmessaging" або 'обмін повідомленнями'. Для файлів у /usr/share/unity/indicators/каталозі ім'я файлу, що передує "com.canonical.indicator." це не важливо, тому для файлу "com.canonical.indicator.bluetooth" ми могли б використовувати "com.canonical.indicator.bluetooth" або просто "bluetooth".

4. Резервне копіювання (про всяк випадок)

Зробіть резервну копію /usr/share/glib-2.0/schemas/gschemas.compiledфайлу.

5. Складіть

Після всього цього запуску

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

6. Перевірте результати

Після цього спробуйте вийти та побачити, чи спрацювало воно. Або ви також можете зробити тест екрана входу, не виходячи з системи, якщо ви спробуєте з терміналу:

lightdm --test-mode

або

unity-greeter --test-mode 

Для мене 12.04 індикатор обміну повідомленнями працював, індикатор друку не працює. 13.10 я перевірив індикатор повідомлень, і він не з’явився, але не видав помилок, тому я здогадався, що це, за задумом, не відображається на зеленому екрані, оскільки там здебільшого марно. Тому я перевірив /usr/share/unity/indicators/com.canonical.indicator.messagesфайл, і він підтвердив, що в ньому немає розділу [desktop_greeter], наприклад, наприклад, у індикатора сеансу. Отже, якщо ви не хочете, щоб індикатор повідомлень (або інший індикатор без розділу [desktop_greeter]) не відображався на екрані входу (навіть якщо він здебільшого марний), вам також доведеться редагувати його файл у /usr/share/unity/indicators/каталозі, і зробіть копію розділу [desktop] у цьому файлі та перейменуйте копію у розділ [desktop_greeter]. Наприклад, для індикатора повідомлень я отримав цей файл для /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

Після цього зміни у файлі, індикатор повідомлень також з’явився на екрані входу в 13.10.

Якщо щось піде не так і екран не входить, просто перейдіть на віртуальну консоль CTRL+ ALT+ F1і відновіть gschemas.compiledфайл резервної копії . Або видаліть myoverride.gschema.overrideфайл і запустіть sudo glib-compile-schemas /usr/share/glib-2.0/schemasзнову. Якщо lighdtm застряг у нескінченному циклі, і ви не можете переключитися на віртуальну консоль, просто натисніть комбіновану клавішу ALT+ PrtSc+ E, це знищить lightdm і після цього ви можете перейти на віртуальну консоль і виконати ремонт.

Які показники ви можете використовувати? Я не знаю, у мене є лише типові настройки, але, мабуть, ви можете спробувати будь-який, який встановлює себе в ті перелічені вище каталоги. (Або ви можете написати власний індикатор, як завжди.)

Джерело для всього цього? Я заглянув у код: посилання та посилання


Ви хотіли сказати - знайдіть libmessaging.soфайл, а потім скопіюйте його в /usr/lib/indicators3/7каталог, чи правильно я?
Avinash Raj

@AvinashRaj Ні, я мав на увазі, що можливо, що каталог, де шукає індикатори єдності, відрізняється версіями. З вихідного коду я міг лише зрозуміти, що є 2 каталоги, де єдність-привітання шукає показники. /usr/share/unity/indicatorsВиглядає так само в версії, але /usr/lib/indicators3/7режисер може відрізнятися від версії. Тож я мав намір шукати встановлені індикатори за замовчуванням, шукати, де вони зберігаються, і просто шукати в цьому каталозі, щоб побачити, які показники доступні, то ви можете використовувати їх імена у списку.
сокольниця


@AvinashRaj Ви можете спробувати всі показники з цих двох каталогів. Якщо ви використовуєте його з usr/lib/...каталогу, то домовленостей про те, що я написав вище, дотримується, syncindicatorале цього достатньо, але ви можете libsyncindicator.soтакож використовувати . Для іншого каталогу ви також можете використовувати ціле ім’я файлу, або ви можете залишити цей com.canonical.indicator.розділ. Тож у вашому випадку дійсний рядок у файлі заміщення буде приблизно таким:indicators=['libsyncindicator.so', 'printersmenu', 'libapplication', 'com.canonical.indicator.sound', 'messages']
falconer

я не хочу потрапляти в будь-яку критичну ситуацію, будь ласка, спробуйте його на ubuntu 13.10 і повідомте мене, якщо він працює.
Avinash Raj
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.