<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook V3.1-Based Variant V1.0//EN" [
 <!ENTITY kppp "<application>kppp</application>">
 <!ENTITY % addindex "IGNORE">
 <![ %addindex; [ <!ENTITY docindex SYSTEM "docindex.docbook"> ]]>
]>
<book lang="pt-BR">
<bookinfo>
<title>Manual do Kppp</title>
<authorgroup>
<author>
<firstname>Bernd Johannes</firstname>
<surname>Wuebben</surname>
<affiliation>
<address><email><ulink url="mailto:wuebben@kde.org">wuebben@kde.org</ulink></email></address>
</affiliation>
</author>
</authorgroup>
<date>17 Abril 1998</date>
<releaseinfo>Versão 1.1.1</releaseinfo>
<abstract>
<para>Este manual descreve o Kppp Versão 1.1.1</para>
</abstract>
<keywordset>
<keyword>KDE</keyword>
<keyword>KPpp</keyword>
<keyword>PPP</keyword>
<keyword>point-to-point protocol</keyword>
</keywordset>
</bookinfo>

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

<para> <literal remap="tt"> POR FAVOR NÃO ESQUEÇA DE LER A LISTA DE PERGUNTAS MAIS FREQÜENTES !
OBRIGADO ! </literal></para>

<para>O kppp é um discador e uma interface para o <literal remap="tt">pppd</literal>. Ele permite gerar scripts
e configurar a rede de forma interativa. Ele automatiza o processo de
discagem para seu provedor Internet e permite monitorar todo o processo de
forma simples. Uma vez conectado, o kppp oferece um rico acervo de estatísticas
e mantém registros do tempo que você permaneceu conectado. Embutidos estão
um terminal e um gerador de scripts, que lhe permitirão configurar sua conexão
com facilidade. Você não precisará mais um programa adicional de terminal, 
como <literal remap="tt">seyon</literal> ou <literal remap="tt">minicom</literal>, para testar e configurar sua conexão. O kppp
oferece uma elaborada contabilidade de custos de telefonia, que lhe dá o poder
de fiscalizar seus custos de conectividade.</para>

<para>Espero que você goste desse discador.</para>

<para><literal remap="tt">Bernd Johannes Wuebben</literal></para>

<para><ulink url="mailto:wuebben@kde.org">wuebben@kde.org</ulink></para>

<para><ulink url="mailto:wuebben@math.cornell.edu">wuebben@math.cornell.edu</ulink></para>
</chapter>

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

<para> <literal remap="tt"> POR FAVOR NÃO ESQUEÇA DE LER A LISTA DE PERGUNTAS MAIS FREQÜENTES !
OBRIGADO !</literal></para>

<sect1 id="como-conseguir-o-kppp">
<title>Como conseguir o Kppp</title>

<para>O Kppp é uma aplicação do projeto KDE <ulink url="http://www.kde.org">http://www.kde.org</ulink>.
Ele pode ser encontrado em <ulink url="ftp://ftp.kde.org/pub/kde/">ftp://ftp.kde.org/pub/kde/</ulink>, 
que é o principal site ftp do projeto KDE.</para>
</sect1>

<sect1 id="pr-requisitos">
<title>Pré-requisitos</title>

<para>Para compilar o Kppp, você precisa das versões mais atualizadas de
<literal remap="tt">kdecore</literal> e <literal remap="tt">libkdeui</literal>. Todas as bibliotecas necessárias bem
como o próprio Kppp podem ser encontrados em
<ulink url="ftp://ftp.kde.org/pub/kde/">ftp://ftp.kde.org/pub/kde/</ulink>. </para>
</sect1>

<sect1 id="compilao-e-instalao">
<title>Compilação e Instalação</title>

<para> <literal remap="tt"> POR FAVOR NÃO ESQUEÇA DE LER A LISTA DE PERGUNTAS MAIS FREQÜENTES !
OBRIGADO !</literal></para>

<para>Não pude testar o Kppp em outro sistema que não o Linux, mas você deve ser
capaz de fazer o <literal remap="tt">pppd</literal> funcionar em uma grande variedade de plataformas,
como 
SVR4, Solaris 2, Linux, FreeBSD, NetBSD, SunOS 4, AIX 4, OSF/1 e outras,
na medida em que você tenha instalado o <literal remap="tt">pppd</literal> nesses sistemas.</para>

<para>Se você quer compilar o Kppp para uma plataforma diferente do Linux, queira
verificar rapidamente as primeiras duas linhas do arquivo <literal remap="tt">pppstats.cpp</literal>,
se os <emphasis>defines</emphasis> e <emphasis>includes</emphasis> estão OK. Muito provavelmente
estarão corretos. Queira informar-me sobre qualquer mudança que se fizer
necessária.</para>

<para>O Kppp precisa ter permissão de escrita para /etc/resolv.conf se você
quer usar a facilidade de especificar os endereços DNS na janela de diálogo
DNS.</para>

<para>Certifique-se de que o arquivo de opções do <literal remap="tt">pppd</literal> - que usualmente está em
<literal remap="tt"> /etc/ppp/</literal> - <emphasis remap="sf">exista</emphasis>, porém esteja <emphasis remap="sf">vazio</emphasis>. O <literal remap="tt">pppd</literal> requer 
que ele exista, porém ele deve estar vazio, sob pena do pppd não buscar as 
opções junto ao programa Kppp.</para>

<para>Para compilar e instalar o Kppp em seu sistema, esteja em modo
superusuário digite o seguinte no
diretório-base da distribuição do Kppp:</para>

<para><screen>% ./configure
% make
% make install
% chmod +s &dollar;(KDE)/bin/kppp
</screen>
</para>

<para><emphasis remap="bf">Novamente:</emphasis> Se você tiver problemas, queira reportá-los a mim. </para>
</sect1>

<sect1 id="preparando-seu-sistema-linux-para-uma-conexo">
<title>Preparando seu sistema Linux para uma conexão PPP</title>

<para> <literal remap="tt"> POR FAVOR NÃO ESQUEÇA DE LER A LISTA DE PERGUNTAS MAIS FREQÜENTES !
OBRIGADO !</literal></para>

<para>Para os programas kppp e <literal remap="tt">pppd</literal> funcionarem, seu kernel deve ter sido 
compilado
com suporte a PPP. Se esse não é o seu caso, você deve obter a última versão de
<ulink url="ftp://sunsite.unc.edu/pub/Linux/system/Network/serial/ppp/">pppd</ulink>
de qualquer dos sites populares de arquivos Linux, e recompilar seu kernel
com o suporte a PPP habilitado. Não tenha medo, isso soa mais complicado do
que realmente é. 
Não esqueça de instalar o <literal remap="tt">pppd</literal> depois de recompilar o kernel.
Se você não tem certeza se seu kernel está suportando PPP, digite o comando
<literal remap="tt">dmesg</literal> no prompt de comandos e procure por algo como:</para>

<para><screen>PPP: version 2.3.0 (demand dialling)
TCP compression code copyright 1989 Regents of the University of California
PPP Dynamic channel allocation code copyright 1995 Caldera, Inc.
PPP line discipline registered
</screen>
</para>

<para>Houve mudanças no suporte a PPP do kernel entre a versão 1.2.x e 2.0.x
que forçaram a criação de um novo daemon <literal remap="tt">pppd</literal>. Na maioria das 
distribuições, o daemon <literal remap="tt">pppd</literal>
pode ser encontrado em <literal remap="tt">/usr/sbin</literal>. Para versões de
kernel 1.2.x, a versão correta do daemon <literal remap="tt">pppd</literal> é 2.1; para versões de kernel
2.0.x, a versão correta de <literal remap="tt">pppd</literal> é 2.2 ou melhor. Se você não sabe que 
versão do <literal remap="tt">pppd</literal> possui, digite:</para>

<para><screen>% pppd --version
</screen>
</para>

<para>Nenhum dos daemons <literal remap="tt">pppd</literal> tem essa opção <literal remap="tt">--version</literal>,
mas usar esta opção
provoca um erro (opção não reconhecida) e causa a impressão de uma lista
de opções válidas, e nessa lista aparece também a versão do <literal remap="tt">pppd</literal> :)</para>
</sect1>

<sect1 id="mais-sobre-ppppppd">
<title>Mais sobre PPP/pppd</title>

<para>O seguinte site pode ser de interesse para futuras referências sobre o protocolo
PPP e o programa <literal remap="tt">pppd</literal>:
<ulink url="http://www.thoughtport.com:8080/PPP/index.html">http://www.thoughtport.com:8080/PPP/index.html</ulink></para>
</sect1>
</chapter>

