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

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

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

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

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


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

10
задан 13 April 2017 в 15:23

1 ответ

Экран зазывалы/Входа в систему

Я заканчиваю тем, что смотрел как 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. Перезагрузка

    indicator-sysmonitor on unity-greeter (Ubuntu greeting screen)


Экран блокировки

Так или иначе это покажет все индикаторы приложения (заметьте nm-апплет в снимке экрана), это может быть недостатком безопасности и конфиденциальности. Возможно предопределить список индикатора для режима Lockscreen только, у меня просто нет времени, чтобы сделать так и протестировать его.

  1. Загрузите источник и создайте зависимости

    sudo apt-get build-dep unity
    apt-get source unity
    
  2. Измените сервис панели единицы для загрузки индикаторов приложения даже в режиме Lockscreen.

    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

    indicator-sysmonitor on lightdm lock screen

18
ответ дан 14 April 2017 в 01:23
  • 1
    Ответы должны быть корректными во время записи и не включать потенциальный ответ, затем ' А-ч no' и другой возможный ответ. Вы могли ободрить этот ответ редактирование луг это для расширения его. – grooveplex 30 August 2016 в 19:41

Другие вопросы по тегам:

Похожие вопросы: