Як зробити індикатор-sysmonitor як індикатор за замовчуванням на екрані входу


10

На даний момент у верхньому правому куті Ubuntu 14.04 є індикатори вимкнення, кнопка блокування, деталі часу календаря, деталі акумулятора, формат введення (англійська) як стандартні індикатори. Чи можливо зробити індикатор-системонітор одним із цих показників за замовчуванням.

Тепер це відбувається лише тоді, коли ми увійшли в комп'ютер, буде показаний індикатор-системонітор, і коли ви вийдете або заблокуєте наш комп'ютерний індикатор-системонітор автоматично вийде з панелі. Я знаю з досвіду роботи із заблокованими комп’ютерами індикатор-системонітор працює у фоновому режимі, але не з’явиться на панелі. У мене є статистика (включає процесор, пам'ять і деякі користувальницькі), які я хочу побачити, коли я блокую комп'ютер.

це можна зробити?

PS Я поставив це питання на головному сайті програмного забезпечення, і автор рекомендував цей сайт.


Я переглянув це питання та його відповіді, і це виглядає багатообіцяюче, але я не знаю, як адаптувати відповіді для індикатора-системонітора.

Відповіді:


18

Екран привітання / входу

Я в кінцевому підсумку дивлюся, як nm-appletпрацює. Я простежив це, як здається, важко закодований unity-greeter.

Ці зміни дозволяють відображатися на екрані привітання після завантаження чи виходу з системи (але не на екрані блокування).

  1. Завантажте джерело та будуйте залежності

    sudo apt-get build-dep unity-greeter
    apt-get source unity-greeter
    
  2. Додати функцію нересту для indicator-sysmonitor

    cd unity-greeter-*/
    vim src/unity-greeter.vala +590
    

    Там ви знайдете Process.spawn_command_line_async ("nm-applet");в оригінальному коді, який породив nm-appletзелений екран. Зробіть його копію з повною try..catchобгорткою та змініть її на нерест indicator-sysmonitor.

        /* Make nm-applet hide items the user does not have permissions to interact with */
        Environment.set_variable ("NM_APPLET_HIDE_POLICY_ITEMS", "1", true);
    
        try
        {
            Process.spawn_command_line_async ("nm-applet");
        }
        catch (Error e)
        {
            warning ("Error starting nm-applet: %s", e.message);
        }
    
        /* I added these for sysmonitor, from here */
        try
        {
            Process.spawn_command_line_async ("indicator-sysmonitor");
        }
        catch (Error e)
        {
            warning ("Error starting indicator-sysmonitor: %s", e.message);
        }
        /* to here */
    
    }
    
  3. Побудувати

    ./autogen.sh
    ./configure --prefix=/usr
    make -j2
    
  4. Встановити

    sudo cp src/unity-greeter /usr/local/sbin/unity-greeter
    
  5. Перезавантажте

    індикатор-системонітор на єдність-привітання (екран привітання Ubuntu)


Екран блокування

У будь-якому випадку, це покаже всі показники програми (зауважте nm-аплет на скріншоті), це може бути недоліком безпеки та конфіденційності. Можна заздалегідь визначити список індикаторів лише для режиму блокування екрана, я просто не встигаю це зробити і перевірити.

  1. Завантажте джерело та будуйте залежності

    sudo apt-get build-dep unity
    apt-get source unity
    
  2. Змініть сервіс-панель єдності для завантаження показників програми навіть у режимі блокування екрана.

    cd unity-7*/
    vim services/panel-service.c +893
    

    if (!lockscreen_mode) нижче запобігайте завантаженню індикаторів у режимі заблокованого екрана.

    static void
    initial_load_default_or_custom_indicators (PanelService *self, GList *indicators)
    {
      GList *l;
    
      suppress_signals = TRUE;
    
      if (!indicators)
        {
          /* comment these lines
            if (!lockscreen_mode)
            {
              load_indicators (self);
            }
          */
          // add this line
          load_indicators (self);
    
          load_indicators_from_indicator_files (self);
          sort_indicators (self);
        }
    ...
    
  3. Побудувати

    mkdir build
    cd build/
    cmake ../
    make
    
  4. Встановити

    sudo mv /usr/lib/unity/unity-panel-service /usr/lib/unity/unity-panel-service.orig
    sudo cp services/unity-panel-service /usr/lib/unity/unity-panel-service
    

    Спробуй це: CtrlAltL

    індикатор-системонітор на екрані блокування lightdm


Запізнілий +1. З запізнілою кончиною Unity DE мені цікаво, чи не буде GDM під Ubuntu 18.04 легше?
WinEunuuchs2Unix
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.