<chapter id="configurar-kppp">
<title>Configurar Kppp</title>

<para> <literal remap="tt"> POR FAVOR NÃO ESQUEÇA DE LER A LISTA DE PERGUNTAS MAIS FREQÜENTES !
OBRIGADO !</literal></para>

<para>Para configurar o Kppp, inicie-o e pressione o botão <literal remap="tt">Configurar</literal>
na janela principal do Kppp. Uma nova janela de diálogo surgirá.</para>

<sect1 id="contas">
<title>Contas</title>

<para>Este diálogo mostrará as contas que você criou. Você precisa criar pelo menos
uma conta. O botão <literal remap="tt">Apagar Custos</literal> zerará o custo acumulado da conta 
selecionada. Acredito que você pressionará esse botão uma vez por mês, depois
de ter consolidado seus custos de telefonia.</para>
</sect1>

<sect1 id="lock-files">
<title>Dispositivo</title>

<para><variablelist>
<varlistentry>
<term>Dispositivo de Modem</term>
<listitem>
<para>Selecione o dispositivo apropriado para seu hardware.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Controle de Fluxo</term>
<listitem>
<para>Selecione Hardware (CRTSCTS), Software (XON/XOFF) ou
nenhum controle de fluxo. Recomenda-se usar controle de fluxo por Hardware.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Terminador de Linha</term>
<listitem>
<para>Escolha o caractere "Enter" correto para seu modem.
Muitos modems usam "CR/LF". No entanto alguns modems precisam de uma
configuração diferente. Se você tiver problemas para rodar um script, mexa
com esta opção.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Velocidade de Ligação</term>
<listitem>
<para>Escolha uma na lista de velocidades de conexão
suportadas pela sua porta serial.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Arquivo de Travamento (lock) do Modem</term>
<listitem>
<para>Digite o caminho e o nome do arquivo de trava do modem.
Ele é tipicamente <literal remap="tt">/var/lock/LCK..modem</literal> e você não deve mudar
isso a não ser que você saiba o que está fazendo. Programas como 
<literal remap="tt">mgetty</literal> dependem da existência desses arquivos de trava, e o Kppp não
funcionará com o <literal remap="tt">mgetty</literal> se o arquivo de trava não estiver
configurado corretamente.</para>
<para>Se você deixar esse campo vazio, o Kppp não tentará criar um arquivo de
trava. Certifique-se de não utilizar a opção "lock" para o <literal remap="tt">pppd</literal> se você
informou um arquivo de trava do modem e portanto quer que o Kppp bloqueie
o modem, pois a opção "lock" induz o <literal remap="tt">pppd</literal> a tentar travar o dispositivo
de modem. No entanto, como o Kppp já travou o modem, o <literal remap="tt">pppd</literal> falhará e o
Kppp mostrará a mensagem "pppd fechou inesperadamente".
Certifique-se de que você tem permissão para gravar o arquivo de travamento
ou o Kppp mostrará a mensagem de erro "Não foi possível criar o arquivo de
travamento".</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Timeout do modem</term>
<listitem>
<para>Este é o tempo em segundos que o Kppp espera pela 
resposta CONNECT do seu modem após discar para o outro modem (que será
tipicamente um dos modems do seu provedor Internet). Recomendo um timeout
de mais ou menos 45 segundos.</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</sect1>

<sect1 id="modem">
<title>Modem</title>

<para><variablelist>
<varlistentry>
<term>Comandos do Modem</term>
<listitem>
<para>Esta opção abrirá uma caixa de diálogo, que você
precisará preencher com comandos de modem apropriados para o seu modem em
particular. Se você possui um modem compatível com Hayes, aconselho ler
sobre os comandos Hayes no Apêndice deste documento. As informações fornecidas
lá podem ser de grande ajuda no caso de você estar encontrando dificuldades
em conseguir uma conexão estável com seu provedor.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Perguntar ao Modem</term>
<listitem>
<para>Apertar o botão Perguntar ao Modem fará Kppp
comunicar-se com seu modem para que este identifique-se. Se for
bem sucedido, a resposta de seu modem será mostrada numa caixa de diálogo.
Isto pode ou não ser informativo, depende de seu modem.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Terminal</term>
<listitem>
<para>Pressionar o botão <literal remap="tt">Terminal</literal> abre um mini terminal.
Você pode usar o mini terminal para testar seu modem e experimentar o
protocolo de negociação ao iniciar uma conexão PPP com seu provedor Internet.
Você não precisa mais de um programa de terminal como <literal remap="tt">minicom</literal> ou 
<literal remap="tt">seyon</literal> para diagnosticar sua conexão.</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</sect1>

<sect1 id="ppp">
<title>PPP</title>

<para><variablelist>
<varlistentry>
<term>pppd Path</term>
<listitem>
<para>Especifica a localização do seu programa <literal remap="tt">pppd</literal>. É muito
importante que este seja o arquivo binário <literal remap="tt">pppd</literal>, e não (por exemplo)
um ponteiro para um script que inicia o <literal remap="tt">pppd</literal>, sob pena do Kppp não
funcionar apropriadamente.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Timeout do pppd</term>
<listitem>
<para>O Kppp vai esperar esse tempo depois de rodar o script
e iniciar o <literal remap="tt">pppd</literal> para que seja estabelecido um link PPP válido, antes de 
desistir e terminar o <literal remap="tt">pppd</literal>.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Voltar a ligar Automaticamente se Descontectado</term>
<listitem>
<para>Selecionar esta opção
faz com que Kppp tente reconectar no caso da conexão "cair". </para>
</listitem>
</varlistentry>
<varlistentry>
<term>Mostrar Relógio no Título</term>
<listitem>
<para>Esta opção faz o Kppp mostrar o tempo de
conexão no título da janela Kppp.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Desconectar se o servidor X for encerrado</term>
<listitem>
<para>Selecionar esta opção faz
com que o Kppp termine o link PPP, desconecte o modem e feche a contabilidade
de forma correta quando o servidor X é terminado. Isto é útil se você é 
suscetível a esquecer de fechar o Kppp, ou simplesmente não quer se preocupar
em fazer a desconexão. Se você não quer que o Kppp desconecte o modem ao
sair do servidor X, você deve deixar esta opção como não-selecionada. 
Esteja avisado, no entanto, que se você tiver habilitado a contabilidade
de conexão, e você não quiser que o Kppp feche a conexão ao sair do X,
você terá um lançamento não terminado em seus registros de contabilidade,
quando o servidor X fecha e Kppp é terminado.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Minimizar janela quando ligado</term>
<listitem>
<para>A janela do Kppp será minimizada após
o estabelecimento da conexão. O tempo de conexão será mostrado na barra de
tarefas.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Ir para o Painel quando ligado</term>
<listitem>
<para>Se esta opção é selecionada, o Kppp
ficará embutido no painel, e será simbolizado por um pequeno ícone animado.
Use o botão esquerdo (primário) do mouse sobre este ícone para restaurar a
janela do Kppp. O botão da direita (secundário) do mouse abrirá uma menu
de contexto que oferece as opções de restaurar a janela, mostrar estatísticas
de conexão ou terminar a conexão.</para>
<para>Esta opção tem precedência sobre <emphasis>Minimizar janela quando ligado</emphasis>.</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</sect1>
</chapter>

<chapter id="configurao-de-uma-conta">
<title>Configuração de uma Conta</title>

<sect1 id="pppd-arguments">
<title>Discagem</title>

<para><variablelist>
<varlistentry>
<term>Nome da Conexão</term>
<listitem>
<para>Você precisa dar um nome à conta.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Número de Telefone</term>
<listitem>
<para>Especifique o número de telefone a discar.
Você pode usar caracteres, como hífens, para deixar o número mais legível.
Se você concatenar uma série de números, separados por dois pontos (:), o
Kppp tentará estes números em seqüência, até encontrar um número que não
esteja ocupado.
Exemplo: 111-1111:222-2222:333-3333</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Autenticação</term>
<listitem>
<para>Escolha o método apropriado de autenticação que o Kppp
deve usar para obter acesso ao servidor. Verifique com seu provedor se ele
oferece suporte a PAP ou CHAP, ou se você tem de usar um script
ou talvez ainda login baseado em terminal.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Guardar senha</term>
<listitem>
<para>Selecione esta opção se você quer que o Kppp lembre
de sua senha na próxima sessão.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Executar Programa quando obter ligação</term>
<listitem>
<para>O Kppp tentará executar o comando
especificado aqui logo que o link PPP estiver ativo.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Executar Programa quando terminar ligação</term>
<listitem>
<para>idêntico ao item anterior, 
a não ser pelo evento disparador que nesse caso é o término do link.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Editar argumentos do PPP:</term>
<listitem>
<para>Esta opção
abre a janela com os argumentos do <literal remap="tt">pppd</literal>. Você pode adicionar aqui quaisquer
opções que você deseja que o Kppp passe ao <literal remap="tt">pppd</literal>. Tenha certeza de que a
opção -detach esteja sempre presente. Veja a página <literal remap="tt">man</literal> do <literal remap="tt">pppd</literal> para
obter uma lista das opções disponíveis. A não ser que você saiba exatamente
o que está fazendo, você deve evitar mexer nas opções do <literal remap="tt">pppd</literal>.</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</sect1>

<sect1 id="ip">
<title>IP</title>

<para><variablelist>
<varlistentry>
<term>Endereço IP Dinâmico</term>
<listitem>
<para>Habilite esta opção se seu provedor Internet usa 
atribuição dinâmica de endereços IP. Nesse caso, seu endereço IP será 
diferente a cada vez que você estabelece a conexão.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Endereço IP Estático</term>
<listitem>
<para>Habilite esta opção se seu provedor Internet lhe
fornece um enderço IP fixo.
Nesse caso você também terá de preencher o endereço e a máscara de sub-rede
se for o caso. Consulte seu provedor se estiver em dúvida nesse aspecto.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Auto-configurar nome da host a partir deste IP</term>
<listitem>
<para>Habilite esta opção
se você quer que o Kppp configure o nome da máquina (host) e do domínio depois
de estabelecer o link PPP.
Isto é feito via consulta reversa junto ao DNS; o nome da máquina é determinado
pelo endereço IP atribuído ao link PPP.
Esta opção é útil para máquinas isoladas que querem usar protocolos como 
<literal remap="tt">talk</literal>, que requerem que o nome de sua máquina seja coerente com o nome
pelo qual sua máquina é conhecido na Internet.
Esta opção tem precedência sobre a opção Nome de Domínio, na seção DNS.
O nome original da máquina é restaurado assim que o link PPP é encerrado.
Tenha cuidado se for habilitar esta opção: Ela pode ser útil para você, 
mas também pode causar muitos efeitos colaterais indesejáveis.</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</sect1>

<sect1 id="dns">
<title>DNS</title>

<para><variablelist>
<varlistentry>
<term>Nome de Domínio</term>
<listitem>
<para>Especifique o nome de domínio para a sua máquina.
Assim como os endereços DNS, ele é restaurado ao estado original, conforme
<literal remap="tt">/etc/resolv.conf</literal>, quando a conexão é terminada.
Se este campo é deixado em branco, nenhuma mudança é feita ao nome de 
domínio, e ele permanece tal como especificado em <literal remap="tt">/etc/resolv.conf</literal>.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Servidores DNS</term>
<listitem>
<para>Adicione os servidores de domínio, de acordo com o 
prescrito pelo seu provedor Internet. Você precisa especificar pelo menos um
servidor DNS para ser capaz de usar endereços textuais da Internet como 
<literal remap="tt">ftp.kde.org</literal>. O servidor DNS deve ser fornecido na forma numérica, como
por exemplo 128.231.231.233. Os endereços serão adicionados ao arquivo
<literal remap="tt">/etc/resolv.conf</literal> em tempo de execução.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Desativar servidores DNS existentes durante a conexão</term>
<listitem>
<para>Selecione esta
opção se você quer que o Kppp desabilite os servidores de domínio listados em
<literal remap="tt">/etc/resolv.conf</literal> durante a conexão. </para>
</listitem>
</varlistentry>
</variablelist>
</para>
</sect1>

<sect1 id="gateway">
<title>Gateway</title>

<para><variablelist>
<varlistentry>
<term>Gateway Padrão</term>
<listitem>
<para>Selecione esta opção se você quer que o <literal remap="tt">pppd</literal> use o
Gateway padrão da sua máquina.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Gateway Estático</term>
<listitem>
<para>Selecione esta opção se você quer especificar o
Gateway a ser usado.</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</sect1>

<sect1 id="script-de-login">
<title>Script de Login</title>

<para><variablelist>
<varlistentry>
<term>Editar Script</term>
<listitem>
<para>Use esta janela de diálogo para escrever um script de 
conexão ao seu provedor. Utilize o mini-terminal e as
informações fornecidas pelo seu provedor Internet para entender em que
seqüência as ações devem ser executadas.</para>
<para><itemizedlist>
<listitem>
<para><literal remap="tt">Expect:</literal> o Kppp esperará pela recepção do texto
especificado;</para>
</listitem>
<listitem>
<para><literal remap="tt">Send:</literal> o Kppp transmitirá o texto especificado;</para>
</listitem>
<listitem>
<para><literal remap="tt">Scan:</literal> o Kppp varrerá os dados recebidos à procura do texto 
especificado, e irá
armazenar todos os caracteres depois desse texto até o fim da linha num buffer
interno. Espaços em branco iniciais e finais serão desprezados;</para>
</listitem>
<listitem>
<para><literal remap="tt">Save:</literal> gravar o texto previamente varrido no registro espcificado. 
Por enquanto, o único registro chama-se 'password';</para>
</listitem>
<listitem>
<para><literal remap="tt">Pause:</literal> fazer uma pausa pelo número especificado de segundos;</para>
</listitem>
<listitem>
<para><literal remap="tt">Hangup:</literal> o Kppp fará o modem desconectar;</para>
</listitem>
<listitem>
<para><literal remap="tt">Answer:</literal> o Kppp fará o modem esperar por ligações externas;</para>
</listitem>
<listitem>
<para><literal remap="tt">Timeout:</literal> muda o timeout (tempo máximo de espera) padrão para o número
de segundos especificado
durante a execução do script. Você pode mudar o timeout várias vezes durante
a execução de um script, se for necessário;</para>
</listitem>
<listitem>
<para><literal remap="tt">Prompt:</literal> Pede ao usuário do Kppp para digitar um texto, e fornece o 
texto especificado como dica. As letras vão aparecendo à medida em que são
digitadas. Se o texto especificado inclui dois sustenidos (&num;&num;), eles serão
substituídos pelo buffer de varredura;</para>
</listitem>
<listitem>
<para><literal remap="tt">PWPrompt:</literal> Pede ao usuário que digite um texto, e mostra o texto
especificado como dica. Um asterisco será mostrado para cada caractere 
digitado, o que torna esse recurso ideal para digitação de senhas;</para>
</listitem>
<listitem>
<para><literal remap="tt">ID:</literal> Se o campo ID (identificação) da janela principal do Kppp estiver
preenchido, este
comando manda o ID. Se o campo não estiver preenchido, pede ao usuário que
digite um ID, e mostra o texto especificado como dica. O usuário verá
o que digita.  Num segundo passo, como por exemplo na segunda tentativa de
login, o sistema pede ao usuário que digite o ID independentemente do campo
ID da janela principal;
</para>
</listitem>
<listitem>
<para><literal remap="tt">Password:</literal> Se o campo 'senha' da janela principal do Kppp estiver
preenchido, manda aquela senha. Se não estiver preenchido, o sistema pede
que o usuário digite a senha, e mostra o texto especificado como
dica. Um asterisco será impresso para cada caractere digitado.
Num segundo passo, como por exemplo na segunda tentativa de login, o
Kppp pede ao usuário que digite a senha independente do campo 'senha' da
janela principal estar ou não preenchido;
</para>
</listitem>
<listitem>
<para><literal remap="tt">LoopStart:</literal> o Kppp aguardará pelo texto especificado. Ele armazenará
este texto pois será usado por LoopEnd.
</para>
</listitem>
<listitem>
<para><literal remap="tt">LoopEnd:</literal> o Kppp aguardará pelo texto especificado para sair do ciclo.
Se o texto especificado por LoopStart for recebido primeiro, a primeira linha
de comando após LoopStart assumirá o comando do script. Isso permite a 
repetição de digitação de nome/senha em caso de erro na primeira tentativa.</para>
</listitem>
</itemizedlist>
</para>
</listitem>
</varlistentry>
</variablelist>
</para>

<sect2 id="scripts-de-exemplo">
<title>Scripts de exemplo</title>

