# Manual do KTimemon

Martin Maierhofer

    m.maierhofer@tees.ac.uk

09/03/2000
0.03.01
monitor de sistema
timemon

Ajuda Em Linha / Introdução ao KTimemon, um monitor de sistema para o K Desktop Environment. Cobre a versão 0.3a

## Introdução

O KTimemon é um pequeno programa que monitoriza a utilização do computador. Ele pode mostrar gráficos de barras contendo informações sobre o CPU, memória, espaço do swap em uso, e ainda espaço de disco em uso e mudanças de contexto. Mantendo o espirito do KDE, ele suporta configurações por meio da interface gráfica. O KTimemon também suporta atracagem, i.e. ele pode mostrar informação do sistema no painel.

Nota: Actualmente, o KTimemon apenas suporta um número limitado de sistemas: instalações baseadas em Linux com o sistema de ficheiros `/proc`, sistemas baseados em Solaris com a biblioteca kstat, e sistemas Digital Unix (anteriormente DEC/OSF1) com a chamada de sistema table(2). Ajuda para o porte do programa para outras plataformas será muito apreciada.

O KTimemon pode ser iniciado a partir da linha de comando ou do menu de iniciar do KDE (no submenu Utilitários). Se o inicares da linha de comando, o KTimemon aceita as opções normais de X Windows tal como `-geometry`. O KTimemon conhece sessões, ex.: ele acompanha e grava as configurações actuais (cores, etc.) e restaura-as na sessão seguinte.

## Instalação

Podes obter o KTimemon no Servidor ftp do KDE (ou num mirror). Copia o pacote para uma directoria da tua escolha e escreve os seguintes comandos:

    $ cd <o_directório_onde_puseste_o_ktimemon-0.3a.tgz>
    $ gzip -cd ktimemon-0.3a.tgz | tar xfv -
    $ cd ktimemon-0.3a
    $ ./configure
    $ make install

Em princípio, o KTimemon será compilado e instalado sem nenhuma intervenção futura (se tiveres problemas na instalação do KTimemon, por favor, relata o problema para m.maierhofer@tees.ac.uk). O KTimemon deve instalar-se no directório do KDE, e poderá ser invocado a partir do menu Utilitários no painel, depois de reinicializares o painel.

## Noções Genéricas

Depois de iniciares o KTimemon, uma pequena janela irá aparecer mostrando informações do sistema operativo. Se moveres o ponteiro do rato para cima da janela do KTimemon e deixares o ponteiro parado durante algum tempo, irá aparecer uma janela com uma dica. A dica contem informação numérica acerca dos parametros do sistema mostrados pelos gráficos de barra. As dicas podem ser desactivadas (como descrito em Configuração).

### Modos do Mostrador

O KTimemon pode mostrar a informação de sistema de duas maneiras. Como explicado no capítulo Configuração, os botões do rato podem ser configurados para fazer várias acções. Por omissão, o botão do rato esquerdo irá fazer a acção de troca de modos, ex.: clicando com o botão esquerdo do rato em qualquer parte da janela do KTimemon, o mostrador trocará entre o "Modo Normal" (por omissão) e o "Modo Estendido", e vice-versa.

#### Modo Normal

Depois de iniciares o KTimemon pela primeira vez, vai-te ser mostrada informação sobre a actividade do CPU actual, tal como o uso da memória e do swap. Três gráficos de barras são usados para mostrar esta informação; eles são actualizados regularmente (o intervalo de amostragem por omissão é de 0,5s, mas pode ser modificado, ver Configuração). Os três gráficos de barras representam (da esquerda para a direita):

O uso do CPU.

  O KTimemon mostra a barra em três cores diferentes, representando o tempo do CPU gasto em vários modos. De baixo para cima há: o modo kernel, o modo utilizador, e o modo utilizador de baixa prioridade (nice) - como o Solaris não parece suportar as estatísticas do modo nice, a parte de cima do gráfico de barras irá representar o tempo gasto no estado de espera desses sistemas. O intervalo entre o topo da barra e o topo da janela representa a percentagem de tempo do CPU em repouso.

Uso da Memória.

  Semelhante à barra de uso do CPU, esta barra é composta por três sub-campos, representando (de baixo para cima): memória alocada pelos processos, memória usada pelo buffering de I/O, e a memória usada pela cache de ficheiros. Para sistemas baseados no Digital Unix, a secção central representa a memória "inactiva" (ex.: memória alocada e não usada durante um certo pedaço de tempo), e para sistemas baseados no Solaris, a secção central da barra não é usada, e a secção mais acima representa a quantidade de memória utilizada pelo núcleo. Mais uma vez, o intervalo entre o topo da barra e o topo da janela representa a memória disponível.

