Como fazer o indicador-sysmonitor como um indicador padrão na tela de login

10

O Ubuntu 14.04 tem atualmente no canto superior direito esses indicadores de desligamento, botão de bloqueio, detalhes do tempo do calendário, detalhes da bateria, formato de entrada (inglês) como os indicadores padrão. É possível fazer indicator-sysmonitor como um desses indicadores padrão.

Agora, o que acontece é somente quando entramos em um computador, indicador-sysmonitor será mostrado e quando você sair ou bloquear o nosso indicador de computador-sysmonitor irá sair automaticamente do painel. Eu sei por experiência em computadores bloqueados indicador-sysmonitor funciona em segundo plano, mas não irá mostrar no painel. Eu tenho algumas estatísticas (inclui cpu, mem e alguns personalizados) que eu quero ver quando eu bloquear meu computador.

isso pode ser feito?

P.S. Eu fiz esta pergunta no site principal do software e o autor recomendou este site.

Eu olhei para esta pergunta e suas respostas e parece promissor - mas eu não sei como adaptar as respostas para o monitor de indicador.

    
por potholiday 27.05.2015 / 05:21

1 resposta

18

Tela de boas-vindas / login

Acabo vendo como o nm-applet funciona. Eu rastreei, como parece codificado em unity-greeter .

Esta modificação faz com que apareça na tela de saudação após o boot ou logoff (mas não na tela de bloqueio).

  1. Baixe as dependências de origem e de compilação

    sudo apt-get build-dep unity-greeter
    apt-get source unity-greeter
    
  2. Adicione a função spawn para indicator-sysmonitor

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

    Lá você encontra Process.spawn_command_line_async ("nm-applet"); no código original, que gera nm-applet para a tela de boas-vindas. Faça uma cópia dele com o total% wrapper try..catch e modifique-o para gerar indicator-sysmonitor também.

        /* 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. Construir

    ./autogen.sh
    ./configure --prefix=/usr
    make -j2
    
  4. Instalar

    sudo cp src/unity-greeter /usr/local/sbin/unity-greeter
    
  5. Reinicie

Bloqueio de tela

De qualquer forma, isso mostrará todos os indicadores de aplicativo (observe nm-applet na captura de tela), isso pode ser uma segurança & amp; inconveniente de privacidade. É possível pré-definir uma lista de indicadores apenas para o modo de tela de bloqueio, mas não tenho tempo para fazê-lo e testá-lo.

  1. Baixe as dependências de origem e de compilação

    sudo apt-get build-dep unity
    apt-get source unity
    
  2. Modifique o serviço de painel da unidade para carregar os indicadores do aplicativo, mesmo no modo lockscreen.

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

    if (!lockscreen_mode) abaixo impede os indicadores de carregamento no modo de tela de bloqueio.

    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. Construir

    mkdir build
    cd build/
    cmake ../
    make
    
  4. Instalar

    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
    

    Experimente: Ctrl Alt L

por user.dz 09.10.2015 / 10:05