<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook V3.1-Based Variant V1.0//EN" [
 <!ENTITY ktimemon "<application>ktimemon</application>">
]>
<book lang="pt">
<bookinfo>
<title>Manual do KTimemon</title>
<authorgroup>
<author>
<surname>Martin Maierhofer </surname>
<affiliation>
<address><email>m.maierhofer@tees.ac.uk</email></address>
</affiliation>
</author>
</authorgroup>
<date>09/03/2000</date>
<releaseinfo>0.03.01</releaseinfo>
<keywordset>
<keyword>monitor de sistema</keyword>
<keyword>timemon</keyword>
</keywordset>
<abstract>
<para>Ajuda Em Linha / Introdução ao KTimemon, um monitor de sistema
para o K Desktop Environment. Cobre a versão 0.3a</para>
</abstract>
</bookinfo>

<chapter id="introduction">
<title>Introdução</title>

<para>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 <ulink url="http://www.kde.org/">KDE</ulink>, ele suporta configurações por meio 
da interface gráfica. O KTimemon também suporta <emphasis>atracagem</emphasis>, i.e. ele pode mostrar
informação do sistema no painel.</para>

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

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

<chapter id="installation">
<title>Instalação</title>

<para>Podes obter o KTimemon no <ulink url="ftp://ftp.kde.org/pub/kde/unstable/apps/utils/ktimemon-0.3a.tgz">Servidor ftp do KDE</ulink>  (ou num mirror). Copia o pacote
para uma directoria da tua escolha e escreve os seguintes comandos:</para>

<para><screen>$ cd &lt;o_directório_onde_puseste_o_ktimemon-0.3a.tgz&gt;
$ gzip -cd ktimemon-0.3a.tgz | tar xfv -
$ cd ktimemon-0.3a
$ ./configure
$ make install
</screen>
</para>

<para>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 <ulink url="mailto:m.maierhofer@tees.ac.uk">m.maierhofer@tees.ac.uk</ulink>). O KTimemon deve instalar-se no directório
do KDE, e poderá ser invocado a partir do menu
<emphasis>Utilitários</emphasis> no painel, depois de reinicializares o painel.</para>
</chapter>

<chapter id="fund">
<title>Noções Genéricas</title>

<para>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 <emphasis>dica</emphasis>. 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 <link linkend="config">Configuração</link>).</para>

<sect1 id="modes">
<title>Modos do Mostrador</title>

<para>O KTimemon pode mostrar a informação de sistema de duas maneiras. Como
explicado no capítulo <link linkend="config">Configuração</link>, 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.</para>

<sect2 id="normalmode">
<title>Modo Normal</title>

<para>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 <link linkend="config">Configuração</link>). Os três gráficos de barras
representam (da esquerda para a direita):
<variablelist>
<varlistentry>
<term>O uso do CPU.</term>
<listitem>
<para>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 (<emphasis>nice</emphasis>) - 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 <emphasis>espera</emphasis> desses sistemas. O intervalo entre o 
topo da barra e o topo da janela representa a percentagem de
tempo do CPU em repouso.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Uso da Memória.</term>
<listitem>
<para>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.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Uso do Swap.</term>
<listitem>
<para>Esta barra consiste num campo único representando
o uso actual do swap relativamente à capacidade total do espaço de swap
do sistema. </para>
</listitem>
</varlistentry>
</variablelist>
</para>

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

<sect2 id="xtndmode">
<title>Modo Estendido</title>

<para>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:
<variablelist>
<varlistentry>
<term>Paginação.</term>
<listitem>
<para>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.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Swapping.</term>
<listitem>
<para>A segunda barra mostra informação
analoga para a actividade de swap.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Mudanças de contexto.</term>
<listitem>
<para>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.</para>
</listitem>
</varlistentry>
</variablelist>
</para>

<para>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 <emphasis>escala automática</emphasis> (explicada
na secção <link linkend="autoscaling">Questões Frequentes</link>). Há,
contudo, a possibilidade de especificar a informação de escala
(vê a secção <link linkend="config">Configuração</link>).</para>

<para>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 <link linkend="config">Configuração</link> para aprenderes a mudar o esquema de cores).</para>
</sect2>
</sect1>