Uso do Swap.

  Esta barra consiste num campo único representando o uso actual do swap relativamente à capacidade total do espaço de swap do sistema.

Clicando com botão do rato no "modo troca" da janela do KTimemon troca o modo para o "Modo Estendido".

#### Modo Estendido

Neste modo, os três gráficos de barras são usados para mostrar uma informação diferente do sistema. Novamente, da esquerda para a direita, eles mostram:

Paginação.

  Esta barra consiste em duas partes: a metade inferior mostra o número de páginas de memória escritas para o armazenamento secundário no último intervalo de amostragem. Da mesma forma, a metade superior indica o número de páginas lidas da memória secundária.

Swapping.

  A segunda barra mostra informação analoga para a actividade de swap.

Mudanças de contexto.

  Novamente, este gráfico de barras consiste num campo único que indica o número de mudanças de contexto ocorridas no último intervalo de amostragem.

Como não há uma maneira "natural" de mudar a escala da informação mostrada no "Modo Estendido", por omissão o KTimemon usa a escala automática (explicada na secção Questões Frequentes). Há, contudo, a possibilidade de especificar a informação de escala (vê a secção Configuração).

Nota que os dois conjuntos de gráficos de barras partilham as mesmas cores, ex.: as cores de configuração para o "Modo Normal" também são usadas no mostrador de informação do "Modo Estendido" (vê também Configuração para aprenderes a mudar o esquema de cores).

### Estrutura dos Menus

Por omissão, o botão direito do rato está ligado ao menu "pop-up", i.e. o clique com o botão direito do rato algures na janela do KTimemon faz surgir um menu, que é apresentado nas secções seguintes.

#### Ajuda

O menu Ajuda é convencional. Provavelmente já descobriste esta funcionalidade.

#### Configurações...

O menu Configurações... é usado para abrir o diálogo de configuração. As opções de configuração são apresentadas na secção de Configuração.

#### Atracado no Painel

Seleccionando o menu Atracado no Painel, o KTimemon troca entre o mostrador normal (ex.: uma janela normal) e o estado em painel, onde a janela do KTimemon desaparece e uma janela mais pequena é mostrada no painel. Para além do tamanho reduzido, o KTimemon "em painel" comporta-se exactamente como o seu irmão maior.

#### Barras Horizontais

Seleccionando o item de menu Barras Horizontais, o KTimemon trocará das barras verticais para as barras horizontais e vice-versa. Não será muito útil, mas foi fácil de implementar ;-)

#### Sair

O menu de Sair - surpresa, surpresa -- é usado para terminar o KTimemon. Será gravado o estado actual (ex.: o esquema de cores, o tamanho da janela, se está ou não no painel) e restaurado na invocação seguinte do programa.

A informação da configuração é gravada no ficheiro `$(HOME)/.kde/share/config/ktimemonrc`, onde `$(HOME)` é a directoria pessoal do utilizador. Se o ficheiro for apagado, o KTimemon começará no seu estado por omissão.

## Configuração

O KTimemon pode ser configurado por um diálogo directo (ver também a secção de Menu Configuração). Na página Geral, o intervalo de amostragem pode ser especificado, tal como a informação de escala (ver também a apresentação do Modo Estendido). Se a "check box" escala automática estiver activa (a escala automática é explicada na FAQ), os factores de escala não podem ser editados, porque o KTimemon estabelece-os automaticamente.

As Cores da página podem ser usadas para adaptar as cores do gráfico de barra às preferências individuais. Basta ver uma amostra de um gráfico de barras para se perceber.

Na página Interacção, os comandos do rato podem ser configurados. O clique com o botão do rato numa janela do KTimemon pode ser ignorado, pode provocar uma troca de modos (vê Modos), pode invocar o menu de contexto (vê Menu), ou pode invocar um processo externo. A linha de comando especificada para processos externos é interpretada pela shell, i.e. comandos de shell, variáveis de ambiente, redireccionamento, etc. podem ser usados.

A página Interacção também contem um "check box" que pode ser usado para desactivar o aparecimento automático das dicas com informação numérica sobre os gráficos de barras (vê Onscreen Fundamentals).

## Perguntas e Respostas Frequentes

Quais são os sistemas operativos que o KTimemon suporta?

  O KTimemon suporta sistemas baseados em Linux com o sistema de ficheiros `/proc`, sistemas baseado em Solaris com a biblioteca kstat, e sistemas Digital Unix (anteriormente DEC/OSF1) com a chamada de sistema table(2). Apenas a versão do Linux foi intensamente testada, se tiveres algum problemas com o Solaris/Digital Unix, por favor, não hesites em contactar-me.

  Contributos para a adaptação do KTimemon para outras plataformas são bem-vindas. Por favor, contacta-me em m.maierhofer@tees.ac.uk se tiveres intenções de portar o KTimemon a outras variantes de Unix.