<para>Este é um script bem simples que eu poderia usar para conectar-me ao meu
provedor Internet:</para>

<para><screen>Expect      ID:                        # aguarda por ID:
Send        acme                       # Coloque sua ID aqui em lugar de acme
Expect      word:                      # aguarda por 'password'
Send        4u3fjkl                    # manda minha senha '4u3fjkl'
Expect      aceito                     # meu provedor aceitou a conexão
Send        ppp                        # Inicia o PPP do lado do provedor
</screen>
</para>

<para>Eis um script para a mesma conta, mas com digitação manual de identificação
e senha. Este script solicitará a digitação do ID e da senha a cada conexão,
não importa se os campos ID e senha estão preenchidos na janela principal
do Kppp. Este script também ilutra o uso da estrutura LoopStart/LoopEnd. Se
alguma coisa der errado durante o procedimento de login, por exemplo se eu
digitar a senha errada, meu provedor Internet mandará uma mensagem de
erro e reiniciará o ciclo de identificação/senha ao mostrar o texto "ID:"
novamente. Se o texto "ID:" for detectado antes do comando LoopEnd, Kppp 
recomeçará a executar o script desde o comando LoopStart.</para>

<para><screen>LoopStart   ID:                        # Aguarda pelo texto 'ID:'
Prompt      Enter ID:                  # Pede que eu digite o ID, e transmite
Expect      word:                      # aguarda pelo texto 'password'
PWPrompt    Digite Password:           # Pede que eu digite a senha, e transmite
LoopEnd     Aceito                     # O provedor deu sinal verde
Send        ppp                        # Inicia uma conexão PPP para mim
</screen>
</para>

<para>Aqui vai o script que eu realmente uso para conectar com meu provedor: este
script pede a identificação e a senha somente se eles não estiverem
preenchidos nos respectivos campos da janela principal do Kppp.</para>

<para><screen>LoopStart   ID:                        # aguarda pelo texto 'ID:'
ID          Digite ID:                 # Pede-me o ID e transmite
Expect      word:                      # aguarda pelo texto 'password'
Password    Digite senha               # Pede-me a senha e transmite
LoopEnd     aceito                     # O provedor aceitou a senha
Send        ppp                        # Inicia minha conexão PPP na
                                       # máquina do provedor
</screen>
</para>

<para>Eis um script que eu uso para conectar com um provedor Internet, que usa um
esquema de autenticação de desafio/resposta. Normalmente você ganha um
dispositivo de hardware (um cartão com um display e teclas 
numéricas) de seu provedor. Você precisa saber a senha para usar o dispositivo.
Depois de ter discado, o provedor mostra o texto de desafio. Você digita esse
desafio em seu dispositivo e recebe uma senha como resposta. Então você deve
digitar essa senha.</para>

<para><screen>LoopStart   ID:                        # Aguarda pelo texto "ID:"
ID          Digite ID:                 # Pede que eu digite o ID e transmite-o
Scan        Desafio:                   # Varre 'Desafio:' e guarda o que vem 
                                       # depois dele até o fim da linha;
Expect      Senha:                     # Aguarda pelo texto 'Senha:'
Prompt      seu desafio é ## - Digite Senha
                                       # Pede que eu digite a senha, e transmite
LoopEnd     concedido                  # O provedor dá sinal verde
Send        ppp                        # Inicia a conexão PPP no lado do
                                       # provedor
</screen>
</para>

<para>A listagem a seguir mostra o procedimento de login de um provedor Internet
fictício, que fornece uma nova senha a cada login. A nova senha precisa ser
verificada e guardada para a próxima sessão.</para>

<para><screen>Universidade de Gomorra

Login: satiro
Password: 
A senha para sua próxima sessao é: YLeLfkZb
Por favor anote-a e digite para verificacao.
Verificação:YLeLfkZb

1 = telnet
2 = SLIP
3 = PPP

Sua escolha:
</screen>
</para>

<para>Kppp pode ser usado para fazer o trabalho tedioso por você, e elimina o
risco de perder aquele pequeno pedaço de papel onde está escrita a sua senha
atual. A parte chave do script a seguir é uma combinação das palavras-chave
Scan e Save.
<screen>Expect      Login:                     # aguarda pelo texto "Login:"
ID                                     # transmite a identificação
Expect      Password:                  # aguarda pelo texto "Password:"
Password                               # transmite a senha
Scan        é:                         # aguarda por '... proxima sessao é:' e
                                       # guarda a próxima senha
Save        password                   # grava a nova senha para usar depois
Expect      Verificacao:               # aguarda o texto 'Verification:'
Password                               # manda nova senha
Expect      escolha:                   # aguarde por um prompt de escolha
                                       # entre várias opções (telnet, SLIP, PPP)
Send        3                          # escolhe a opção 3, que é o PPP
</screen>
</para>
</sect2>
</sect1>

<sect1 id="contabilidade">
<title>Contabilidade</title>

<para><variablelist>
<varlistentry>
<term>Configuração da Contabilidade</term>
<listitem>
<para>Use o botão <literal remap="tt">Ativar Contabilidade</literal>
para ligar/desligar a contabilidade de custos telefônicos. Selecione uma regra
apropriada para sua região. Se você não encontrar uma regra para usa região
você pode escrever uma nova, seguindo o <literal remap="tt">TEMPLATE</literal> (modelo) no diretório
<literal remap="tt">&dollar;(KDEDIR)/share/doc/HTML/en/kppp/</literal>. Não tenha medo de fazê-lo,
pois é realmente fácil. Não esqueça de mandar-me suas regras recém-criadas. 
A sintaxe das regras pode ser checada com a opção de linha de comando 
<literal remap="tt">kppp -r rule&lowbar;file</literal>. O arquivo deve ser movido para 
<literal remap="tt">&dollar;(KDEDIR)/share/apps/kppp/Rules</literal> ou em
<literal remap="tt">&dollar;(HOME)/.kde/share/apps/kppp/Rules</literal> para que você possa
achá-lo na janela de diálogo.</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</sect1>

<sect1 id="contabilidade-de-volume">
<title>Contabilidade de Volume</title>

<sect2 id="o-que-contabilidade-de-volume">
<title>O que é contabilidade de volume ?</title>

<para>É basicamente a contagem do número de bytes transferidos de/para a Internet.
O Kppp pode manter a conta dos bytes transmitidos, recebidos ou ambos. É você
quem escolhe o que quer (ou precisa) controlar.</para>
</sect2>

<sect2 id="porque-eu-deveria-usar-contabilidade-de-volu">
<title>Porque eu deveria usar contabilidade de volume ?</title>

<para>Porque hoje em dia muitos provedores Internet começam a cobrar de seus
clientes pelo número de bytes transferidos. Ou muito freqüentemente os 
provedores estabelecem um limite arbitrário de transferência, e começam a
cobrar pelo volume acima desse limite. O Kppp mostra seu volume atual e
pode ajudá-lo a manter suas contas mais baratas. É claro, se você não
tem limites de volume e você estiver curioso, também pode usar esse controle.</para>
</sect2>

<sect2 id="que-tipo-de-contabilidade-de-volume-eu-dever">
<title>Que tipo de contabilidade de volume eu deveria usar ?</title>

<para>Isso depende de seu provedor. Muitos deles contam somente quantos megabytes
você recebeu da Internet e desprezam o quanto você mandou. Nesse caso você
deve escolher "bytes recebidos". Se você paga por ambos você deve escolher
"bytes recebidos e enviados".</para>
</sect2>

<sect2 id="problemas">
<title>Problemas</title>

<para>Infelizmente há alguns problemas com a contabilidade de volume. O Kppp 
contará o número de bytes independentemente da origem. Muitos provedores
estabelecem limites ao acesso à Internet, não ao acesso da sua rede local.
Portanto, se você surfa pouco na Web e utiliza um cache proxy, o proxy
residirá dentro da rede de seu provedor, e ele não lhe cobrará pelos bytes
transferidos do seu cache proxy. No entanto, o Kppp não sabe que esses
pacotes IP estão vindo do proxy, e contá-los-á como se fossem da Internet.
Portanto, se você usa um proxy, ou seu provedor usa um cache de servidor de
notícias (como nntpcached), o volume reportado por Kppp será maior que o
cobrado.</para>
</sect2>
</sect1>
</chapter>

<chapter id="usando-o-kppp">
<title>Usando o Kppp</title>

<sect1 id="opes-de-linha-de-comando">
<title>Opções de Linha de Comando</title>

<para>O Kppp oferece as seguintes opções de linha de comando:</para>

