Как сделать индикатор-системный монитор индикатором по умолчанию на экране входа

10

Ubuntu 14.04 в настоящее время имеет в верхнем правом углу эти индикаторы выключения, кнопку блокировки, информацию о времени работы календаря, информацию о батарее, формат ввода (английский) в качестве индикаторов по умолчанию. Можно ли сделать индикатор-системный монитор одним из этих индикаторов по умолчанию.

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

это можно сделать?

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


Я посмотрел на этот Вопрос и его ответы, и он выглядит многообещающе - но я не знаю, как адаптировать ответы для индикатора-системного монитора.

potholiday
источник

Ответы:

18

Greeter / Экран входа в систему

Я заканчиваю тем, что смотрю, как 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-applet на скриншоте), это может быть недостатком безопасности и конфиденциальности. Можно заранее определить список индикаторов только для режима блокировки экрана, у меня просто нет времени, чтобы проверить это.

  1. Скачать исходный код и построить зависимости

    sudo apt-get build-dep unity
    apt-get source unity
    
  2. Модифицируйте сервис Unity-Panel для загрузки индикаторов приложения даже в режиме блокировки экрана.

    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

user.dz
источник
Запоздалый +1. Интересно, с запоздалой кончиной Unity DE, будет ли проще GDM под Ubuntu 18.04?
WinEunuuchs2Unix