Como trabalha a escala automática?

  Ainda bem que perguntaste. Como não há um factor de escala óptimo predeterminado para operações de paginação/swapping e mudanças de contexto (ao contrário da utilização de memória, onde podes usar a memória total como referência), o KTimemon usa um mecanismo semi-inteligente (bem, ...) de escala automática. A escala automática funciona da seguinte maneira:

  - Cada um dos três gráficos de barras descritos na secção Modo Estendido tem um factor de escala associado. Os valores iniciais desses factores são predeterminados.

  - Cada vez que uma nova amostra é efectuada, o valor respectivo é representado pelo factor correspondente. Se o valor pode ser mostrado na escala escolhida pelo factor, não há alterações (i.e. pequenas variações de actividade reflectem-se no comprimento da barra).

  - Se o valor obtido for muito grande ou muito pequeno para ser mostrado na escala actual, o factor de escala é ajustado por forma a que o novo valor mostrado corresponda a metade do gráfico de barras. Portanto, alterações subsequentes devem ter uma boa chance de serem representadas na mesma escala, sem se ter de modificar a escala outra vez.

Porque é que a mensagem "diagnóstico de saída de um comando filho" aparece?

  Se ligas um botão do rato a um comando externo (tal como descrito no capítulo Configuração), o KTimemon não verifica se a validade do comando. Em vez disso, uma shell é invocada para executar o comando, i.e. comandos de shell, variáveis de ambiente, etc. podem ser usados. Para permitir o acompanhamento do utilizador, o KTimemon monitoriza a saída stderr da shell, e relata-o na caixa de mensagens.

  Se este esquema é útil quando um comando não é encontrado, ele é bastante aborrecido quando o comando invocado imprime apenas informação de diagnóstico no stderr. Uma solução simples e elegante para este problema é adicionar `2>/dev/null`, ao final do comando. Isto redirecciona as mensagens de diagnóstico para o Nirvana e evita o aparecimento da caixa de mensagens.

## Historial

Versão 0.1.

  (29 de Julho de 1998) Versão inicial.

Versão 0.2.

  (20 de Agosto de 1998)

  - Adicionado suporte para Modo Estendido.

  - Modificações no diálogo de configuração de forma a usar "layouts" em vez de uma geometria fixa.

  - Modificações nos detalhes do diálogo de configuração (ex.: a localização do ponto de montagem `/proc` agora detectados automaticamente).

  - Adicionado suporte para a internacionalização (i18n) para que as traduções se pudessem realizar.

Versão 0.2a.

  (29 de Agosto de 1998)

  - Remediado um pequeno "bug" na auto-detecção do sistema de ficheiros `/proc` do `/etc/mtab`.

Versão 0.2b.

  (3 de Dezembro de 1998)

  - Remediado uma pequena compatibilidade da localização das cores por omissão (alguém modificou o QColor recentemente?).

Versão 0.3.

  (11 de Fevereiro de 1999)

  - Remediado um "bug" no manuseamento de configuração - cortesia de Cristian Tibirna. Se quiseres podes apagar o ficheiro `ktimemonrc` da `$(HOME)/.kde/share/config` para fazeres uma "limpeza" na configuração.

  - O diálogo de configuração é agora alocado a pedido. Isto reduz um pouco a memória usada pelo KTimemon.

  - Porte inicial para Digital Unix (DEC/OSF1) e Solaris.

  - Barras verticais e horizontais configuráveis.

  - A maneira como a utilização de memória é mostrada foi rearranjada.

  - Possibilidade da configuração das teclas do rato.

  - Suporte preliminar para SMP. Mas é melhor esperares sentado...

Version 0.3a.

  (16 April 1999)

  - Acrescentadas dicas ao timemon (sugerido por Mark Krischer).

  - Acrescentada a internacionalização no painel de configuração e limpeza geral às traduções (agradecimentos a Lubos Lunak pelo relatório).

  - Pequena limpeza ao código da classe de amostragem.

## Agradecimentos

O KTimemon é baseado numa versão do Xt feita pelo meu irmão.

Obrigados a Tobe Toben, Cristian Tibirna, Dirk A. Mueller, Mark Krischer e Lubos Lunak pelos relatórios de bugs, "patches", comentários e sugestões.

Tradução da documentação por Ricardo Cruz rick2@ricjoa.fe.up.pt