<para><screen>% wuebben: kppp -h
% kppp -- Opções válidas:
% -h descreve as opções de linha de comando
% -c &lt;nome da conta&gt; : conectar à conta &lt;nome da conta&gt;
% -r &lt;arquivo de regras&gt;: verificar sintaxe do &lt;arquivo de regras&gt;
% -q sair logo que a conexão terminar
</screen>
</para>

<para><itemizedlist>
<listitem>
<para> <literal remap="tt">-h</literal> descreverá as opções de linha de comando existentes;</para>
</listitem>
<listitem>
<para> <literal remap="tt">-c</literal> tentará conectar sem mostrar a janela principal do kppp.
Esta opção vai interessar aos impacientes;</para>
</listitem>
<listitem>
<para> <literal remap="tt">-r</literal> verificará a sintaxe das regras. Isso é muito útil se você
for escrever arquivos de regras de contabilidade de telefonia.</para>
</listitem>
</itemizedlist>
</para>
</sect1>

<sect1 id="utilizao-normal">
<title>Utilização Normal</title>

<para>Está por ser escrito .... ( Tenha certeza de incluir aqui toda a informação
necessária das janelas do kppp e criar uma conta antes de usar o Kppp )</para>
</sect1>
</chapter>

<chapter id="dicas-e-truques-do-modem">
<title>Dicas e truques do Modem</title>

<para>Esta seção pretende introduzir os novatos na arte negra (nem tanto) da
configuração do modem. Os comandos listados arqui são todos do padrão
Hayes, mas alguns modems em particular podem recusar alguns comandos.</para>

<sect1 id="sesses-do-modem">
<title>Sessões do Modem</title>

<para>Uma sessão do modem permite a você "conversar" diretamente com o modem.
Você digita comandos, e ele responde. Para obter uma sessão do modem,
quando nenhuma conexão está ativa, abra a janela 
<literal remap="tt">Configurações/Modem/Terminal</literal>. Tente digitar <emphasis remap="bf">ATZ</emphasis> (que
reseta seu modem). Você deve obter uma resposta igual a <emphasis remap="bf">OK</emphasis>.
Escolha <literal remap="tt">Arquivo/Sair</literal> para terminar a sessão.</para>
</sect1>

<sect1 id="configuraes-padres-profiles-do-modem">
<title>Configurações Padrões (profiles) do Modem</title>

<para>Uma razão plausível para mandar comandos diretamente ao modem seria você
ter um conjunto de configurações que você quer manter, mas não quer 
especificar a cada conexão. Uma boa maneira de fazer isto é usar as
configurações padrões (profiles) do modem. Os modems podem ter vários
profiles armazenados, e numerados como 0,1,... <emphasis remap="bf">AT&amp;V</emphasis> pode ser
usado para vê-las todas. O profile utilizado por padrão é geralmente o 0 (zero),
mas isto pode ser mudado via <emphasis remap="bf">AT&amp;Y</emphasis>. A configuração padrão em
uso é chamada de "ativa", ou "profile ativo".</para>

<para>Quando você muda uma configuração, obviamente o modem passa a se comportar de
acordo com ela. Mas, o comando <emphasis remap="bf">ATZ</emphasis> faz o modem recarregar a 
configuração padrão, desfazendo todas as mudanças. Para salvar mudanças num
profile, carregue o profile que você quer mudar com <emphasis remap="bf">ATZ<emphasis>n</emphasis></emphasis>, onde
<emphasis>n</emphasis> é o número do profile. Faça as mudanças desejadas, então salve a
configuração com <emphasis remap="bf">AT&amp;W<emphasis>n</emphasis></emphasis>. Para que o Kppp use o profile
escolhido por você, mude o texto de inicialização
(<literal remap="tt">Configurações/Modem/Comandos do Modem/Cadeia de Inicialização</literal>). 
Por exemplo, <emphasis remap="bf">ATZ1</emphasis> fará o Kppp inicializar o modem e usar o profile
número 1.</para>

<para>Se você quer que o profile volte à configuração de fábrica, use 
<emphasis remap="bf">AT&amp;F&amp;W</emphasis> para voltar o profile atual ao padrão de fábrica.</para>

<para>Exemplo de mudanças de profile podem ser encontrados na próxima seção.</para>
</sect1>

<sect1 id="fazendo-o-modem-desconectar">
<title>Fazendo o modem desconectar</title>

<para>Às vezes você pode achar que o Kppp tem dificuldades em fazer o modem 
desconectar. Isso é provavelmente o resultado de uma inconsistência entre 
as configurações do Kppp e de seu modem. Um modem padrão aceita dois métodos
de desconexão: Comando, e DTR. O método do Comando implica em mandar ao
modem uma seqüência de escape, que coloca-o em modo de comando; e então,
mandar o comando de desconexão (ATH).</para>

<para>Fora do Kppp, quando configurando o pacote <literal remap="tt">pppd</literal> manualmente, é muito útil
utilizar o método de Comando, pois ele permite sair da sessão de terminal,
e carregar o <literal remap="tt">pppd</literal> sem desconectar o modem. Já na maioria das outras 
situações, o método DTR é preferido, por ser mais simples.</para>

<sect2 id="mtodo-dtr-atdn">
<title>Método DTR (AT&amp;Dn) </title>

<para>O método DTR fará o modem desconectar tão logo o Kppp pare de usar o modem.
Se você acessar o modem em modo de comando via emulador de terminal, 
consultar seu estado via AT&amp;V, e uma das linhas da configuração atual
for igual a &amp;D0, então o método de desconexão DTR está desligado. Para
habilitar o método DTR, use a opção <literal remap="tt">Configuração/Mais/Terminal</literal> para 
acessar o modem. Então:</para>

<para><screen>ATZ         # reseta o modem para a sua configuração padrão
AT&amp;D2       # Configura para desconectar na &lt;em/queda/ do DTR
AT&amp;W        # Grava na configuração padrão (profile)
</screen>
</para>

<sect3 id="como-funciona-o-mtodo-dtr">
<title>Como funciona o método DTR</title>

<para>Quando o fio Data Terminal Ready (DTR) do cabo serial entre o computador e
o modem é alimentado com 0 (zero) volts pelo computador,
o modem é desconectado. Quando o Kppp começa a fazer uso da porta serial, o
fio DTR é alimentado com -5 (menos cinco) volts pelo computador. Num modem
externo, você pode ver a lâmpada DTR (ou TR) acender quando isso acontece. 
Quando a lâmpada TR apaga (pelo fato do Kppp ter fechado a porta serial, ou
talvez alguma coisa pior, como um cabo solto), o modem desconectará da linha
telefônica.</para>

<para>Note que não nos importa a voltagem de conexão / desconexão. O que importa é
sabermos que esta é uma forma prática do computador dizer ao modem quando
ele deve desconectar.</para>
</sect3>
</sect2>

<sect2 id="mtodo-de-comando">
<title>Método de Comando</title>

<para>A outra maneira para fazer o modem desconectar é fazer o modem aceitar um
comando enquanto estiver conectado. Para fazê-lo desconectar dessa forma,
entre numa sessão de comunicação direta com o modem (usando o Terminal, da
mesma forma que alguns parágrafos acima), e mude o tempo de segurança para
um intervalo curto como:</para>

<para><screen>ATZ
ATS12=5
AT&amp;W
</screen>
</para>

<para>Então calibre o controle <literal remap="tt">Configurações/Mais/Comandos do Modem/Tempo de
Guarda</literal> até que fique igual a 5 (cinco), ou seja, idêntico ao registrador
S12. Agora o modem deve desconectar corretamente.</para>

<sect3 id="como-funciona-o-mtodo-de-comando">
<title>Como funciona o método de Comando</title>

<para>Quando um modem local está conectado a um modem remoto, ele está no estado
de <emphasis>conexão</emphasis>, onde todos os caracteres que ele recebe pela porta serial
são incontinenti repassados ao modem remoto. </para>

<para>Para que o modem aceite comandos, é preciso colocá-lo no estado ou modo de
<emphasis>comando</emphasis>. O <emphasis>código de escape</emphasis> faz justamente isso.</para>

<para>O código de escape é definido como uma seqüência de três eventos:</para>

<para><itemizedlist>
<listitem>
<para>Silêncio (deve ser maior que S12/50 segundos);</para>
</listitem>
<listitem>
<para>Caractere de escape (definido pelo registrador S2, o padrão é "+"); 
deve ser repetido por três vezes (menos de S12/50 segundos entre eles);</para>
</listitem>
<listitem>
<para>Silêncio (maior que S12/50 segundos).
</para>
</listitem>
</itemizedlist>
</para>