<sect1 id="menu">
<title>Estrutura dos Menus</title>

<para>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.</para>

<sect2 id="help">
<title>Ajuda</title>

<para>O menu <emphasis>Ajuda</emphasis> é convencional. Provavelmente já descobriste
esta funcionalidade.</para>
</sect2>

<sect2 id="configmenu">
<title>Configurações...</title>

<para>O menu <emphasis>Configurações...</emphasis> é usado para abrir o diálogo de
configuração. As opções de configuração são apresentadas na secção de <link linkend="config">Configuração</link>.</para>
</sect2>

<sect2 id="dockedinpanel">
<title>Atracado no Painel</title>

<para>Seleccionando o menu <emphasis>Atracado no Painel</emphasis>, 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.</para>
</sect2>

<sect2 id="horizontalbars">
<title>Barras Horizontais</title>

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

<sect2 id="quit">
<title>Sair</title>

<para>O menu de <emphasis>Sair</emphasis> - 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.</para>

<para>A informação da configuração é gravada no ficheiro
<literal remap="tt">$(HOME)/.kde/share/config/ktimemonrc</literal>, onde <literal remap="tt">$(HOME)</literal>
é a directoria pessoal do utilizador. Se o ficheiro for apagado, o KTimemon
começará no seu estado por omissão.</para>
</sect2>
</sect1>
</chapter>

<chapter id="config">
<title>Configuração</title>

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

<para>As <emphasis remap="bf">Cores</emphasis> 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.</para>

<para>Na página <emphasis remap="bf">Interacção</emphasis>, 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ê <link linkend="modes">Modos</link>), pode invocar o menu de contexto
(vê <link linkend="menu">Menu</link>), 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.</para>

<para>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ê <link linkend="fund">Onscreen Fundamentals</link>).</para>
</chapter>

<chapter id="autoscaling">
<title>Perguntas e Respostas Frequentes</title>

<para><variablelist>
<varlistentry>
<term>Quais são os sistemas operativos que o KTimemon suporta?</term>
<listitem>
<para>O KTimemon suporta sistemas baseados em Linux com o sistema de ficheiros <literal remap="tt">/proc</literal>,
sistemas baseado em Solaris com a biblioteca <emphasis>kstat</emphasis>, e sistemas Digital 
Unix (anteriormente DEC/OSF1) com a chamada de sistema <emphasis>table(2)</emphasis>.
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.</para>
<para>Contributos para a adaptação do KTimemon para outras plataformas são
bem-vindas. Por favor, contacta-me em <ulink url="mailto:m.maierhofer@tees.ac.uk">m.maierhofer@tees.ac.uk</ulink> se
tiveres intenções de portar o KTimemon a outras variantes de Unix.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Como trabalha a escala automática?</term>
<listitem>
<para>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:
<itemizedlist>
<listitem>
<para> Cada um dos três gráficos de barras descritos na secção <link linkend="xtndmode">Modo Estendido</link> tem um
factor de escala associado. Os valores iniciais desses
factores são predeterminados.</para>
</listitem>
<listitem>
<para> 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).</para>
</listitem>
<listitem>
<para> 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.</para>
</listitem>
</itemizedlist>
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Porque é que a mensagem "diagnóstico de saída de um comando
filho" aparece?</term>
<listitem>
<para>Se ligas um botão do rato a um comando externo 
(tal como descrito no capítulo <link linkend="config">Configuração</link>),
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 <emphasis>stderr</emphasis> da shell,
e relata-o na caixa de mensagens.</para>
<para>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 <emphasis>stderr</emphasis>. Uma solução simples e elegante para este problema
é adicionar <literal remap="tt">2&gt;/dev/null</literal>, ao final do comando.
Isto redirecciona as mensagens de diagnóstico para o Nirvana e evita 
o aparecimento da caixa de mensagens.</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</chapter>

<chapter id="revisionhistory">
<title>Historial</title>