<para>Uma vez que o modem esteja no modo de comando, você pode mandar comandos
a ele :) Para fazê-lo desconectar, transmita o comando ATH. Os códigos de
escape e comando de desconexão utilizados pelo Kppp são mostrados na janela
<literal remap="tt">Configurações/Mais/Comandos do Modem</literal>. Eles devem ser próprios a
seu modem.</para>
</sect3>
</sect2>
</sect1>

<sect1 id="torne-mais-rpida-a-discagem-por-tom">
<title>Torne mais rápida a discagem por tom</title>

<para>Se você pode usar discagem de tom, o tempo que a discagem toma pode ser mudado
atuando-se sobre o registrador S11. Ele contém a duração (em centésimos de
segundo) de cada tom numérico que é soado durante a discagem. O padrão é 
geramente 95 (quase um segundo). A velocidade máxima de discagem depende da
sua companhia telefônica. A tempo mínimo é 50, quase duas vezes mais rápido,
e quase sempre funciona bem.</para>

<para><screen>ATZ		# reseta o modem para sua configuração padrão.
ATS11=50	# a mais rápida discagem possível, 
                # use um número maior se não funcionar.
AT&amp;W            # Salvar no profile.
</screen>
</para>
</sect1>
</chapter>

<chapter id="pap-e-chap">
<title>PAP e CHAP</title>

<para>A partir da versão 0.9.1 o Kppp suporta diretamente a forma mais utilizada
da autenticação PAP. A seção "PAP e CHAP com Kppp" descreve como fazer o
PAP e o CHAP trabalharem com o Kppp em linhas gerais, enquanto a seção
"PAP com Kppp" descreve em detalhes como tirar vantagem do suporte do
Kppp à versão do PAP mais disseminada entre os provedores Internet.</para>

<sect1 id="pap">
<title>PAP e CHAP com o Kppp</title>

<para>O texto a seguir é baseado num email de
<ulink url="kbrown@pdq.net">Keith Brown</ulink>
e explica como fazer o Kppp funcionar com uma conta PAP ou CHAP genérica.
Se seu provedor Internet lhe forneceu somente uma identificação de usuário
e uma senha para uma conta PAP, é provável que você possa pular esta seção
e lhe será suficiente ler a próxima ("PAP com Kppp").</para>

<para>O PAP parece muito mais complicado à primeira vista do que ele realmente é.
O servidor (a máquina à que você se conecta) basicamente diz à máquina-cliente
(sua máquina) para autenticar-se usando PAP. O cliente (pppd) procura num
arquivo específico por uma linha que contenha o nome de servidor e o nome 
de cliente corretos para esta conexão, e então transmite a senha que
encontrou lá. E é isso! Agora, aqui está como fazer isso acontecer. Estou
assumindo uma versão 2.2.0 do <literal remap="tt">pppd</literal> e uma instalação padrão onde os arquivos
de configuração do <literal remap="tt">pppd</literal> estejam em <literal remap="tt">/etc/ppp</literal>.</para>

<para>Por exemplo, suponha que eu tenha uma conta Internet com o provedor 
<literal remap="tt">vagalume.com.br</literal>, com o nome de usuário <literal remap="tt">epx</literal>, e a senha <literal remap="tt">tahoma</literal>.
Primeiro, eu preciso adicionar tudo isso ao arquivo <literal remap="tt">/etc/ppp/pap-secrets</literal>. O formato da linha para o nosso propósito é:</para>

<para><screen>USUÁRIO   SERVIDOR     SENHA
</screen>
</para>

<para>então eu adiciono a linha</para>

<para><screen>epx  vagalume  tahoma
</screen>
</para>

<para>ao arquivo, e gravo. Nota: Eu posso usar qualquer nome que eu queira para
designar o servidor, desde que eu use o mesmo nome nos argumentos do <literal remap="tt">pppd</literal>,
conforme veremos dentro em pouco.
Eu encurtei o nome de servidor para <literal remap="tt">vagalume</literal>. Este nome é usado somente
para localizar a senha correta.</para>

<para>Agora, eu preciso configurar minha conexão no Kppp. O processo básico é 
o mesmo de qualquer conexão, e não vou entrar em detalhes aqui, exceto para
dizer que você deve certificar-se que o arquivo <literal remap="tt">/etc/ppp/options</literal> 
esteja vazio, e você provavelmente não quer script de login. Agora, na
janela Configurações, na parte inferior, está o botão 
<literal remap="tt">Editar Argumentos do PPPD</literal>.
Clique este botão para abrir uma janela similar à janela de edição do script
de login. 
Aqui nós vamos digitar alguns valores que serão informados ao <literal remap="tt">pppd</literal>
como argumentos de linha de comando, e no caso de haver vários argumentos,
nós precisamos digitar cada um como uma linha separada, e na ordem correta.</para>

<para>Nós podemos colocar quaisquer outros argumentos que quisermos primeiro.
Normalmente você vai deixar intactos os argumentos-padrões <literal remap="tt">-detach</literal> e
<literal remap="tt">defaultroute</literal>.
Agora precisamos adicionar argumentos que o <literal remap="tt">pppd</literal> necessita para lidar com
a autenticação PAP. Neste exemplo eu vou adicionar os parâmetros <literal remap="tt">user</literal>,
<literal remap="tt">epx</literal>, <literal remap="tt">remotename</literal>, e <literal remap="tt">vagalume</literal>, nesta ordem. O argumento
<literal remap="tt">user</literal> diz ao <literal remap="tt">pppd</literal> por que nome procurar em <literal remap="tt">pap-secrets</literal>, e mandá-lo
ao servidor. O argumento <literal remap="tt">remotename</literal> somente é usado pelo <literal remap="tt">pppd</literal> para 
achar a linha do arquivo <literal remap="tt">pap-secrets</literal>, e não é mandado ao servidor,
portanto, frisando, o nome de servidor pode ser qualquer um desde que
seja o mesmo do arquivo <literal remap="tt">pap-secrets</literal>.</para>

<para>Isso é tudo que precisa ser feito. O exemplo deve lhe fornecer subsídios para
configurar sua própria conexão a um servidor com autenticação PAP. O CHAP
não é muito diferente. Veja o Guia Linux para Administradores de Rede;
ele contém o formato do arquivo <literal remap="tt">chap-secrets</literal> e os argumentos <literal remap="tt">pppd</literal>
necessários. O resto deve ser fácil... </para>
</sect1>

<sect1 id="pap-com-kppp">
<title>PAP com Kppp</title>

<para>Há duas maneiras diferentes de usar PAP:</para>

<sect2 id="autenticao-no-lado-do-cliente">
<title>Autenticação no lado do cliente</title>

<para> 
Essa variante é usada por muitos provedores comerciais. Basicamente, 
significa que você (ou seu computador) deve autenticar-se ao
servidor PPP do provedor. O servidor PPP não precisa autenticar-se para
seu computador, e tipicamente isso não é necessário pois você sabe
a que computador está conectado, já que foi você quem iniciou a ligação.
Portanto, não há nenhum problema mais grave de segurança. O Kppp suporta
essa variante diretamente. Veja mais abaixo as instruções de uso.</para>

<para>Se o seu provedor só lhe fornece um nome de usuário e uma senha, e lhe diz
que você deve usar autenticação PAP, esta é a variante a ser usada.</para>
</sect2>

<sect2 id="autenticao-em-duas-vias">
<title>Autenticação em duas vias</title>

<para> 
Idêntica à anterior, mas seu computador requer que o servidor PPP do provedor
autentique a si mesmo. Para estabelecer uma conexão, você deve escolher 
o método de autenticação <emphasis remap="it">baseado em script</emphasis>, e não o <emphasis remap="it">PAP</emphasis>.
Você também terá de editar manualmente o arquivo
<literal remap="tt">/etc/ppp/pap-secrets</literal>. Apesar do Kppp não oferecer suporte direto
a essa variante, é fácil estabelecer uma conexão que utilize autenticação
em duas vias com o Kppp. Os detalhes estão descritos na seção anterior, 
"Usando PAP e CHAP com o Kppp".</para>
</sect2>

<sect2 id="preparando-o-kppp-para-pap">
<title>Preparando o kPPP para PAP</title>

<para><orderedlist><listitem>
<para> Tenha certeza que <literal remap="tt">/etc/ppp/options</literal> (e <literal remap="tt">&tilde;/.ppprc</literal> se
tiver um arquivo assim) <emphasis remap="bf">não</emphasis> contenha um dos argumentos abaixo:
<itemizedlist>
<listitem>
<para><literal remap="tt">+pap</literal></para>
</listitem>
<listitem>
<para><literal remap="tt">-pap</literal></para>
</listitem>
<listitem>
<para><literal remap="tt">papcrypt</literal></para>
</listitem>
<listitem>
<para><literal remap="tt">+chap</literal></para>
</listitem>
<listitem>
<para><literal remap="tt">+ua</literal></para>
</listitem>
<listitem>
<para><literal remap="tt">remotename</literal></para>
</listitem>
</itemizedlist>
</para>
<para>Dificilmente algum desses argumentos estará lá, mas não custa ter certeza.</para>
</listitem>
<listitem>
<para>Inicie o Kppp</para>
</listitem>
<listitem>
<para>Clique em <emphasis remap="it">Configuração</emphasis></para>
</listitem>
<listitem>
<para>Escolha a conta que você quer usar com PAP, e clique em <emphasis remap="it">Editar</emphasis></para>
</listitem>
<listitem>
<para>Clique na aba <emphasis remap="it">Discar</emphasis>.</para>
</listitem>
<listitem>
<para>Selecione <emphasis remap="it">PAP</emphasis> na caixa <emphasis remap="it">Autenticação</emphasis></para>
</listitem>
<listitem>
<para>Se você não quer redigitar a senha a cada vez que disca, selecione
<emphasis remap="it">Guardar Senha</emphasis>. Isto irá salvar a senha. Tenha certeza que ninguém
além de você tenha acesso à sua conta, do contrário alguém poderá ver a sua
senha.</para>
</listitem>
<listitem>
<para>É isso. Feche as janelas, digite seu nome de usuário e senha que seu
provedor lhe forneceu, e disque.</para>
</listitem>
</orderedlist>
</para>
</sect2>
</sect1>
</chapter>

<chapter id="perguntas-e-respostas">
<title>Perguntas e Respostas</title>

<sect1 id="perguntas-mais-frequentes">
<title>Perguntas mais freqüentes</title>

<sect2 id="no-consigo-fazer-o-kppp-trabalhar.-ele-me-di">
<title>Não consigo fazer o Kppp trabalhar. Ele me diz que o <literal remap="tt">pppd</literal> morreu
ou o timeou expirou!  </title>

<para>Você leu este manual com cuidado ? Aqui estão listados, novamente,
os erros mais comuns:</para>

<para><itemizedlist>
<listitem>
<para> Tenha certeza que o <literal remap="tt">pppd</literal> é o binário real, e não um script;
</para>
</listitem>
<listitem>
<para> Tenha certeza que o arquivo <literal remap="tt">/etc/ppp/options</literal> exista, mas que
esteja vazio;
</para>
</listitem>
<listitem>
<para> Tenha certeza que você NÃO esteja usando a opção "lock" como argumento
para o <literal remap="tt">pppd</literal> (Kppp já está cuidando do travamento do dispositivo);
</para>
</listitem>
<listitem>
<para> Remova a opção "lock" dos seus arquivos
<literal remap="tt"> /etc/ppp/options </literal> e
<literal remap="tt"> &tilde;/.ppprc</literal>;
</para>
</listitem>
<listitem>
<para> Tenha certeza que você tem as permissões corretas. Em caso de problemas,
você pode tentar rodar o Kppp como superusuário. Se tudo estiver OK, dê
uma permissão suficiente ao usuário, se não puder conviver com o Kppp em
setuid "root". A maneira correta de proceder é criar um grupo "modem";
</para>
</listitem>
<listitem>
<para> Você pode estar iniciando o <literal remap="tt">pppd</literal> muito cedo, isto é, antes do
servidor remoto estar pronto para negociar uma conexão PPP. Se você está 
usando um script de login, você deve usar o terminal embutido no Kppp para
verificar seu procedimento de login. alguns provedores requerem que você
mande um comando "ppp" para iniciar o PPP. Alguns usuários relataram que
tiveram de acrescentar "Pause 1" ou "Pause 2" aos seus scripts, para 
solucionar conflitos de tempo.
</para>
</listitem>
</itemizedlist>
</para>

<para>Se nada disso ajudar, você pode obter alguma informação adicional de depuração
do log do seu sistema, digitando o seguinte comando:
<screen>% tail /var/log/messages
</screen>
</para>
</sect2>

<sect2 id="o-kppp-me-diz-desculpe-no-consegui-localizar">
<title>O Kppp me diz -- Desculpe, não consegui localizar o modem</title>

<para>Isto significa que o Kppp não tem permissão para abrir o dispositivo de
modem ou que você selecionou um dispositivo de modem (na aba <literal remap="tt">Modem</literal> da
janela Configurações) que não é válido. Primeiro tenha certeza que você
selecionou o dispositivo correto. Uma vez que você tenha certeza disso,
você precisa dar ao Kppp a permissão correta para acessar o modem e 
para poder modificar o arquivo <literal remap="tt">/etc/resolv.conf</literal> no caso de você
querer que o Kppp configure o DNS por você. Se o Kppp puder rodar com
permissão (setuid) de root (superusuário), todos esses problemas ficam
automaticamente
resolvidos, do contrário você terá de configurar as permissões corretamente.
Para dar ao Kppp permissão de root, faça o seguinte:</para>

<para><screen>% su root
% chown root:root &dollar;(KDEDIR)/bin/kppp
% chmod +s &dollar;(KDEDIR)/bin/kppp
% exit
</screen>
</para>
</sect2>

<sect2 id="o-kppp-me-diz-que-no-posso-criar-o-arquivo-d">
<title>O Kppp me diz que não posso criar o arquivo de travamento do modem</title>