<para><variablelist>
<varlistentry>
<term>Versão 0.1.</term>
<listitem>
<para>(29 de Julho de 1998) Versão inicial.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Versão 0.2.</term>
<listitem>
<para>(20 de Agosto de 1998) 
<itemizedlist>
<listitem>
<para>Adicionado suporte para <link linkend="xtndmode">Modo Estendido</link>.</para>
</listitem>
<listitem>
<para>Modificações no diálogo de configuração de forma a usar "layouts" em vez de 
uma geometria fixa.</para>
</listitem>
<listitem>
<para>Modificações nos detalhes do diálogo de configuração (ex.: a localização 
do ponto de montagem <literal remap="tt">/proc</literal> agora detectados 
automaticamente).</para>
</listitem>
<listitem>
<para>Adicionado suporte para a internacionalização (i18n) para que as traduções se pudessem realizar.</para>
</listitem>
</itemizedlist>
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Versão 0.2a.</term>
<listitem>
<para>(29 de Agosto de 1998) 
<itemizedlist>
<listitem>
<para>Remediado um pequeno "bug" na auto-detecção do sistema de ficheiros <literal remap="tt">/proc</literal>
do <literal remap="tt">/etc/mtab</literal>.</para>
</listitem>
</itemizedlist>
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Versão 0.2b.</term>
<listitem>
<para>(3 de Dezembro de 1998)
<itemizedlist>
<listitem>
<para>Remediado uma pequena compatibilidade da localização das cores por omissão
(alguém modificou o QColor recentemente?).</para>
</listitem>
</itemizedlist>
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Versão 0.3.</term>
<listitem>
<para>(11 de Fevereiro de 1999)
<itemizedlist>
<listitem>
<para>Remediado um "bug" no manuseamento de configuração - cortesia de Cristian Tibirna.
Se quiseres podes apagar o ficheiro <literal remap="tt">ktimemonrc</literal> da
<literal remap="tt">$(HOME)/.kde/share/config</literal> para fazeres uma "limpeza"
na configuração.</para>
</listitem>
<listitem>
<para>O diálogo de configuração é agora alocado a pedido. Isto
reduz um pouco a memória usada pelo KTimemon.</para>
</listitem>
<listitem>
<para>Porte inicial para Digital Unix (DEC/OSF1) e Solaris.</para>
</listitem>
<listitem>
<para>Barras verticais e horizontais configuráveis.</para>
</listitem>
<listitem>
<para>A maneira como a utilização de memória é mostrada foi 
rearranjada.</para>
</listitem>
<listitem>
<para>Possibilidade da configuração das teclas do rato.</para>
</listitem>
<listitem>
<para>Suporte preliminar para SMP. Mas é melhor esperares sentado...</para>
</listitem>
</itemizedlist>
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Version 0.3a.</term>
<listitem>
<para>(16 April 1999)
<itemizedlist>
<listitem>
<para>Acrescentadas dicas ao timemon (sugerido por Mark Krischer).</para>
</listitem>
<listitem>
<para>Acrescentada a internacionalização no painel de configuração
e limpeza geral às traduções (agradecimentos a Lubos Lunak pelo
relatório).</para>
</listitem>
<listitem>
<para>Pequena limpeza ao código da classe de amostragem.</para>
</listitem>
</itemizedlist>
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</chapter>

<chapter id="thanksandacknowledgements">
<title>Agradecimentos</title>

<para>O KTimemon é baseado numa versão do Xt feita pelo meu irmão.</para>

<para>Obrigados a 
<ulink url="mailto:ttoben@artis.uni-oldenburg.de">Tobe Toben</ulink>,
<ulink url="mailto:ctibirna@gch.ulaval.ca">Cristian Tibirna</ulink>, 
<ulink url="mailto:dmuell@rhrk.uni-kl.de">Dirk A. Mueller</ulink>,
<ulink url="mailto:krischem@amp.com">Mark Krischer</ulink>
e <ulink url="mailto:l.lunak@sh.cvut.cz">Lubos Lunak</ulink>
pelos relatórios de bugs, "patches", comentários e sugestões.</para>
<para>
Tradução da documentação por Ricardo Cruz <email>rick2@ricjoa.fe.up.pt</email>
</para>
</chapter> 
</book> 
<!--
Local Variables:
mode: sgml
sgml-omittag: nil
sgml-shorttag: t
End:
-->
<!-- actualizado para a versão CVS :1.1: --> 