<para>Isto na maioria das vezes significa que você instalou o Kppp
sem permissão de superusuário (SETUID bit) e que você, a pessoa
que está executando Kppp, não tem permissão de escrita para o
diretório de arquivos de travamento (normalmente é <literal remap="tt">/var/lock</literal>.
Este é por exemplo o caso dos sistemas RedHat. Verifique a janela
Modem para determinar a  localização precisa que você escolheu. 
A solução é facil - ou dê permissões de root ao Kppp (setuid), ou
dê a usuários comuns permissão de escrita ao diretório <literal remap="tt">/var/lock</literal>,
ou ainda crie um grupo <literal remap="tt">modem</literal> que tenha acesso ao diretório 
<literal remap="tt">/var/lock</literal>.</para>
</sect2>

<sect2 id="por-que-o-kppp-instalado-com-permisses-de-ro">
<title>Por que o Kppp é instalado com permissões de root (setuid) ?</title>

<para>Não há necessidade de deixar o Kppp assim, se você conhece um pouco
de administração de sistemas Unix. Crie um grupo <literal remap="tt">modem</literal>, e inclua
nesse grupo todos os usuários a quem você quer dar acesso ao modem;
faça com que esse grupo tenha permissões de leitura e escrita sobre o
dispositivo do modem; e se você quer que a configuração automática do
DNS funcione com o Kppp, então dê ao grupo permissões de leitura/escrita
sobre o arquivo <literal remap="tt">/etc/resolv.conf</literal>.</para>

<para>Por favor não me critique por instalar o Kppp com permissões de root; eu
simplesmente não posso mais lidar com o volume de e-mail que eu recebia
de usuários desesperados que tinham problemas em fazer o Kppp funcionar,
simplesmente porque eles não sabiam o suficiente sobre o Unix e sobre permissões
de dispositivo.</para>
</sect2>

<sect2 id="o-kppp-fica-eternamente-esperando-ok">
<title>O Kppp fica eternamente -- esperando OK</title>

<para>Você mexeu nas configurações de CR/LF ?</para>

<para>Talvez seu modem não suporte uma inicialização rápida. Aumente a
<literal remap="tt">Demora de Resposta</literal>, que pode ser encontrada em <literal remap="tt">Comandos do Modem</literal>
na aba <literal remap="tt">Modem</literal>. Você pode fazer algum ajuste fino mais tarde.</para>
</sect2>

<sect2 id="como-eu-fao-o-kppp-mandar-um-caractere-lf-ou">
<title>Como eu faço o Kppp mandar um caractere LF ou um CR ?</title>

<para>Basta mandar um texto vazio; veja o exemplo:
<screen>Send                                   # manda um texto vazio
Expect      ID:                        
Send        sou_eu                     
Expect      word:                      
Send        esqueci                    
Expect      aceito                    
Send        ppp                        
                                       
</screen>
</para>
</sect2>

<sect2 id="o-kppp-reclama-...-no-consegui-criar-arquivo">
<title>O Kppp reclama -- ... Não consegui criar arquivo de travamento ...</title>

<para>Isto significa que você não tem permissões para criar um arquivo de trava.
Se, por exemplo, você especificou <literal remap="tt">/var/lock/LCK..modem</literal> na aba
do Modem, você precisa ter permissões de escrita para gravar no diretório
<literal remap="tt">/var/lock</literal>. Isso não será problema se você deu ao Kppp permissões
de setuid root. Por favor leia a seção <link linkend="lock-files">Arquivos de Travamento</link>.</para>
</sect2>

<sect2 id="posso-usar-pap-e-chap-como-o-kppp">
<title>Posso usar PAP e CHAP como o Kppp ?</title>

<para>Sim, você pode. Leia a seção
<link linkend="PAP">PAP e CHAP</link> . Na verdade, recebo mais e mais
requisições de informações detalhadas sobre como usar o PAP ou o CHAP com
o Kppp. Se você estiver usando um  dos dois protocoelos com o Kppp, eu
gostaria muito de receber explanações detalhadas sobre como usar PAP ou
CHAP com o Kppp. Eu irei então incluir o que receber aqui na documentação
do Kppp. Tenho certeza de que será de muita ajuda para um grande número
de iniciantes. Por favor considere ajudar e devolver algo ao Kppp... Obrigado!</para>
</sect2>

<sect2 id="como-eu-escrevo-um-arquivo-de-regras-de-cust">
<title>Como eu escrevo um arquivo de regras de custo telefônico ?</title>

<para>Siga o arquivo TEMPLATE (exemplo) que é suprido com o Kppp. Você deve
encontrar uma cópia no diretório
<literal remap="tt">&dollar;(KDEDIR)/doc/HTML/kppp</literal>. 
Use o comando de linha <literal remap="tt">kppp -r</literal> para checar a sintaxe de seu novo
arquivo de regras.</para>
</sect2>

<sect2 id="eu-escrevi-um-arquivo-de-regras-de-custo-tel">
<title>Eu escrevi um arquivo de regras de custo telefônico para minha
região. Como posso submetê-lo de modo que outros possam fazer uso dele ?</title>

<para>Eu adoraria receber qualquer arquivo de regras que for escrito. Eu vou
torná-los disponíveis em minha
<ulink url="http://math.cornell.edu/~wuebben/kppp/kppp.html">página web</ulink>.
Antes de você me mandar um novo arquivo de regras, certifique se que ele
não esteja ainda disponível na página Web do Kppp. Então mande via e-mail o
arquivo, para 
<ulink url="mailto:wuebben@math.cornell.edu">mim</ulink>.</para>
</sect2>

<sect2 id="meu-pas-tem-um-feriado-mvel-diferente-da-psc">
<title>Meu país tem um feriado móvel diferente da Páscoa.</title>

<para>Neste caso você precisa escrever código novo que calcule esse feriado. Dê uma
olhada no arquivo-fonte <literal remap="tt">ruleset.cpp</literal> e baseie-se no exemplo da Páscoa
("easter"). 
Depois, mande a atualização para
<ulink url="mailto:wuebben@math.cornell.edu">mim</ulink>.</para>
</sect2>
</sect1>
</chapter>

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

<para>Eu gostaria de agradecer as seguintes pessoas por suas contribuições ao
Kppp:</para>

<para><itemizedlist>
<listitem>
<para><ulink url="mailto:jesus.fuentes@etsi.tel.uva.es">Jesus Fuentes Saaverdra</ulink> 
por ter implementado diversas opções e itens diversos.
</para>
</listitem>
<listitem>
<para><ulink url="mailto:mweilguni@sime.com">Mario Weilguni</ulink> 
pelo seu trabalho em contabilidade de telefonia.
</para>
</listitem>
<listitem>
<para><ulink url="mailto:wuebben@eure.de">Markus Wuebben</ulink> 
pela janela de consulta ATI.</para>
</listitem>
<listitem>
<para><ulink url="mailto:porten@tu-harburg.de">Harri Porten</ulink> 
por seu trabalho relacionado ao kconfig.
</para>
</listitem>
<listitem>
<para><ulink url="mailto:peter.silva@videotron.ca">Peter Silva</ulink>
pelas janelas de diálogo e outras contribuições.</para>
</listitem>
</itemizedlist>
</para>
</chapter>

<chapter id="apndice">
<title>Apêndice</title>

<sect1 id="conjunto-de-comandos-dos-modems-hayes">
<title>Conjunto de comandos dos modems Hayes</title>

<para><ulink url="hayes.html">O conjunto de comandos Hayes</ulink> pode ser útil
se você precisar fazer uma "sintonia fina" em seus comandos de modem.</para>
</sect1>

<sect1 id="arquivos-relacionados-ao-kppp">
<title>Arquivos relacionados ao Kppp</title>

<para>Por padrão o Kppp faz uso dos arquivos e diretórios abaixo. A localização 
de alguns deles pode ser mudada em tempo de compilação.</para>

<para><screen>&dollar;(KDEDIR)/bin/kppp
&dollar;(KDEDIR)/share/doc/HTML/.../kppp/*
&dollar;(KDEDIR)/share/apps/kppp
&dollar;(KDEDIR)/share/apps/kppp/Rules
&dollar;(HOMEDIR)/.kde/share/apps/kppp
&dollar;(HOMEDIR)/.kde/share/apps/kppp/Rules/*.rst
&dollar;(HOMEDIR)/.kde/share/apps/kppp/Log/*
&dollar;(HOMEDIR)/.kde/share/config/kppprc
</screen>
</para>
</sect1>

<sect1 id="relatando-problemas-com-o-kppp">
<title>Relatando problemas com o Kppp</title>

<para>Antes de relatar um problema ou bug para o
<ulink url="mailto:wuebben@kde.org">mantenedor</ulink> do kppp, 
tenha certeza de que leu atentamente a seção
<link linkend="perguntas-mais-frequentes">Perguntas mais Frequentes</link>.</para>

<para>Se você ainda estiver com problemas, voce precisa incluir as seguintes
informações em seu relatório:
<itemizedlist>
<listitem>
<para>A versão do kppp que você está usando. <literal remap="tt">kppp -v</literal> mostrará o
número de versão.</para>
</listitem>
<listitem>
<para>A versão do <literal remap="tt">pppd</literal> que você está usando. <literal remap="tt">/usr/sbin/pppd -h</literal>
mostrará o número.</para>
</listitem>
<listitem>
<para>Que sistema operacional e a versão que você usa. O comando <literal remap="tt">uname -a</literal>
fornecerá essas informações na maioria dos sistemas UNIX.</para>
</listitem>
<listitem>
<para>Se o kppp reportar "pppd died unexpectedly" (pppd terminou
inesperadamente), adicione a opção <emphasis remap="it">debug</emphasis> aos
<link linkend="pppd-arguments">argumentos do pppd</link>. Disque 
novamente para reproduzir o erro.</para>
<para>Agora o arquivo <literal remap="tt">/var/log/messages</literal> ou <literal remap="tt">/var/adm/messages</literal>
(o nome exato depende de seu sistema e de sua configuração, mas um sistema
Linux típico deve possuir um dos dois. É claro que você deve ter permissões
de root para ler este arquivo) terá um grande volume de texto de depuração.
<emphasis remap="bf">Não mande-nos o arquivo inteiro!</emphasis>. Normalmente ele contém milhares
de linhas, e nós não temos tempo de processar arquivos desse tamanho. 
Mande apenas as últimas linhas que contém informação do <literal remap="tt">pppd</literal>. Tenha
certeza que este arquivo <emphasis remap="bf">não</emphasis> contém informações que possam
comprometer sua segurança tais como IDs e senhas. Troque-os por nomes
como "myuser" e "mypass", que não prejudicam a legibilidade do arquivo.</para>
</listitem>
</itemizedlist>
</para>

<para><emphasis remap="sf">Tradução por Elvis Pfützenreuter <literal remap="tt">(epx@netville.com.br)</literal></emphasis></para>
</sect1>
</chapter>
<![ %addindex; [ &docindex; ]]>
</book>
<!--
Local Variables:
mode: sgml
sgml-omittag: nil
sgml-shorttag: t
sgml-general-insert-case: lower
End:
-->
