Linux Portuguese-HOWTO
 Carlos Augusto Moreira dos Santos
 [email protected]

 CPMet/UFPEL -- Pelotas, RS, Brasil
 v3.1, 1 January 1999

 Este documento pretende ser um guia de refer�ncia de configura��o do
 Linux e seus programas, teclados e fontes de caracteres, permitindo
 sua utiliza��o mais confort�vel por pessoas que falem a L�ngua Por�
 tuguesa.
 ______________________________________________________________________

 �ndice geral




















































 1. Introdu��o

    1.1 Finalidades deste HOWTO
    1.2 Onde encontrar a vers�o mais atual
    1.3 Como enviar colabora�es

 2. Informa�es gerais

    2.1 Conjuntos de caracteres
    2.2 Modo texto versus Sistema de Janelas X

 3. Configura��o do console (modo texto)

    3.1 Mapas de teclado
    3.2 Mapas de tradu��o de tela
    3.3 Comandos do pacote KBD
    3.4 Ativa��o do modo Unicode
    3.5 Carregamento de uma fonte de caracteres
    3.6 Carregando um mapa de teclado
    3.7 Verificando erros

 4. Biblioteca de fun�es

    4.1 Configurando o suporte internacional
    4.2 Problemas com a
    4.3 Free Translation Project

 5. Configura��o do X

    5.1 Configura��o do xinit
    5.2 Configura��o do XDM
    5.3 Compose
    5.4 Locale
    5.5 Contornando os limites do X
       5.5.1 Altera��o da biblioteca
       5.5.2 Altera��o no
       5.5.3 Compara��o entre as duas solu�es

 6. Configura��o dos v�rios programas

    6.1 Aplicativos
       6.1.1 Bash (biblioteca GNU readline)
       6.1.2 tcsh
       6.1.3 Joe
       6.1.4 Less
       6.1.5 ls
       6.1.6 Man, groff, troff
       6.1.7 Midnight Comander (mc)
       6.1.8 Minicom
       6.1.9 nn
       6.1.10 Emacs
       6.1.11 Xemacs (antigo lucid emacs)
       6.1.12 flex
       6.1.13 Pine e Pico
       6.1.14 TeX, LaTeX
       6.1.15 Ispell
       6.1.16 LyX
       6.1.17 Fortune
       6.1.18 Jdk (inclui ICQJava)
    6.2 Rede local e Internet
       6.2.1 FTP (File Transfer Protocol)
       6.2.2 Correio eletr�nico

 7. Ficheiros necess�rios

 8. Informa�es Adicionais
    8.1 Leituras recomendadas
    8.2 Fontes de informa��o sobre Linux em Portugu�s
    8.3 Vers�es de software testadas
    8.4 Futuro
    8.5 Termos e Condi�es
    8.6 Garantia (inexist�ncia de) e nota de responsabilidade
    8.7 Agradecimentos


 ______________________________________________________________________

 1.  Introdu��o

 � semelhan�a de outras l�nguas faladas na Europa, a L�ngua Portuguesa
 reveste-se de algumas caracter�sticas especiais, tais como a
 utiliza��o de caracteres acentuados, que tornam o seu suporte dif�cil,
 pouco intuitivo ou at� mesmo imposs�vel, por parte do software
 utilizado nos nossos computadores.

 Embora seja falada em Portugal e todas suas ex-col�nias, nossa l�ngua
 assume particularidades em cada um desses lugares -- e mesmo dentro de
 um �nico pa�s como o Brasil, de dimens�es continentais e com
 influ�ncias culturais de muitos outros povos.  Este documento foi
 originalmente escrito por um portugu�s, mas est� agora sendo mantido
 por um brasileiro. Existe nele uma mistura de sotaques que deve se
 manter por um bom tempo, pois n�o h� raz�o para alterar o texto
 original sen�o para fazer de adi�es e corre�es, at� mesmo por
 respeito ao primeiro autor. Termos ``estrangeiros'' desnecess�rios
 foram substituidos por correspondentes da L�ngua Portuguesa,
 preservando-se apenas os que j� fazem parte do jarg�o da inform�tica.



 1.1.  Finalidades deste HOWTO


 Este HOWTO pretende ser um guia de refer�ncia de configura��o do
 sistema operativo Linux e seus programas, teclados e fontes de
 caracteres, permitindo sua utiliza��o mais confort�vel por pessoas que
 falem a L�ngua Portuguesa.  Como os programas mais antigos n�o foram
 desenhados com suporte a caracteres acentuados ou internacionaliza��o,
 �s vezes � preciso usar algum artif�cio que permita contornar o
 problema, mas o resultado nem sempre � totalmente satisfat�rio e �s
 vezes chega ser frustrante.  As dificuldades encontradas centram-se
 essencialmente em torno de quatro pontos:


 �  a introdu��o de caracteres acentuados atrav�s do teclado, como seja
    a escrita de jo~ao em vez da sua forma correcta: jo�o.

 �  A exibi��o dos mesmos na tela do computador. O suporte resume-se
    normalmente � correcta localiza��o das teclas, nada mais.

 �  O correto tratamento de conven�es nacionais de formato de datas,
    horas e valores monet�rios.

 �  A exibi��o de mensagens, t�tulos e demais informa�es dos programas
    em outra l�ngua que n�o o Ingl�s, que � a l�ngua original da
    maioria desses programas.

 Vers�es anteriores do Portuguese HOWTO concentravam-se em contornar as
 duas primeiras dificuldades mencionadas, de forma a fazer que, dentro
 do poss�vel, tanto o sistema operativo como os programas nele
 utilizados aceitassem os caracteres acentuados e usassem os teclados
 com suporte para o Portugu�s.  Embora esse objetivo ainda seja
 perseguido, os problemas de teclado e caracteres j� t�m solu�es
 satisfat�rias, pelo menos para as aplica�es mais usadas. As pr�ximas
 vers�es dever�o se dedicar mais aos dois �ltimos problemas.

 Outra decis�o importante � a de torn�-lo menos slackwariano, abrindo
 mais espa�o para informa�es relativas a outras distribui�es. A
 distribui��o Slackware ainda se baseia na vers�o 5 da biblioteca de
 fun�es do sistema para Linux (libc), enquanto Debian, Red Hat e
 outras j� suportam a vers�o 6 (que na verdade � a glibc vers�o 2).
 Esta nova vers�o da biblioteca est� um passo adiante no suporte a
 internacionaliza��o e localiza��o. A partir da vers�o 3.0 do
 Portuguese HOWTO, Debian passar� a ser uma distribui��o ``de
 refer�ncia'', o que n�o deve ser interpretado como afirma��o de que
 existe uma distribui��o melhor ou superior �s outras. O tema j� foi
 motivo de v�rias discuss�es sem que jamais se chegasse a outra
 conclus�o sen�o a de que o melhor software � aquele mais adequado n�o
 s� �s nossas necessidades, mas por vezes tamb�m �s nossas manias.

 Ao contr�rio de tentar concentrar toda a informa��o em um �nico texto,
 optou-se por focar alguns temas essenciais, fornecendo refer�ncias
 para outras fontes.  � feita uma breve discuss�o sobre o tratamento do
 teclado e das fontes de caracteres do console pelo Linux, bem como do
 suporte a v�rias l�nguas nacionais. O Sistema de Janelas X tamb�m �
 discutido, fazendo-se uma compara��o entre ele e o modo de texto. Por
 fim, s�o fornecidas instru�es para a configura��o do sistema
 operativo e de diversos aplicativos importantes.

 Excetuando-se aspectos muito espec�ficos do Linux, como a configura��o
 do modo texto e do kernel, a maioria das informa�es contidas neste
 documento pode ser aplicada a outros sistemas Unix. Exemplos s�o as
 configura�es do Sistema de Janelas X e de v�rios aplicativos, que
 foram aplicadas em Solaris 2.5.1 e Digital UNIX 3.2. Os mapas de
 teclado para terminais X e esta�es de trabalho Sun foram criados e
 s�o usados em m�quinas que rodam Solaris. O documento poder� um dia se
 tornar o ``Unix Portuguese HOWTO'', embora no momento n�o se tenha
 inten��o ou meios de faz�-lo.


 1.2.  Onde encontrar a vers�o mais atual

 Os Linux HOWTO fazem parte do Projeto de Documenta��o Linux (Linux
 Documentation Project -- LDP). Os documentos do LDP s�o mantidos em
 servidores da Universidade da Carolina do Norte (UNC) e do Institudo
 de Tecnologia de Massachusetts (MIT), nos Estados Unidos da Am�rica, e
 podem ser obtidos via FTP an�nimo nos seguintes endere�os:

 �  <ftp://sunsite.unc.edu/pub/Linux/docs/HOWTO>

 �  <ftp://tsx-11.mit.edu/pub/linux/docs/HOWTO>

 Pode-se tamb�m folhear os documentos HOWTO em formato HTML no endere�o

 �  <http://sunsite.unc.edu/LDP/HOWTO>

 Muitas localidades mant�m c�pias desses documentos. Deve-se dar
 prefer�ncia ao acesso � c�pia mais pr�xima, para economizar o precioso
 tr�fego internacional na Internet e tamb�m evitar a sobrecarga da
 m�quina sunsite.unc.edu. Uma lista completa dessas localidades pode
 ser obtida em

 �  <http://sunsite.unc.edu/LDP/mirrors.html>

 Eis uma lista dos endere�os recomendados:

 Brasil


 �  <http://mirror.pop-mg.rnp.br/LDP/>

 �  <http://www.conectiva.com.br/LDP/>

 �  <http://www.opensite.com.br/linux/>

 �  <http://taubate.valley-bbs.com.br/LDP/>

 Portugal

 �  <http://gil.di.uminho.pt/mirrors/LDP/>

 �  <http://deneb.cec.pt/LDP/>

 �  <http://ftp.dei.uc.pt/LDP/>

 �  <http://www.sc.uevora.pt/LDP/>

 �  <http://lwp.ualg.pt/docs/LDP/>

 �  <http://linux.global-one.pt/LDP/>

 �  <http://linux.ispgaya.pt/LDP/>

 �  <http://ae.fe.up.pt/LDP/>

 A p�gina oficial do Linux Portuguese-HOWTO, assim como os diversos
 arquivos de configura��o do sistema e progrmas aplicativos mencionados
 no texto, podem ser encontrados nos seguintes endere�os:


 �  <http://www.inf.ufrgs.br/~casantos/Portuguese-HOWTO/>

 �  <http://linusp.usp.br/~casantos/Portuguese-HOWTO/>

 Administradores de servidores WWW/FTP interessados em manter espelhos
 do Linux Portuguese-HOWTO podem entrar em contato com o autor via
 correio eletr�nico no endere�o [email protected]. Eu
 gostaria tamb�m de ser informado de outros lugares onde o LDP seja
 espelhado, tanto no Brasil quanto em outros pa�ses de l�ngua
 portuguesa.

 ATEN��O! N�o procure este documento nos servidores WWW ou FTP do
 Centro de Pesquisas Meteorol�gicas da Universidade Federal de Pelotas,
 pois ser� pura perda de tempo. As vers�es mais atuais deste documento
 s�o publicadas nos endere�os citados acima.

 Os Linux HOWTO est�o dispon�veis em diversos formatos: texto simples,
 PostScript, DVI, HTML, RTF e Lyx. O formato original � SGML e os
 demais s�o obtidos por meio de convers�o por utilit�rios adequados.
 Para saber mais sobre SGML consulte a p�gina do pacote SGMLtools em
 <http://www.sgmltools.org/>.


 1.3.  Como enviar colabora�es

 O formato original deste documento n�o � texto simples, nem HTML. Toda
 a formata��o, incluindo numera��o das se�es � feita depois que o
 original � enviado para o sunsite.unc.edu.  Por isso, quando for
 enviar sugest�es ou corre�es, fa�a-o mencionando os t�tulos das
 se�es onde as altera�es sugeridas devem ocorrer e n�o os n�meros.
 Nunca refira-se a um par�grafo como sendo ``o terceiro da se��o 3.1'';
 cite as palavras inicias do trecho a ser modificado.

 Envie suas sugest�es para [email protected]. Todas as
 mensagens ser�o lidas, mas nem todas receber�o resposta direta, devido
 � falta de tempo para tanto. Envie mensagens em texto simples,
 opcionalmente com acentua��o no c�digo ISO-8859-1.  Se o texto n�o for
 composto em um sistema *nix, certifique-se de usar a codifica��o
 correta.  O c�digo de caracteres do Microsoft Windows � praticamente
 igual ao ISO-8859-1.  Usu�rios de computadores com outros sistemas
 operativos (Macintosh, Amiga, etc.) devem se certificar de usar um
 editor capaz de gerar texto na codifica��o adequada. Por favor n�o
 envie texto em HTML e muito menos documentos no formato propriet�rio
 de processadores de texto! Certifique-se de que seu agente de correio
 est� configurado para n�o enviar mensagens em formato HTML (que
 inexplicavelmente � o comportamento normal de programas como Netscape
 Communicator e Microsoft Out-of-luck).


 2.  Informa�es gerais

 2.1.  Conjuntos de caracteres

 Um conjunto de caracteres � definido de acordo com os s�mbolos
 constantes no alfabeto utilizado para escrita em uma ou mais l�nguas.
 A Organiza��o Internacional de Normas (International Standards
 Organization - ISO) padronizou atrav�s da norma ISO-8859 v�rios desses
 conjuntos, identificados por ISO-8859-x onde o x corresponde a um
 determinado alfabeto. O conjunto ISO-8859 utiliza 8 bits para
 representar cada caracter, o que permite uma gama de 256 sinais
 (valores de zero a 255). Em cada um dos conjuntos, os c�digos zero a
 127 correspondem ao conjunto ASCII (American Standard Code for
 Information Interchange) e os c�digos 160 a 255 s�o usados para
 caracteres nacionais.

 Para a l�ngua portuguesa, recomenda-se o uso do conjunto ISO-8859-1,
 que compreende o alfabeto latino e letras acentuadas usadas pelas
 l�nguas do oeste da Europa e Am�rica. Este conjunto de caracteres
 tamb�m � frequentemente chamado de Latin-1 ou ISO Latin-1.

 Um padr�o mais recente � o Unicode, definido pela norma ISO-10646, que
 permite definir caracteres cuja representa��o interna no computador
 utiliza mais de um byte (ou octeto na nomenclatura ISO). Todas as
 vers�es mais recentes de sistemas Unix suportam Unicode (ou pelo menos
 seus fabricantes alegam suportar).

 Al�m dos caracteres alfanum�ricos e sinais de acentua��o, � poss�vel
 tamb�m gerar sinais semigr�ficos que s�o �teis no desenho de linhas e
 bordas.  Esses sinais podem aproveitar c�digos n�o utilizados pelo
 conjunto oficial, tornando-os n�o port�veis.

 O Linux foi desenhado internamente de modo a facilitar a sua f�cil
 configura��o e extens�o em tempo de execu��o, n�o constituindo o
 tratamento do teclado e fontes de caracteres excep��o. Linux segue o
 padr�o Unicode possuindo uma implementa��o ``nivel 1''. Maiores
 detalhes podem ser encontrados nos manuais do Linux, que podem ser
 lido com os comandos


      man unicode
      man utf-8
      man iso_8859_1
      man ascii




 mas antes disso certifique-se de que o man est� configurado correta�
 mente, conforme mostrado na se��o ``Man, groff, troff''.


 2.2.  Modo texto versus Sistema de Janelas X

 Alguns sistemas operativos, tais como MacOS, Microsoft Windows e NeXT,
 possuem suas interfaces gr�ficas pr�prias. No Linux, assim como na
 maioria dos sistemas compat�veis com Unix, � de uso corrente um
 ambiente gr�fico criado para ser ``multiplataforma'': o X Window
 System, que tamb�m foi projetado para suportar diversos conjuntos de
 caracteres, idiomas e formatos de teclado, mas ainda n�o suporta
 totalmente o padr�o Unicode e sim uma extens�o do ISO-8859.


      A rigor o X Window System n�o � uma interface gr�fica com o
      usu�rio, mas a combina��o de um protocolo de comunica��o com
      uma interface com programas aplicativos (API) sobre a qual
      se constru�ram v�rias interfaces gr�ficas.  Tanto o proto�
      colo quanto o Sistema de Janelas definem um conjunto de
      mecanismos e n�o pol�ticas (elementos caracter�sticos da
      pol�tica de uma Interface Gr�fica com o Usu�rio s�o menus,
      bot�es e caixas de di�logo).  Esta � a raz�o pelo qual o uso
      do termo ``XWindows'' � incorreto e deve ser evitado.


 Existem muitas semelhan�as entre os dois ambientes.  Ambos se baseiam
 em padr�es internacionais para defini��o de conjuntos de caracteres.
 Tanto no X quanto no console do Linux � poss�vel definir uma tecla
 chamada Compose cujo pressionamento seguido de duas outras gerar� o
 caracter correspondente.  Assim sendo, o pressionamento da seq��ncia
 compose-,-c gerar� um c cedilhado.

 O tratamento do console � feito diretamente pelo sistema operativo e
 aplica�es comuns n�o se envolvem com o processamento dos c�digos de
 varredura do teclado, recebendo um caracter ou uma seq��ncia deles ao
 ser pressionada cada tecla, de tal sorte que uma vez tendo sido
 corretamente configurados o teclado e a fonte de caracteres pouco mais
 se tem a fazer.

 O X possui uma arquitetura muito diferente: tanto o teclado quanto
 a(s) tela(s) -- pode haver mais de uma tela -- s�o controlados por uma
 aplica��o especial chamada servidor X. O pressionamento de uma tecla
 gera uma mensagem (chamada de evento) que � passada pelo servidor X �
 aplica��o cliente. H� um programa muito �til chamado xev que permite
 observar cada um dos eventos a ele transmitido. O cliente e o servidor
 se comunicam via rede usando um conjunto de regras chamado protocolo X
 e podem rodar em m�quinas diferentes. A m�quina onde roda o servidor �
 chamada esta��o de trabalho ou terminal X e a m�quina onde roda o
 programa cliente tamb�m � chamada de cliente.

 Foge ao escopo deste texto a discuss�o mais profunda do tratamento de
 eventos no X. Para maiores informa�es, sugere-se a consulta aos
 documentos mencionados na se��o ``Leituras recomendadas'', mas �
 importante esclarecer que o evento enviado pelo servidor ao cliente
 n�o cont�m o c�digo num�rico da tecla, chamado keycode na terminologia
 do X.  Ao inv�s disso, � enviado um s�mbolo, chamado keysymbol ou
 keysym, obtido pela consulta a uma tabela de convers�o mantida na
 mem�ria do servidor.  Esta tabela pode ser modificada total ou
 parcialmente a qualquer momento por meio de requisi�es definidas no
 protocolo X.

 Existe um programa chamado xmodmap capaz de ler um arquivo contendo
 uma tabela de convers�o keycode-->keysym e a enviar, tamb�m na forma
 de mensagens no protocolo X, para o servidor. � responsabilidade do
 cliente e n�o do servidor interpretar o keysym, o que significa dizer
 que a aplica��o tem que saber esperar mais um caracter ao receber uma
 ``tecla morta'' para compor uma letra acentuada.


 Desde a revis�o 5 do X existe na bibliotaca de fun�es (Xlib) um
 mecanismo sofisticado de suporte � gera��o de caracteres em diversos
 c�digos.  A fun��o de tratamento de entrada de texto que j� existia
 nas vers�es anteriores, chamada XLookupString, entretanto,  n�o
 processa as seq��ncias de acentos e letras de modo transparente �s
 aplica�es. Ao inv�s disso foi incluido um m�todo de composi��o usando
 contextos de entrada (input contexts) por meio das fun�es
 XmbLookupString e XwcLookupString, cujo uso � responsabilidade da
 aplica��o -- ou do seu programador, melhor dizendo -- mesmo no caso da
 tecla Compose.  Isto deve-se so facto de o X Consortium ter chegado �
 conclus�o de que o sistema de mapeamento de teclas n�o tratava de
 forma satisfat�ria toda a imensa variedade de l�nguas escritas nas
 v�rias partes do mundo. Deste modo, decidiu-se que o ``peso'' relativo
 � gest�o do teclado fosse transferido para as aplica�es X, o que cria
 uma dificuldade quando usamos aquelas mais antigas, que n�o usam o
 novo m�todo de tratar a entrada.

 Por essas raz�es � normalmente mais dif�cil conseguir acrescentar
 suporte � gera��o de caracteres acentuados em aplicativos que rodam
 sob o X, principalmente quando n�o se possui o c�digo fonte.
 Aplicativos feitos para rodar apenas em modo texto, tais como vi e
 minicom depender�o totalmente dos recursos do emulador de terminal em
 uso quando rodando em uma janela do X. Se for usada uma vers�o atual
 do xterm ou rxvt o emulador far� o tratamento correto dos acentos.

 O franc�s Thomas Quinot, cansado de esperar uma solu��o melhor para o
 problema da acentua��o no X, resolveu implementar uma modifica��o para
 a Xlib proposta por Andr� D. Balsa, que adiciona suporte � acentua��o
 direta conforme mostrado na se��o ``Cotornando os limites do X''. Isso
 permite usar aplica�es como xfig ou xedit sem que seja necess�rio
 alter�-las. O truque parece funcionar apenas para caracteres do c�digo
 ISO-8859-1 mas � suficiente para o Portugu�s e outras l�nguas. Como
 bem observa Balsa, a longo prazo todos os programas dever�o ser
 modificados para usar os novos recursos do X, mas como a longo prazo
 estaremos todos mortos a solu��o de curto prazo de Quinot torna-se
 bastante atraente...


 3.  Configura��o do console (modo texto)

 O documento de refer�ncia sobre a configura��o do console do Linux � o
 Keyboard and Console HOWTO, de Andries Brouwer, que pode ser
 encontrado nos reposit�rios do LDP. Conforme l� descrito, a
 configura��o da fonte de caracteres e mapa de teclado � feita usando o
 pacote KBD, encontrado em todas as distribui�es de Linux.



 3.1.  Mapas de teclado

 Cada tecla do PC possui um c�digo num�rico. Ao pressionarmos uma delas
 o processador controlador do teclado envia ao computador esse c�digo
 de varredura, tamb�m conhecido como scancode, junto com um sinal de
 que a tecla foi pressionada ou solta. As seq��ncias de eventos s�o
 ent�o processadas pelo driver de teclado e armazenadas em uma fila de
 caracteres que � lida pelas aplica�es por meio da chamada de fun�es
 do sistema operativo.

 Um mapa de teclado � um arquivo de texto que estabelace as
 correspond�ncias entre o scancode de tecla e o caracter (ou seq��ncia
 de caracteres) a gerar quando ela for pressionada, chamado keycode.
 Por exemplo:




 # atribui��o da tecla '-' do teclado num�rico � tecla com c�digo 74
 keycode  74 = KP_Subtract

 # atribui��o da tecla '4' do teclado num�rico � tecla com c�digo 75
 keycode  75 = KP_4

 # etc...

 keycode  76 = KP_5            # tecla 5
 keycode  77 = KP_6            # tecla 6
 keycode  78 = KP_Add          # soma
 keycode  79 = KP_1            # tecla 1
 keycode  80 = KP_2            # tecla 2




 Al�m das teclas alfab�ticas, num�ricas e de s�mbolos, existem outras
 chamadas modificadoras que permitem gerar c�digos que n�o correspondem
 a nenhum sinal gr�fico: Shift Control Alt e Meta. Esta �ltima
 normalmente n�o � encontrada em teclados de PCs, apenas em esta�es de
 trabalho de fabricantes como Sun, SGI, HP e Digital (eles n�o gostam
 de ser chamados de ``DEC''). O editor de texto Emacs usa muito a tecla
 Meta.

 O arquivo de mapa permite tamb�m especificar teclas especiais chamadas
 ``teclas mortas'' (deadkeys). Quando pressionadas elas n�o resultam no
 aparecimento de um caracter na tela, limitando-se a alterar o
 comportamento da tecla pressionada a seguir para que, por exemplo, ao
 se digitar um ~ seguida de um a, seja gerado um `�'.

      Ao contr�rio do que possa imaginar algum leitor incauto,
      deadkeys n�o s�o aquelas usadas para escrever ghostscripts!
      Vale a pena ler, no entanto o arquivo humor.txt que faz
      parte do pacote Ghostscript e, dependendo da distribui��o
      pode estar no diret�rio /usr/lib/ghostscript/doc ou
      /usr/doc/ghostscript. Nas vers�es mais recentes do Aladdin
      Ghostscript os documentos est�o em formato html e o arquivo
      chama-se humor.html.



 3.2.  Mapas de tradu��o de tela

 Um mapa de tradu��o de tela permite especificar qual o caracter X a
 ser exibido na tela, quando um programa deseja exibir um caracter Y.
 Desta forma, poder�amos fazer com que ao escrever o caracter com o
 c�digo do c-cedilhado na tela, fosse na realidade exibido um outro
 caracter de c�digo diferente mas cuja imagem na nossa fonte de
 caracteres correspondesse � imagem de um c-cedilhado.

 Este mapeamento � necess�rio apenas quando queremos usar uma fonte
 cujos caracteres n�o possuem c�digos diretamente correspondentes aos
 do conjunto usado no mapa de teclado.




 3.3.  Comandos do pacote KBD


    Loadkeys
       Permite carregar um mapa de teclado. Por exemplo, o comando a
       seguir carrega o mapa armazenado no arquivo portugal.map.


       loadkeys /usr/lib/kbd/keytables/portugal.map





    Setfont
       Permite o carregamento de uma fonte de caracteres de tela,
       possibilitando a altera��o das fontes utilizadas em modo de
       texto. O comando a seguir, por exemplo, ir� carregar uma fonte
       com o conjunto Latin-1:


            setfont lat1u-16.psf





    Showfont
       mostra todos os caracteres existentes na fonte que est�
       atualmente em uso no console.

       O X tamb�m tem um comanto chamado showfont, que serve para
       mostrar as caracter�sticas de uma determinada fonte, mas n�o os
       caracteres em si. Para esta �ltima finalidade se usa o comando
       xfd. Se o programa showfont do pacote KBD for invocado em um
       emulador de terminal X, como xterm, ele gerar� um erro
       ``GIO_SCRNMAP: Invalid argument'', mas n�o provocar� nenhum
       dano.


    Mapscr
       Permite carregar um mapa de tradu��o de tela. Suponhamos que
       exista o arquivo /etc/portugal.trad. Se executarmos o comando


            mapscrn /etc/portugal.trad





    ent�o a partir deste momento as tradu�es l� definidas ser�o
    usadas.


 3.4.  Ativa��o do modo Unicode


      Nota: a configura��o descrita nesta se��o n�o � obrigat�ria
      quando se carrega uma fonte contendo defini�es de carac�
      teres no padr�o Unicode, pois o programa setfont carrega
      automaticamente a tabela de mapeamento adequada.


 Para colocar o console no modo Unicode permitindo o uso dos acentos e
 caracteres semigr�ficos, pode ser usado o comando


      echo -n -e '\033(B'





 A ativa��o do modo Unicode deve ser feita para cada terminal virtual,
 mas � muito mais f�cil criar um arquivo /etc/issue que contenha as
 seq��ncias de configura��o. Isso pode ser feito usando este pequeno
 script:


      #!/bin/sh
      ESC=`echo -n -e '\033'`
      echo "${ESC}(B${ESC}[H${ESC}[J${ESC}[37m${ESC}[44m${ESC}[K" > /etc/issue
      echo "      Welcome to \n (\s \m \r) \l${ESC}[K" >> /etc/issue
      echo "      \d \t (\U)${ESC}[K" >> /etc/issue
      echo "${ESC}[K${ESC}[37m${ESC}[40m" >> /etc/issue
      echo >> /etc/issue




 Esse arquivo cont�m seq��ncias de escape para o agetty, que � usado
 nas distribui�es Slackware e Debian. Ele faz apresentar no topo da
 tela um quadro colorido com v�rias informa�es �teis. No meu computa�
 dor, por exemplo, aparece a seguinte mensagem em letras brancas sobre
 um fundo azul:



            Welcome to doncarlo (Linux i586 2.0.33) tty5
            Fri Jul 17  1998 03:12:37 (4 users)




 Outras distribui�es usam programas diferentes para ativar o login do
 usu�rio, o que pode obrigar a fazer altera�es. Se algum dos leitores
 tiver um arquivo adequado para outros *getty (mingetty, getty-ps,
 mgetty, etc.) por favor envie-me uma c�pia para que seja incluida
 aqui.

 Na Slackware � importante tamb�m editar o arquivo /etc/rc.d/rc.S e
 comentar as linhas com os comandos que geram um novo /etc/issue cada
 vez que o o sistema � iniciado.

 Uma alternativa ao m�todo anterior � colocar no in�cio do
 /etc/rc.d/rc.S a seguinte seq��ncia de comandos:


      # Inicializacao das consolas
      #

      # activacao do modo de mapeamento Latin-1
      #
      for tty in /dev/tty[1-9]*
      do
              echo -n -e "\\033(B" > $tty
      done




 3.5.  Carregamento de uma fonte de caracteres

 � preciso carregar uma fonte que tenha os caractres latinos acentuados
 no padr�o ISO 8859-1 e tamb�m os s�mbolos semigr�ficos.  Isso pode ser
 feito com o comando



 setfont lat1u-16.psf




 As vers�es mais antigas do pacote KBD mantinham essas fontes no
 diret�rio /usr/lib/kbd/consolefonts, que foi trocado depois da vers�o
 0.92 por /usr/share/consolefonts. Dependendo da sua distribui��o e do
 quanto ela esteja atualizada o diret�rio poder� ser um ou outro.

 Para automatizar o processo de carga da fonte na Slackware foi criado
 o script /etc/rc.d/rc.font, contendo o seguinte:



      #!/bin/sh
      #
      # /etc/rc.d/rc.font
      #
      # Seleciona uma das fontes de caracteres disponiveis em
      # /usr/lib/kbd/consolefonts.
      #
      setfont lat1u-16.psf




 Na distribui��o Debian , edite o arquivo /etc/kbd/config e coloque uma
 linha contendo


      CONSOLE_FONT=lat1u-16.psf




 esse arquivo � processado pelo script /etc/rc.boot/kbd. Execute-o para
 ativar a nova fonte sem ter que dar ``reboot''. Lembre-se sempre:
 Linux n�o � Windows!

 Na distribui��o Red Hat, edite o arquivo /etc/sysconfig/consolefont e
 coloque


      FONT=lat1u-16.psf




 Experimente algumas teclas como ``,.|!"#$%&/()=?'', etc...


 3.6.  Carregando um mapa de teclado

 A seguir � necess�rio carregar o mapa de teclado adequado. At� a
 vers�o 0.92 do pacote KBD esses mapas ficavam no diret�rio
 /usr/lib/kbd/keytables passando mais tarde para /usr/share/keytables.
 Dependendo da distribui��o voc� ter� um diret�rio ou outro. Os mapas
 para diversos tipos de teclados s�o apresentados mais adiante.

 Para automatizar o processo de configura��o do teclado na Slackware
 foi criado o script /etc/rc.d/rc.keyboard, contendo o seguinte:




 #!/bin/sh
 #
 # /etc/rc.d/rc.keyboard
 #
 # Seleciona um dos mapas de teclado dispon�veis no diret�rio
 # /usr/lib/kbd/keytables
 #
 loadkeys abnt2




 e acrescentei as seguintes linhas ao /etc/rc.d/rc.S, imediatamente
 antes do tratamento do /etc/rc.d/rc.keyboard:


      # Carrega uma fonte de caracteres se existe um script rc.font.
      if [ -x /etc/rc.d/rc.font ]; then
        /etc/rc.d/rc.font start
      fi

      # Carrega um mapa de teclado se sexiste um script rc.keyboard.
      if [ -x /etc/rc.d/rc.keyboard ]; then
        /etc/rc.d/rc.keyboard start
      fi




 Na distribui��o Debian, instale pacote kbd e depois fa�a o seguinte:

 �  copie os arquivos com os mapas de teclado fornecidos (veja a se��o
    ``Ficheiros necess�rios'') para o diret�rio /usr/share/keytables/.
    N�o � necess�rio descomprimi-los.

 �  copie o mapa correspondente ao seu teclado para o arquivo
    /etc/kbd/default.map.gz.

 �  rode o script /etc/init.d/keymaps.sh.

 Na distribui��o Red Hat, edite o arquivo /etc/sysconfig/keyboard e
 coloque o nome do mapa a usar na vari�vel KEYTABLE, como por exemplo


      KEYTABLE="/usr/lib/kbd/keytables/abnt-2.map"




 Experimente pressionar a tecla c-cedilhado (se o teclado n�o tem esta
 tecla, digite 'c). Se aparecer caracter estranho verifique se carregou
 o mapa de teclado e a fonte de caracteres corretos, pois provavelmente
 uma dessas opera�es foi mal sucedida.


 3.7.  Verificando erros

 Mas, e se alguns dos caracteres continuarem a n�o aparecer? Bem, antes
 de mais nada verifique se a fonte e o mapa de teclado adequados foram
 carregados. Um caso especial � quando queremos usar uma fonte que n�o
 segue a codifica��o ISO Latin-1 (� o caso da fonte padr�o do console
 do PC). Ter�amos ent�o de convencer a tela a mostrar os caracteres
 certos em cada caso.

 Poder�amos recorrer ao comando mapscrn.  O arquivo com a tabela de
 tradu��o teria no entanto de ser criado por n�s, seguindo um processo
 moroso de tentativa e erro at� encontrar o caracter cuja imagem
 desej�vamos. Ou, de uma forma mais f�cil, poder�amos usar o comando
 showfont.

 Se usarmos a fonte de caracteres correta, o uso deste �ltimo comando
 ser� desnecess�rio. � at� recomend�vel que n�o se use tal recurso,
 pois embora ele permita criar uma tabela de caracteres
 ``personalizada'' em um computador, ser� dif�cil que um documento
 acentuado produzido nessa m�quina possa ser lido em outra que n�o
 tenha a mesma configura��o.


 4.  Biblioteca de fun�es libc  e aplicativos GNU

 A biblioteca padr�o de fun�es do Linux suporta Internacionaliza��o e
 Localiza��o segundo o padr�o POSIX (Portable Operating System
 Interface).  Trata-se de uma norma estabelecida pelo IEEE (Institute
 of Electrical and Electronics Engineers) para intercomunica��o entre
 diferentes sistemas operativos. Existe tamb�m um padr�o estabelecido
 pelo ANSI (American National Standards Institute) para a linguagem de
 programa��o C que permite escrever programas com suporte
 internacional.


 4.1.  Configurando o suporte internacional

 Resumidamente, podemos dizer que as fun�es que tratam informa�es
 dependentes da l�ngua ou do pa�s podem ter seu comportamento
 modificado, bastando para tanto estabelecar algumas vari�veis de
 ambiente. E que fun�es s�o essas?  Podemos citar as de formata��o de
 datas, valores monet�rios e mensagens de erro do sistema. Se voc� n�o
 sabe o que � uma vari�vel de ambiente, sugiro que leia o manual com o
 comando


      man environ




 O padr�o POSIX permite usar diversas vari�veis de configura��o, cada
 uma delas definindo o tratamento dado a um tipo de informa��o, a saber

    LC_COLLATE
       Define regras para compara��o entre caracteres no alfabeto
       local. Por exemplo, a letra `�' deve ser tratada como id�ntica
       ao `a' no Portugu�s quando ordenamos alfabeticamente.


    L_CTYPE
       Define regras para compara��o entre caracteres mai�sculos e
       min�sculos. Se estivermos trabalhando com o c�digo ASCII,
       sabemos que o c�digo num�rico de uma letra min�scula � 32 a mais
       do qu� a mai�scula correspondente, mas para uma letra acentuada
       esta regra n�o � v�lida!


    LC_MONETARY
       Muda o comportamento das fun�es de formata��o de valores
       monet�rios e permite descobrir, por exemplo, o s�mbolo da moeda
       local, ou se usa ponto ou v�rgula como separador de milhares e
       de casas decimais.


    LC_MESSAGES
       Estabelece a l�ngua em que as mensagens ser�o apresentadas e
       como � uma resposta afirmativa ou negativa (S/N).


    LC_NUMERIC
       Estabelece o comportamento das fun�es de leitura/escrita de
       valores num�ricos permitindo, por exemplo que usemos a v�rgula
       decimal.


    LC_TIME
       Define a formata��o de datas e horas.


    LC_ALL
       Define de uma s� vez todas as categorias. Se usarmos LC_ALL, n�o
       precisaremos definir nenhuma das outras, a n�o ser que queiramos
       um comportamento diferente para aquele �tem espec�fico.


    LANG
       Define de uma s� vez todas as categorias, se LC_ALL n�o estiver
       definida.

 Maiores informa�es podem ser obtidas no manual do sistema com o
 comando


      man 7 locale




 O `7' no comando anterior � necess�rio para evitar confus�o com uma
 fun��o hom�nima da linguagem Perl. Note que as configura�es acima
 afetam, em princ�pio, apenas as fun�es dispon�veis na biblioteca de
 fun�es da linguagem C. Na pr�tica, todos os programas que rodam em
 Linux usam aquela biblioteca, mas o sistema operativo n�o prov�,
 cat�logos de mensagens em diversas l�nguas para todos os programas.

 A identifica��o da l�ngua e do local � feita por dois c�digos de duas
 letras, separados por um sinal ``_''. Se omitirmos o c�digo de pa�s,
 assume-se o pa�s padr�o para a l�ngua informada, mas deve haver um
 cat�logo correspondente.  Deste modo, o c�digo ``pt_PT'' significa
 Portugu�s de Portugal, enquanto ``pt_BR'' significa Portugu�s do
 Brasil. Escolher uma combina��o l�ngua/local basta ent�o colocar em
 seu arquivo /etc/profile uma linha contendo


      LC_ALL="pt_PT"
      export LC_ALL




 Usu�rios brasileiros devem usar ``pt_BR'' ao inv�s de ``pt_PT''. Teste
 o resultado com os comandos a seguir (/inexistente � o nome de um
 arquivo que n�o existe):


      echo ����� | tr '[:upper:]' '[:lower:]'
      tar tf /inexistente
      ls -l /
      date



 O resultado do primeiro dever� ser ``����''. Os outros devem retornar
 mensagens em Portugu�s, mas talvez nem todas, porque em muitos progra�
 mas o suporte para nossa l�ngua ainda � muito restrito.

 Na distribui��o Debian, certifique-se de ter instalado o pacote
 ``locales'', que pertence ao grupo ``admin''. O nome do arquivo que
 cont�m o pacote (na vers�o 2.0 da distribui��o) � locales_2.0.7t-1.deb
 e em meu CD est� no diret�rio debian/main/binary-i386/admin.

 4.2.  Problemas com a libc 5

 At� meados de 1997 todas as distribui�es de Linux usavam a mesma
 biblioteca libc, que estava na vers�o 5, desenvolvida a partir de uma
 vers�o mais antiga da libc do projeto GNU. Esta biblioteca possui
 suporte muito limitado � internacionaliza��o e normalmente nenhum dos
 cat�logos de locais era inclu�do na distribui��o, ficando o ingl�s
 como l�ngua padr�o.

 A vers�o 6 da libc do Linux baseia-se na vers�o 2 da libc do projeto
 GNU. O suporte � internacionaliza��o foi muito melhorado, al�m de
 incluir outros atributos que n�o interessam para os fins deste HOWTO.
 Se sua distribui��o for a Debian vers�o 2, Red Hat vers�o 5 ou
 qualquer outra que use a nova libc, ent�o n�o h� mais nada a fazer
 al�m do descrito na se��o anterior.

 Mas se voc� usa uma distribui��o ainda baseada na libc 5 (Slackware,
 Caldera 1.x ou uma vers�o mais antiga de Debian ou Red Hat) � preciso
 instalar a cole��o de locais. N�o tente copiar a cole��o de uma
 distribui��o mais recente, pois os formatos dos arquivos s�o
 incompat�veis. Pegue na p�gina do Portuguese HOWTO o arquivo locales-
 pt.tgz. Para instal�-lo na distribui��o Slackware, basta (como usu�rio
 root) usar o comando


      installpkg locales-pt.tgz




 e para outras distribui�es use o comando


      tar xzf locales-pt.tgz -C /




 Verifique se h� dois subdiret�rios do /usr/share/locale chamados pt_BR
 e pt_PT. Basta ent�o configurar a vari�vel de ambiente LC_ALL, como j�
 descrito.


 4.3.  Free Translation Project

 Programadores que quiserem desenvolver aplica�es com suporte a mais
 de uma l�ngua devem usar algum m�todo de definir mensagens em tempo de
 execu��o, possivelmente usando uma biblioteca de fun�es para este
 fim. O projeto GNU criou o ``Free Translation Project'', com esta
 finalidade. Muitos aplicativos GNU j� permitem que se troquem as
 mensagens bastando criar um cat�logo que � lido pelo programa ao
 iniciar. H� equipes de tradu��o respons�veis por cada l�ngua.

 H� uma lista de discuss�o via e-mail para cada equipe de tradu��o,
 rodando em um servidor provido pela Linux International. Para fazer
 contato com a equipe de tradu��o para Portugu�s, envie um e-mail para
 [email protected] e para assinar a lista envie e-mail para [email protected]
 contendo apenas a palavra ``subscribe''. Assine a lista somente se
 voc� quiser fazer parte da equipe de tradutores, pois ela n�o se
 destina ao esclarecimento de d�vidas de usu�rios!

 Mais informa�es podem ser encontradas na documenta��o do pacote
 gettext dispon�vel via FTP an�nimo em qualquer reposit�rio de software
 do GNU.  Provavelmente sua distribui��o j� tem um pacote pronto para
 ser instalado, mas se voc� desejar, os fontes da vers�o mais recentes
 podem ser encontrados em

      <ftp://ftp.gnu.org/pub/gnu/>


 e o nome do arquivo a copiar � ``gettext-<vers�o>.tar.gz''.


 5.  Configura��o do X

 Quando o servidor X est� ativo, ele coloca o teclado do computador em
 um modo de opera��o chamado raw (cru), em oposi��o ao modo normal,
 chamado cooked (isto mesmo: cozido). No modo raw o sistema operativo
 n�o processa seq��ncias acento-letra. O servidor X � uma daquelas
 raras aplica�es que, por dever de of�cio, tem que tratar o teclado
 ``em baixo n�vel''.

 O X vem equipado com um utilit�rio destinado � configura��o do
 teclado, chamado xmodmap, que cumpre uma fun��o correspondente � do
 comando loadkeys, ou seja, l� um arquivo de mapa de teclado do X,
 expecificando as equival�ncias entre os keycodes e respectivos
 keysymbols.

 Eis um excerto deste arquivo:


      keycode 47 = ccedilla Ccedilla dead_acute dead_doubleacute
      keycode 48 = masculine ordfeminine dead_circumflex dead_caron
      keycode 49 = backslash bar notsign
      keycode 50 = Shift_L
      keycode 51 = dead_tilde dead_circumflex dead_grave dead_breve




 Observem que, ao contr�rio do loadkeys, o xmodmap n�o possui um
 diret�rio padr�o onde o arquivo � procurado.

 A configura��o do X n�o interfere de forma alguma com a configura��o
 do modo de texto.  De facto, � poss�vel ter o seu X bem configurado, e
 no entatanto n�o ter realizado qualquer tipo de configura��o ao modo
 de texto, e vice-versa.  Outro ponto importante de se observar � que
 os c�digos num�ricos das teclas no X n�o correspondem aos do console.
 A tecla Backspace, por exemplo, tem o n�mero 14 no console, e 22 no X
 (em um computador do tipo IBM-PC).

 As vers�es 3.2 e posteriores do XFree86 permitam definir dead-keys,
 mas o seu tratamento � responsabilidade da aplica��o, conforme visto
 na se��o ``Modo texto versus Sistema de Janelas X''. H� modos de
 contornar esta limita��o e tornar o tratamento de dead-keys
 transparente �s aplica�es, conforme mostrado na se��o ``Cotornando os
 limites do X''.

 Dividimos a configura��o em duas partes: Uma que deve ser feita antes
 do login do usu�rio e outra depois.



 5.1.  Configura��o do xinit

 Junto com este documento s�o fornecidos v�rios mapas de teclado para
 uso no X. Para automatizar o processo de configura��o do teclado basta
 copiar o arquivo adequado para o diret�rio /usr/X11R6/lib/X11/xinit,
 onde normalmente ficam os arquivos de in�co da se��o de trabalho no X.
 Na distribui��o Slackware esse diret�rio � um link simb�lico para
 /var/X11R6/lib/xinit e na Debian e na Red Hat para /etc/X11/xinit.

 Nas distribui�es Slackware e Red Hat, verifique se no referido
 diret�rio existe um arquivo chamado .Xmodmap. Se existir, copie o
 Xmodmap.<alguma-coisa>  para ele, ou fa�a um link.  Normalmente o
 arquivo de configura��o xinitrc possui os comandos para carreg�-lo
 automaticamente. Veja o seguinte trecho:



      #!/bin/sh
      # $XConsortium: xinitrc.cpp,v 1.4 91/08/22 11:41:34 rws Exp $

      userresources=$HOME/.Xresources
      usermodmap=$HOME/.Xmodmap
      sysresources=/usr/X11R6/lib/X11/xinit/.Xresources
      sysmodmap=/usr/X11R6/lib/X11/xinit/.Xmodmap

      # merge in defaults and keymaps

      if [ -f $sysresources ]; then
          xrdb -merge $sysresources
      fi

      if [ -f $sysmodmap ]; then
          xmodmap $sysmodmap
      fi




 Na distribui��o Debian o mapa de teclado padr�o do X �
 /etc/X11/Xmodmap, basta copiar o mapa desejado para aquele arquivo.
 Ele ser� carregado pelo xinitrc, que por sua vez � um link simb�lico
 para /etc/X11/Xsession, sempre que iniciar a se��o de trabalho do
 usu�rio.


 5.2.  Configura��o do XDM

 Existe ainda um pequeno problema: no meu computador, por exemplo, o
 sistema carrega diretamente o X ao dar boot e o login � feito pelo X
 Display Manager (xdm). Como o xdm faz o login antes de iniciar a se��o
 de trabalho, o mapa de teclado n�o ser� carregado, o que pode criar
 problemas se o usu�rio usa caracteres como ``['' ou ``]'' em sua
 senha, pois nos teclados ABNT-2 e portugu�s esses s�mbolos s�o gerados
 por teclas cujos c�digos num�ricos n�o s�o os mesmos do teclado
 americano.

 � preciso fazer uma pequena altera��o no arquivo de configura��o
 Xsetup_0.  Esse arquivo deve estar no diret�rio
 /usr/X11R6/lib/X11/xdm, que na Slackware � um link simb�lico para
 /var/X11R6/lib/xdm e /etc/X11/xdm na Debian e -- sujeito a confirma��o
 -- RedHat. Eis o conte�do completo desse arquivo:





 #!/bin/sh
 #
 # /usr/X11R6/lib/X11/xdm/Xsetup_0
 #

 sysresources=/usr/X11R6/lib/X11/xinit/.Xresources
 sysmodmap=/usr/X11R6/lib/X11/xinit/.Xmodmap

 # merge in defaults and keymaps

 if [ -r $sysresources ]; then
     xrdb -merge $sysresources
 fi

 if [ -r $sysmodmap ]; then
     xmodmap $sysmodmap
 fi

 xconsole -geometry 480x130-0-0 -daemon -notify -verbose \
          -fn fixed -exitOnFail




 A distribui��o Debian tem um Xsetup_0 um pouco diferente, em
 /etc/X11/xdm/Xsetup_0, mas basta acrescentar-lhe o seguinte:



      sysmodmap=/etc/X11/Xmodmap
      sysresources=/etc/X11/Xresources

      if [ -f $sysresources ]; then
        xrdb -merge $sysresources
      fi

      if [ -f $sysmodmap ]; then
        xmodmap $sysmodmap
      fi




 Se no seu computador o login do usu�rio tamb�m for feito sempre via
 xdm, n�o � necess�rio mexer no xinitrc, como mostrado na se��o
 anterior, j� que o mapa de teclado ser� carregado antes do in�cio na
 se��o do usu�rio.


 5.3.  Compose

 Uma das coisas mais importantes a definir quando vamos utilizar
 acentua��o por meio de dead-keys � o conjunto de regras de composi��o.
 Essas regras determinam, por exemplo que a composi��o do caracter
 ' com a letra e gerar� um �.

 Ao contr�rio do console, no qual podemos definir as regras de
 composi��o no pr�prio mapa de teclado, no X essas regras s�o colocadas
 no arquivo /usr/X11R6/lib/X11/locale/iso8859-1/Compose.

 Para facilitar o uso dos mapas para teclados que n�o t�m o c-
 cedilhado, como o US+ (veja adiante) � conveniente definirmos uma nova
 regra de composi��o, permitindo que o � seja gerado pela seq��ncia 'C.
 Se n�o fizermos isso, seremos obrigados a digitar <dead_cedilla-C>,
 sedo o dead_cedilla produzido pela combina��o AltGR-=, o que n�o �
 nada confort�vel.
 Para incluirmos as novas regras, basta aplicar uma altera��o �
 defini��o original. O arquivo Compose.patch pode ser obtido via WWW na
 p�gina do Portuguese HOWTO. Para aplicar a atualiza��o, copie-o para o
 diret�rio /usr/X11R6/lib/X11/locale/iso8859-1/, fa�a uma c�pia de
 reserva do Compose original e invoque o utilit�rio patch:


      cp -p Compose Compose.backup
      patch < Compose.patch




 Caso voc� prefira n�o aplicar o ``patch'', um arquivo Compose pronto
 tamb�m � fornecido. Lembre-se de fazer c�pia do original antes de
 substitu�-lo!

 5.4.  Locale

 Para os usu�rios brasileiros, h� mais uma altera��o a fazer no X.
 Conforme vimos na se��o ``Biblioteca libc'', uma vari�vel de ambiente
 (LANG ou LC_ALL) configura o suporte internacional existente na
 biblioteca de fun�es padr�o do sistema (libc). Esta configura��o
 tamb�m � reconhecida pela biblioteca de fun�es do X (Xlib) mas at� a
 revis�o 6.3, na qual � baseado o XFree86, n�o era incluida a
 combina��o ``pt_BR'', correspondente a Portugu�s/Brasil. Como
 resultado, cada vez que executarmos um aplicativo X com LC_ALL
 definido como ``pt_BR'' ele emitir� a mensagem ``Warning: locale not
 supported by Xlib, locale set to C''.

 Para incluir o local pt_BR no X11R6.3 basta alterar tr�s arquivos
 existentes no diret�rio /usr/X11R6/lib/X11/locale. Pegue o arquivo
 Xlocale.patch via WWW na p�gina do Portuguese HOWTO. Para aplicar a
 atualiza��o, copie-o para o diret�rio /usr/X11R6/lib/X11/locale, fa�a
 uma c�pia de reserva dos arquivos a serem alterados e invoque o
 utilit�rio patch:


      cp -p compose.dir compose.dir.backup
      cp -p locale.alias locale.alias.backup
      cp -p locale.dir locale.dir.backup
      patch < Xlocale.patch




 Caso voc� prefira n�o aplicar o ``patch'', arquivos prontos tamb�m s�o
 fornecidos. Lembre-se de fazer c�pias dos originais antes de
 substitu�-los!

 Em setembro de 1998 o fix-2 da revis�o 6.4 do X Window System incluiu
 oficialmente o suporte ao local pt_BR. Infelizmente neste mesmo fix-2
 foi introduzida uma falha em uma das fun�es de tratamento de input
 contexts da Xlib que provoca viola�es de acesso � mem�ria. Uma das
 aplica�es afetadas � o processador de textos LyX. Uma corre��o
 provavelmente ser� incluida no fix-4. O X11R6.4 dever� ser a base para
 a vers�o 4 do XFree86.


 5.5.  Contornando os limites do X

 Conforme foi explicado na se��o ``Modo texto versus Sistema de Janelas
 X'', o tratamento de acentos deve ser feito pela aplica��o, mas ainda
 h� muitos programas que n�o levam isto em considera��o, tais como
 Netscape Navigator/Communicator e Nedit. Como n�o � poss�vel modificar
 muitos deles, � preciso encontrar outro tipo de solu��o.
 5.5.1.  Altera��o da biblioteca Xlib

 Linux, assim como a maioria dos sistemas operacionais modernos, usa um
 sistema de v�nculo de programas a bibliotecas de fun�es chamado
 ``liga��o din�mica'' (dynamic binding). Deste modo, podemos modificar
 o comportamento de um programa alterando uma dessas bibliotecas.
 Maiores informa�es sobre este tema pode ser obtida nos manuais do
 Linux com os comandos


      man ld.so
      man ldconfig
      man ldd
      man dlopen




 Thomas Quinot criou uma altera��o para a biblioteca de fun�es do X
 (Xlib) introduzindo o tratamento de acentos na fun��o XLookupString,
 Tudo que se tem a fazer � substituir o arquivo contendo esta bib�
 lioteca por outro, que pode ser obtido via internet no endere�o

      <http://web.fdn.fr/~tquinot/dead-keys.en.html>


 Existem duas vers�es do arquivo, uma para sistemas onde as bibliotecas
 do X suportam o uso seguro de threads (Debian 2.x, Red Hat 5.x, etc.)
 e outra para os sistemas que n�o possuem tal atributo (Slackware,
 Caldera 1.x). Se voc� n�o sabe o que s�o threads n�o se preocupe com
 isso, mas saiba que eles permitem criar um programa capaz de se
 dividir em sub-processos que rodam concorrentemente em um computador.
 Para analisar sua Xlib rode o seguinte comando:

      nm --dynamic /usr/X11R6/lib/libXext.so.6|grep _Xglobal_lock


 Se aparecer ``U _Xglobal_lock'' seu sistema suporta threads e o
 arquivo a obter � libX11-XF3.3.1-TS.tar.gz. Se n�o aparecer, seu sis�
 tema n�o suporta threads e o arquivo a obter � libX11-XF3.3.1.tar.gz.
 Tendo obtido o arquivo, copie-o para um diret�rio tempor�rio e extraia
 seu conte�do.  Mova o arquivo /usr/X11R6/libX11.so.6.1 para outro
 diret�rio, para preserv�-lo. N�o � suficiente renome�-lo! Remova-o
 para um diret�rio cujo nome n�o esteja contido no arquivo
 /etc/ld.so.conf. Depois, mova o novo arquivo para o lugar do antigo e
 rode o programa ldconfig (isto deve ser feito pelo usu�rio root):


      cp libX11-XF3.3.1-TS.tar.gz /tmp
      cd /tmp
      tar xzf libX11-XF3.3.1-TS.tar.gz
      mkdir /usr/X11R6/oldlib
      mv /usr/X11R6/lib/libX11.so.6.1 /usr/X11R6/oldlib
      mv libX11.so.6.1 /usr/X11R6/lib
      chown root:root /usr/X11R6/lib/libX11.so.6.1
      chmod 755 /usr/X11R6/lib/libX11.so.6.1
      /sbin/ldconfig




 � aconselh�vel que a opera��o seja realizada quando nenhuma aplica��o
 X estiver rodando. A seguir, edite o arquivo de configura��o do
 servidor X, chamado XF86Config. Este arquivo fica no diret�rio /etc
 (Slackware) ou /etc/X11 (Debian, Red Hat). Procure a se��o
 ``Keyboard'' e inclua a op��o ``XkbDisable'', conforme mostrado a
 seguir:


      Section "Keyboard"
         Protocol        "Standard"
         XkbDisable
      EndSection




 A op��o XkbDisable inabilita a extens�o XKEYBOARD do servidor X, o que
 neste caso serve para sinalizar � fun��o XLookupString que ela deve
 tratar os acentos. Se quisermos voltar ao comportamento normal, basta
 retirar a opc��o do XF86Config.

 Configure o mapa de teclado do X conforme explicado nas se�es
 anteriores deste documento. Para testar o resultado, rode o programa
 xedit e digite alguns caracteres acentuados.


 5.5.2.  Altera��o no kernel  do Linux


      Esta se��o � baseada em contribui��o enviada por Bruno Bar�
      beri Gnecco e na documenta��o do diacrd. Podem haver ainda
      alguns erros e se algu�m os detectar, por favor avise-me.


 Seguindo a regra geral do mundo *nix, existe sempre mais de um modo se
 resolver o mesmo problema. Conforme vimos anteriormente, existem dois
 modos de opera��o do teclado, chamados raw e cooked. Estes modos de
 opera��o podem ser mudados com o programa kbd_mode, integrante do
 pacote kbd, o que n�o � recomend�vel fazer a n�o ser para restaurar o
 estado do console ap�s um desastre com o servidor X, por exemplo. No
 modo raw o kernel n�o processa os diacr�ticos (acentos).

 Cedric Adjih criou uma altera��o para o kernel que permitia tratar os
 acentos mesmo em modo raw, inicialmente voltada para o teclado de
 desenho franc�s.  En�as Queiroz, Andr� D. Balsa e Claudemir Todo Bom
 fizeram melhorias e o adaptaram para os teclados internacional,
 portugu�s e ABNT. O tratamanto de acentos � feito parte pelo kernel,
 parte por um processo que roda em retaguarda (daemon) chamado diacrd,
 conforme descrito a seguir:

 �  Uma modifica��o no kernel faz que todos os dados lidos do teclado
    sejam redirecionados para um dispositivo especial do sistema
    chamado /dev/rawkbd quando o teclado estiver em modo raw.

 �  Os dados que o kernel grava no /dev/rawkbd s�o lidos pelo programa
    diacrd, que processa as seq��ncias acento-letra e reescreve no
    /dev/rawkbd os caracteres acentuados na forma de c�digos de
    varredura (scancodes) que normalmente n�o existem no teclado.

 �  O kernel l� no /dev/rawkbd os c�digos gravados pelo diacrd e os
    passa � aplica��o, que no caso � o servidor X.

 �  O servidor X mapeia os c�digos de varredura para caracteres. Um
    mapa de teclado especial permite ent�o gerar as letras acentuadas.

 O diacrd pode ser obtido via FTP an�nimo no endere�o

      <ftp://sunsite.unc.edu/pub/Linux/system/keyboards>


 H� vers�es diferentes, de acordo com o tipo de teclado e, pelo menos
 por enquanto, n�o se pode reconfigur�-lo sem recompilar. Para fazer a
 instala��o, de acordo com o arquivo ``README'', deve-se fazer o
 seguinte (pelo usu�rio root):

 �  Obtenha o arquivo -.tar.gz correspondente a seu teclado. Extraia
    seu conte�do, o que dever� criar um diret�rio chamado
    diacrd-<vers�o>.

 �  Edite o arquivo diacrd.c e remova os coment�rios desejados, de
    acordo com suas prefer�ncias. Pode-se incluir capacidade de rodar o
    programa xmodmap e ejetar o CD-ROM sob controle do pressionamento
    de uma combina��o de teclas.

 �  Aplique a modifica��o no kernel. Para isto, execute o comando
    ``make patch-usr-src''.

 �  Crie o dispositivo /dev/rawkbd executando o comando
    ``make rawkbd''.

 �  Compile o diacrd e instale-o executando os comandos ``make'' e
    ``make install''.

 �  Compile e instale o kernel, com os comandos


      cd /usr/src/linux
      make config
      make zlilo




 Para maiores informa�es sobre compila��o/instala��o do kernel, leia o
 Kernel-HOWTO, dispon�vel via Internet nos reposit�rios do LDP men�
 cionados na se��o ``Onde encontrar a vers�o mais atual''.

 �  D� um ``reboot'' no computador. Verifique se o suporte ao
    dispositivo rawkbd foi instalado com sucesso com o comando


      dmesg | grep RAWKBD




 Deve aparecer


      RAWKBD interface for diacriticals translation enabled...




 e teste o dispositivo /dev/rawkbd com o comando


      printf "### TESTANDO ###" >> /dev/rawkbd




 Veja na se��o ``Configura��o do console'' como carregar um mapa com
 suporte � acentua��o. O pacote diacrd vem com um arquivo chamada
 usintl.map, que corresponde ao nosso us+.map. Se seu teclado n�o for
 do tipo americano, use o pt.map ou abnt-2.map.

 �  Substitua o arquivo /usr/X11R6/lib/X11/xkb/keycodes/xfree86 pelo
    arquivo fornecido junto com o diacrd.

 �  Se tudo correr bem, rode o programa diacrd. Depois ative o X e use
    o xmodmap para carregar o mapa xmodmap.diacrd.

 Se a gera��o de acentos funcionar, � preciso tornar permanentes as
 altera�es necess�rias. Pode-se faz�-lo incluindo a carga do diacrd no
 arquivo /etc/rc.d/rc.local (Slackware).

      Se algum dos leitores tiver criado um script de ativa��o do
      diacrd para a distribui��o Debian ou Red Hat, por favor
      envie-o para que seja inclu�do aqui.



 5.5.3.  Compara��o entre as duas solu�es

 Em termos de resultados pr�ticos, a Xlib modificada e o diacrd s�o
 equivalentes. H� por�m algumas diferen�as entre as duas solu�es que
 merecem aten��o.

 Diacrd exige uma altera��o no kernel do Linux para resolver um
 problema que o kernel j� resolve, o que n�o deixa de parecer um tanto
 redundante. A depend�ncia de um processo de usu�rio (o daemon kerneld)
 � uma desvantagem, pois se esse programa deixar de funcionar perde-se
 o suporte � acentua��o no X. Trata-se de uma solu��o ainda em
 desenvolvimento e, segundo o conte�do da documenta��o que o acompanha,
 o ideal seria que todo o tratamento fosse feito pelo kernel, sem
 depender de outro programa.

 A necessidade de aplicar modifica�es no kernel para usar o diacrd n�o
 deixa de ser um risco, pois pode vir a criar incompatibilidades com
 vers�es mais recentes tanto do pr�prio kernel quanto com os
 utilit�rios do pacote kbd. Pode tamb�m ser dif�cil para um usu�rio
 novato envolver-se com coisas desse tipo.

 A solu��o via Xlib � totalmente transparente �s aplica�es e permite
 reconfigura��o em tempo de execu��o, bastando alterar o mapa de
 teclado do X e as regras de composi��o. J� o diacrd precisa ser
 recompilado se quisermos trocar o tipo de teclado, mas � poss�vel que
 novas vers�es incorporem algum recurso de reconfigura��o.

 O diacrd s� funciona no teclado do pr�prio computador. Se quisermos
 usar um display remoto, seja um termial X, seja um outro computador,
 n�o teremos suporte � acentua��o. A troca da Xlib, por outro lado,
 enquadra-se plenamente na filosofia do X de que o servidor prov�
 mecanismo, deixando a cargo da aplica��o a defini��o de pol�ticas.
 Exemplo da vantagem deste paradigma � poder usar as t�cnicas descritas
 na se��o ``Configura��o do X'' em outros sistemas operativos e com
 terminais X.

 A solu��o via Xlib parece-me mais ``limpa'' e � minha predileta, mas,
 como sempre, fica a crit�rio do usu�rio ou do administrador do sistema
 qual alternativa escolher.

 6.  Configura��o dos v�rios programas


 6.1.  Aplicativos

 A maioria das aplica�es que rodam no Unix usa algum tipo de arquivo
 de configura��o que o usu�rio coloca em seu diret�rio de trabalho
 (home) e cujo nome normalmente � .alguma-coisarc. Tanto quanto
 poss�vel, tentei evitar que isso fosse necess�rio, pois al�m de dar
 mais trabalho ao usu�rio (e ao administrador da rede ;-) pode
 dificultar um pouco as coisas. Por exemplo, aqui no CPMet temos o
 diret�rio home compartilhado entre um servidor Alpha rodando DEC UNIX
 com os PCs rodando Linux via NFS (at� a maior parte do Linux est�
 instalada no Alpha, os PCs s� t�m a parti��o raiz e uma �rea de swap).
 Os arquivos podem necessitar algum ajuste dependendo da plataforma e
 nem todos os programas possuem flexibilidade bastante para isso.

 Uma op��o que muitos programas tamb�m oferecem � especificar em uma
 vari�vel de ambiente o nome do arquivo de configura��o ou o uso de
 arquivos padr�o que normalmente ficam em um diret�rio /usr/lib/alguma-
 coisa ou /etc/alguma-coisa.


 6.1.1.  Bash (biblioteca GNU readline)

 Os programas que utilizam a biblioteca GNU readline para ler a linha
 de comando procuram por um arquivo chamado .inputrc no diret�rio
 ``HOME'' do usu�rio caso n�o exista uma vari�vel de ambiente INPUTRC
 contendo o caminho para um arquivo de configura��o.

 Coloque uma linha no seu arquivo /etc/profile contendo


      INPUTRC="/etc/inputrc"
      export INPUTRC




 e crie um arquivo /etc/inputrc contendo


      set meta-flag on
      set convert-meta off
      set output-meta on




 Outra alternativa � criar um arquivo .inputrc no diret�rio home do
 usu�rio com o conte�do acima, mas � muito dif�cil manter atualizados
 os arquivos de todos os usu�rios, principalmente quando eles s�o
 muitos.


      Um arquivo inputrc mais completo pode ser obtido via WWW na
      p�gina do Portuguese HOWTO. Ele cont�m op�es para v�rios
      tipos de terminal e permite usar as teclas de movimento de
      cursor para percorrer o hist�rico de comandos (setas para
      cima e para baixo); ir para o primeiro e para o �ltimo
      comandos do hist�rico (teclas PageUp e PageDown); posicionar
      o cursor na linha (setas para a esquerda e direita) e posi�
      cionar o cursor no in�cio e no fim da linha (teclas Home e
      End).


 Para maiores informa�es leia os manuais do bash e da biblioteca
 readline com os comandos


      man bash
      man readline




 6.1.2.  tcsh

 Nenhuma medida especial � necess�ria se for feita a correta
 configura��o das vari�veis de ambiente ``LANG'' e ``LC_ALL'', conforme
 mostrado mostrado na se��o ``Biblioteca libc''.


 6.1.3.  Joe

 Invoque o joe com a op��o -asis na linha de comando ou altere os
 arquivos de configura��o para ativar tal op��o. Na Slackware eles
 est�o no diret�rio /usr/lib/joe. Tudo que se tem a fazer � remover o
 espa�o em branco existente no in�cio de cada linha. Outra alternativa
 � acrescentar a seguinte linha ao arquivo /etc/profile:


      alias joe='joe -asis'




 Joe pode emular os editores Pico, emacs e WordStar. Um arquivo joerc
 est� dispon�vel via WWW na p�gina do Portuguese HOWTO, contendo
 configura�es que permitem usar as teclas Home e End para movimentar o
 cursor para o in�cio e fim da linha.


 6.1.4.  Less

 Coloque as seguintes linhas no seu arquivo /etc/profile:


      LESS="-MM -i"
      LESSCHARSET="latin1"
      LESSKEY="/etc/lesskey"
      LESSOPEN='|lesspipe.sh "%s"'
      export LESS LESSCHARSET LESSKEY LESSOPEN




 LESSKEY informa o nome de um arquivo contendo uma tabela de seq��ncias
 de caracteres geradas por cada tecla e as a�es a serem tomadas pelo
 less.  Para criar o arquivo /etc/lesskey, crie primeiro o arquivo
 /etc/lesskey.in contendo as seguintes linhas:





















 # Termianl ANSI (console do Linux, XTerm, etc)
 \e[1~  goto-line
 \e[4~  goto-end
 \e[5~  back-screen
 \e[6~  forw-screen
 \e[7~  goto-line
 \e[8~  goto-end
 \e[A   back-line
 \e[B   forw-line
 # XTerm
 \eOH   goto-line
 \eOF   goto-end
 \e[H   goto-line
 \e[F   goto-end
 # Console Sun (testado com teclados Type 4/5)
 \e[214z        goto-line
 \e[220z        goto-end
 \e[216z        back-screen
 \e[222z        forw-screen
 # Arquivo seguinte/anterior
 :n      next-file
 :N      next-file
 :p      prev-file




 Depois ``compile-o'' usando o comando


      # lesskey -o /etc/lesskey /etc/lesskey.in




 Crie o arquivo /usr/bin/lesspipe.sh contendo


      #!/bin/sh
      # This is a preprocessor for 'less'.  It is used when this environment
      # variable is set:   LESSOPEN="|lesspipe.sh %s"

      case "$1" in
        *.rpm) rpm -qilp "$1" 2>/dev/null ;;
        *.tar) tar tvvf "$1" 2>/dev/null ;;
        *.tgz | *.tar.gz | *.taz | *.tar.Z | *.tar.z)
          tar tzvvf "$1" 2>/dev/null ;;
        *.tbz2 | *.tar.bz2)
          bzip2 -dc "$1" | tar tvvf - 2>/dev/null ;;
        *.Z) gzip -dc "$1"  2>/dev/null ;;
        *.z) gzip -dc "$1"  2>/dev/null ;;
        *.[1-9].gz | *.n.gz | *.man.gz)
          FILE=`file -Lz "$1" | cut -d ' ' -f 2`
          if [ "$FILE" = "troff" ]; then
            gzip -dc "$1" | groff -s -p -t -e -Tlatin1 -mandoc
          fi ;;
        *.gz) gzip -dc "$1"  2>/dev/null ;;
        *.zip) unzip -l "$1" 2>/dev/null ;;
        *.[1-9] | *.n | *.man)
          FILE=`file -L "$1" | cut -d ' ' -f 2`
          if [ "$FILE" = "troff" ]; then
            groff -s -p -t -e -Tlatin1 -mandoc "$1"
          fi ;;
      esac


 N�o esque�a de torn�-lo execut�vel:


      chmod 755 /usr/bin/lesspipe.sh





      Na distribui��o Debian j� existe um script /usr/bin/lesspipe
      (note a aus�ncia da extens�o .sh). Essa parte do lesspipe.sh
      tamb�m n�o tem nada a ver com acentua��o, mas n�o deixa de
      ser �til. Para os curiosos a respeito da refer�ncia a
      ``*.rpm'', embora na m�quina em quest�o se use Slackware, �
      poss�vel ter o utilit�rio RPM instalado tamb�m, o que
      facilita tomar emprestados pacotes do Red Hat, Caldera, etc.
      Existe um RPM+Slackware Mini-HOWTO que explica como fazer
      isso.



 6.1.5.  ls

 Acrescente a seguinte linha ao arquivo /etc/profile :


      alias ls="ls -N"




 ou


      alias ls="ls -b"




 Se a sua distribui��o de Linux usa o GNU ls (todas as que eu conhe�o
 usam)  basta acrescentar ao arquivo /etc/profile ou .profile as
 seguintes linhas:


      # -----------------------------------------
      # Set up the color-ls environment variables
      # -----------------------------------------
      if [   "$SHELL" = "/bin/bash" -o \
             "$SHELL" = "/bin/sh" ]; then
         eval `dircolors -b`
      elif [ "$SHELL" = "/bin/zsh" ]; then
         eval `dircolors -z`
      elif [ "$SHELL" = "/bin/ash" ]; then
         eval `dircolors -s`
      elif [ "$SHELL" = "/bin/ksh" -o \
             "$SHELL" = "/bin/pdksh" ]; then
         eval `dircolors -k`
      elif [ "$SHELL" = "/bin/csh" -o \
             "$SHELL" = "/bin/tcsh" ]; then
         eval `dircolors -c`
      else
         eval `dircolors -b`
      fi



 Se o seu shell � o csh ou tcsh, acrescente a seguinte linha ao arquivo
 /etc/csh.login ou ~/.login:


      alias ls 'ls --color'





 6.1.6.  Man, groff, troff

 Pode-se usar a op��o de linha de comando -Tlatin1 para o groff, mas �
 mais simples colocar uma linha no seu arquivo /etc/profile contendo


      GROFF_TYPESETTER="latin1"
      export GROFF_TYPESETTER




 Para maiores informa�es leia o manual do groff com o comando


      man groff




 O comando man usa o groff para formatar os manuais e deve ser
 configurado para usar o conjunto Latin 1, ou n�o ser� poss�vel
 formatar satisfatoriamente manuais que contenham caracteres n�o
 pertencentes ao conjunto ASCII, como � o caso do ``man iso_8859_1''.
 Na distribui��o Slackware, � preciso editar o arquivo
 /usr/lib/man.config e alterar as defini�es NROFF e NEQN, trocando a
 op��o ``-Tascii'' para ``-Tlatin1'':


      NROFF           /usr/bin/groff -Tlatin1 -mandoc
      NEQN            /usr/bin/geqn -Tlatin1




 ou, se usarmos a vari�vel de ambiente GROFF_TYPESETTER, podemos sim�
 plesmente eliminar a op��o -Tascii. Na distribui��o Debian n�o �
 necess�rio fazer nenhuma configura��o para o man, bastando configurar
 GROFF_TYPESETTER.


 6.1.7.  Midnight Comander (mc)

 No menu Options sub-menu Display bits... ligue a op��o ``Full 8 bits''
 ou ``ISO 8859-1''. Na vers�o 3.2.11 isso permite que sejam mostrados
 nomes de arquivos contendo caracteres acentuados, mas n�o foi poss�vel
 digitar tais caracteres na linha de comando ou nas caixas de di�logo.


 6.1.8.  Minicom

 Coloque uma linha no seu arquivo /etc/profile contendo




 MINICOM="-m -c on"
 export MINICOM




 Isso permitir� usar a tecla Alt para ativar os comandos (exatamente
 como o Telix) e tamb�m usar cores. Para maiores informa�es, leia o
 manual do Minicom usando o comando


      man minicom




 Mais uma dica sobre o Minicom: para faz�-lo usar usar corretamante a
 tecla Meta para ativa��o dos comandos rodando dentro de um xterm,
 deve-se invoc�-lo com a op��o ``-m'' e passar a op��o ``-xrm "*eight�
 BitInput: false"'' para o xterm. Se usarmos o rxvt ent�o o minicom
 deve ser chamado com a op��o ``-m'' e a tecla de ativa��o dos comandos
 ser� Alt. Fiz uma adapta��o no script xminicom que pode ser obtido via
 WWW na p�gina do Portuguese HOWTO.

 Segundo Arnaldo Carvalho de Melo [email protected] as vers�es mais
 recentes do minicom suportam internacionaliza��o. Suporte para o
 Portugu�s foi acrescentado pelo pessoal da Conectiva. Um pacote RPM
 (para a distribui��o Red Hat) pode ser obtido via FTP an�nimo em

      <ftp://ftp.conectiva.com.br/pub/conectiva/marumbi/Red
      Hat/RPMS/>


 e o c�digo fonte na p�gina do Jukka (atual mantenedor do Minicom) em

      <http://www.clinet.fi/~walker/minicom.html>



 6.1.9.  nn


      Al�, al�, algu�m usa nn? Informa��o mais atualizada ser� bem
      recebida.


 Acrescente a seguinte linha ao arquivo ~/.nn/init:


      set data-bits 8





 6.1.10.  Emacs

 O pai de todos os editores pode ser configurado criando-se um arquivo
 chamado .emacs no diret�rio do usu�rio, contendo as seguintes linhas:


      (set-input-mode nil nil 1)
      (standard-display-european t)
      (require 'iso-syntax)


 Para tornar esta configura��o global, na distribui��o Slackware
 coloque os comandos no arquivo /usr/lib/emacs/site-lisp/site-start.el.
 Na distribui��o Debian o emacs executa todos os scripts contidos no
 diret�rio /etc/emacs/site-start.d ao ser carregado. Tudo que se tem a
 fazer � colocar esses comandos em um arquivo chamado, por exemplo,
 01portugues-emacs.el.

 Se o estimado leitor, assim como eu, n�o se agrada do tratamento dado
 pelo Emacs �s teclas de Delete, Home e End, aproveite a oportunidade e
 acrescente ao mesmo arquivo o seguinte:


      (global-unset-key [backspace] )
      (global-set-key [backspace] 'delete-backward-char)
      (global-unset-key [delete] )
      (global-set-key [delete] 'delete-char)
      (define-key global-map [home] 'beginning-of-line)
      (define-key global-map [C-home] 'beginning-of-buffer)
      (define-key global-map [end] 'end-of-line)
      (define-key global-map [C-end] 'end-of-buffer)




 Arquivos de configura��o prontos podem ser obtidos via WWW na p�gina
 do Portuguese HOWTO. Para Slackware, h� um site-start-emacs.el, que
 deve ser copiado para o diret�rio /usr/lib/emacs/site-lisp com o nome
 de site-start.el. Para Debian, h� um 01portugues-emacs.el que deve ser
 copiado para o diret�rio /etc/emacs/site-start.d.

 Certifique-se de estar usando a vers�o 24-out-1998 ou mais recente do
 arquivo de mapa de teclado para o X, pois ela possui uma corre��o no
 tratamento das teclas modificadoras Alt e Meta, que s�o muito usadas
 pelo Emacs.


 6.1.11.  Xemacs (antigo lucid emacs)


      Agrade�o a colabora��o de Judson Santos Santiago e Goedson
      Teixeira Paix�o que ajudaram a identificar os problemas com
      o Xemacs.


 O Xemacs j� tem suporte � acentua��o direta no teclado usando ``dead
 keys'', mas h� um erro na configura��o original que o impede de
 reconhecer o acento circumflexo.  Este problema n�o ocorre se for
 usada a biblioteca Xlib aterada por Thomas Quinot, mencionada na
 se��o ``Cotornando os limites do X'', mas mesmo que n�o a usemos,
 basta colocar os seguintes comandos no seu arquivo de configura��o
 .emacs:


      ;; Ajuste para fazer o acento circunflexo funcionar
      ;; Contribui��o de Goedson Teixeira Paixao <[email protected]>
      (require 'x-compose)
      (define-key global-map 'dead-circumflex compose-circumflex-map)




 Na distribui��o Debian 2.0 o Xemacs 20.4 executa todos os scripts
 contidos no diret�rio /etc/xemacs20/site-start.d ao ser carregado.
 Tudo que se tem a fazer � colocar esses comandos em um arquivo
 chamado, por exemplo, 01portugues-xemacs.el. N�o � necess�rio instalar
 o xemacs20-mule, que possui extens�es para l�nguas que n�o usam o
 alfabeto romano. Os pacotes a instalar s�o os seguintes:


 �  xemacs20-bin

 �  xemacs20-nomule

 �  xemacs20-support

 �  xemacs20-supportel

 Se voc� instalou o Xemacs no Slackware ou outro Unix, � moda antiga
 (dowload, compila��o, insta��o), ent�o o arquivo a alterar � o site-
 start.el, que deve estar no diret�rio /usr/lib/xemacs/site-lisp ou
 /usr/local/lib/xemacs/site-lisp, dependendo de sua instala��o.

 Observe que a partir da vers�o 20.3 o Xemacs usa uma vari�vel especial
 para controlar o comportamento da tecla ``Delete'', n�o existente nos
 outros emacs chamada delete-key-deletes-forward. Para ativar este
 comportamento coloque no seu arquivo .emacs uma linha contendo



      (setq delete-key-deletes-forward t)




 Arquivos de configura��o prontos podem ser obtidos via WWW na p�gina
 do Portuguese HOWTO. Para Slackware, h� um site-start-xemacs.el, que
 deve ser copiado para o diret�rio correto com o nome de site-start.el.
 Para Debian, h� um 01portugues-xemacs.el que deve ser copiado para o
 diret�rio /etc/xemacs20/site-start.d.

 Certifique-se de estar usando a vers�o 24-out-1998 ou mais recente do
 arquivo de ``mapa de teclado'' para o X, pois ela possui uma corre��o
 no tratamento das teclas modificadoras Alt e Meta, que s�o muito
 usadas pelo Xemacs.


 6.1.12.  flex

 Especifique a op��o -8 se o parser a gerar necessitar de ler dados de
 8 bit.


 6.1.13.  Pine e Pico

 Para o Pine utilizar o conjunto de caracteres Latin 1, coloque uma
 linha no arquivo .pinerc, no diret�rio do usu�rio, contendo


      character-set=ISO-8859-1




 ou crie um arquivo geral de configura��o contendo tal linha. Esse
 arquivo normalmente � /usr/local/lib/pine.conf ou /usr/lib/pine.conf

 A configura��o tamb�m pode ser feita usando o pr�prio programa. No
 menu de entrada selecione as op�es Setup/Configuration. V� at� o �tem
 ``character-set'' e preencha-o com ``ISO-8859-1''. Para maiores
 informa�es leia o manual do pine com o comando


 man pine





 6.1.14.  TeX, LaTeX

 O pacote Babel, criado por Johannes Braams prov� suporte a um grande
 n�mero de l�nguas para o LaTeX. Normalmente apenas o suporte a
 separa��o sil�bica para Ingl�s e Alem�o s�o carregados.

 Para configurar a separa��o sil�bica no teTeX, execute o utilit�rio
 texconfig, que na distribui��o Slackware deve ser o programa
 /usr/lib/teTeX/bin/texconfig e na Debian � /usr/bin/texconfig.
 Selecione a op��o ``HYPHEN''.  O editor de texto ser� carregado, para
 editar o arquivo language.dat. Procure uma linha que come�a por
 %portuges e remova o %. Grave o arquivo e saia do editor. O texconfig
 atualizar� diversos arquivos de configura��o (n�o se assuste com a
 quantidade de mensagens que aparecer�o na tela).

      O editor carregado normalmente � o vi. Se o seu editor
      predileto for outro, crie uma vari�vel de ambiente chamada
      EDITOR contendo o nome desse programa.


 Normalmente a introdu��o de caracteres acentuados no texto exige o uso
 de seq��ncias de escape bastante trabalhosas. Para gerar um ``�''
 deve-se digitar \"o. Com babel pode-se digitar apenas "o, o que n�o
 deixa de ser inconveniente para ler o fonte do documento. H� um pacote
 chamado inputenc que permite especificar a codifica��o em que est�o os
 caracteres de um documento. Lembre-se por�m que se o seu documento for
 enviado para outro usu�rio que n�o possua o inputenc ele poder� n�o
 conseguir process�-lo, mas esse recurso j� est� dispon�vel desde a
 libera��o do LaTeX2e em dezembro 1994. Todas as distribui�es de Linux
 atuais o incluem.

 Para testar a nova configura��o copie o seguinte trecho para um
 arquivo chamado, digamos, exemplo.tex:


      \documentclass[a4paper]{article}
      \usepackage[latin1]{inputenc}
      \usepackage[portuges]{babel}

      \begin{document}
      \title{Linux Portuguese-HOWTO}
      \author{Carlos Augusto Moreira dos Santos}
      \date{17 de julho de 1998}

      \maketitle

      \section{Introdu��o}

      Este documento pretende ser um guia de refer�ncia de configura��o do
      \textbf{Linux} e seus programas, teclados e fontes de caracteres,
      permitindo sua internacionaliza��o/utiliza��o confort�vel por pessoas
      que falem a L�ngua Portuguesa.

      \end{document}




 Esse texto cont�m de prop�sito uma palavra bastante longa para for�ar
 a separa��o sil�bica. Ele est� dispon�vel via WWW no arquivo
 exemplo.tex na p�gina do Portuguese HOWTO. Para process�-lo, use o
 comando latex, conforme mostrado a seguir:


      bash$ latex exemplo.tex
      This is TeX, Version 3.14159 (C version 6.1)
      (exemplo.tex
      LaTeX2e <1996/06/01>
      Hyphenation patterns for english, german, portuges, loaded.
      (/usr/lib/teTeX/texmf/tex/latex/base/article.cls
      Document Class: article 1996/05/26 v1.3r Standard LaTeX document class
      (/usr/lib/teTeX/texmf/tex/latex/base/size10.clo))
      (/usr/lib/teTeX/texmf/tex/latex/base/inputenc.sty beta test version
      (/usr/lib/teTeX/texmf/tex/latex/base/latin1.def))
      (/usr/lib/teTeX/texmf/tex/generic/babel/babel.sty
      (/usr/lib/teTeX/texmf/tex/generic/babel/portuges.ldf
      (/usr/lib/teTeX/texmf/tex/generic/babel/babel.def))) (exemplo.aux) [1]
      (exemplo.aux) )
      Output written on exemplo.dvi (1 page, 892 bytes).
      Transcript written on exemplo.log.




 A mensagem ``Hyphenation patterns for english, german, portuges,
 loaded.'' indica que a configura��o foi bem sucedida. Se o seu com�
 putador est� rodando o X o documento formatado poder� ser visto com o
 comando


      xdvi exemplo.dvi




 H� um problema com o pacote algorithm do LaTeX, que n�o � suportado
 pelo babel, fazendo que a lista de algor�tmos saia com o t�tulo ``List
 of Algorithms'' e o t�tulo de cada um deles seja impresso como
 ``Algorithm #''.  Para evitar esse problema, coloque no pre�mbulo de
 seu documento LaTeX, ap�s o comando \usepackage{algorithm} o seguinte:



      \renewcommand{\ALG@name}{Algor\'{\i}tmo}
      \renewcommand{\listalgorithmname}{Lista de Algor\'{\i}tmos}




 Outro problema com algumas vers�es do teTeX � o ambiente proof,
 encontrado nas classes amsbook, amsart, etc. cujo t�tulo sai como
 ``Proof.''. Para corrigir isso, coloque no pre�mbulo de seu documento
 o comando



      \renewcommand{\proofname}{Demonstra\c{c}\~ao}




 Usu�rios do LyX podem incluir esses comandos no pre�mbulo do documento
 usando o menu Layout/Latex Preamble. Pode-se resolver o problema
 alterando o arquivo portuges.ldf que cont�m as defini�es necess�rias
 ao Portugu�s, mas esta solu��o n�o � port�vel, pois exigir� que tal
 arquivo seja alterado em todas os computadores em que o documento deva
 ser processado. Para os interessados, coloquei � disposi��o na p�gina
 do HOWTO um arquivo chamado portuges.ldf.patch que criei para o teTeX
 em minha m�quina (Slackware).  Para aplicar a atualiza��o, copie-o
 para o diret�rio /usr/lib/teTeX/texmf/tex/generic/babel (Slackware),
 fa�a uma c�pia de reserva do portuges.ldf original e invoque o
 utilit�rio patch:



      cp -p portuges.ldf portuges.ldf.backup
      patch < portuges.ldf.patch




 Use o patch por sua conta e risco! Se voc� deixar o backup no
 diret�rio original ele ser� inclu�do no arquivo ls-R da pr�xima vez
 que o programa texhash for executado.  Isso n�o far� mal algum, mas
 pode-se mover o backup para algum lugar seguro (eu uso /usr/backup).

 H� uma lista de discuss�o brasileira de usu�rios de TeX/LaTeX, chamada
 TeX-BR, que roda no servidor de listas da FURG. Para entrar da lista
 mande um mail contendo apenas a palavra ``subscribe'' no corpo para
 [email protected]. Esta lista � administrada por Rafael
 Rodrigues Obelheiro <[email protected]>.

 Pode ser �til tamb�m um documento de exemplo para ter onde come�ar.
 Pensando nisso, Klaus Steding-Jessen <[email protected]>
 preparou um pequeno documento em Portugu�s com o objetivo de ser um
 guia ``by example'' para o usu�rio de LaTeX iniciante e intermedi�rio,
 que pode ser obtido via WWW em
 <http://www.ahand.unicamp.br/jessen/LaTeX/LaTeX-demo/>.  Klaus ecreveu
 tamb�m uma s�rie tr�s artigos destinados a ``descrever o sistema LaTeX
 como uma alternativa mais eficiente aos processadores de texto
 WYSIWYG'' que podem ser lidos via WWW em
 <http://www.ahand.unicamp.br/jessen/LaTeX/artigo-1/html/>.


 6.1.15.  Ispell

 Dicion�rios para o Portugu�s de Portugal podem ser obtidos via WWW na
 p�gina do Projecto Natura em
 <http://www.di.uminho.pt/~jj/pln/pln.html>. Para o Brasil, h� uma
 vers�o compilada pelo Ueda: <http://www.ime.usp.br/~ueda/>.

      Eu gostaria de poder colocar maiores informa�es, mas ainda
      n�o tenho conhecimento suficiente sobre o Ispell e n�o posso
      ensinar o que n�o sei. Preciso de ajuda aqui.



 6.1.16.  LyX

 Para aqueles que acham trabalhoso escrever documentos para o LaTeX
 usando um simples editor de texto (e realmente �) LyX � uma excelente
 op��o.  Este programa cria uma interface gr�fica atrav�s da qual
 editamos os documentos que ser�o depois formatados pelo LaTeX. O
 ambiente � quase-WYSIWYG (What You See Is What You Get - O que tu v�s
 � o que tu obt�ns). LyX n�o roda apenas em Linux, mas em qualquer
 Unix. Maiores informa�es podem ser obtidas em


      <http://www.lyx.org>



 Tendo o LyX instalado, � muito f�cil criar documentos com acentua��o
 em Portugu�s. Seguindo as seguintes regras:


 �  Se o teclado foi configurado para ter dead keys usando um dos mapas
    aqui fornecidos, n�o � necess�rio fazer mais nada. Basta digitar o
    texto normalmente usando as seq��ncias de acentua��o. A �nica
    exce��o � o c-cedilha que n�o pode ser gerado usando a seq��ncia
    'c, pois o LyX vai gerar um c com acento, o que nos obriga a usar a
    sequencia Compose-v�rgula-c.

 �  Se o teclado n�o foi configurado para ter dead keys ainda assim �
    poss�vel acentuar no LyX. Selecione o menu Options/Keyboard. Na
    caixa de di�logo ``Key Mappings'', selecione no �tem
    Language/Primary a op��o ``American''. Com isto o LyX far� a
    composi��o dos caracteres acentuados usando regras semelhantes �s
    das dead keys.

 �  A v�rgula ser� tratada como cedilha. Para obter um � digite ,C e
    para obter uma v�rgula digite ,,. Cuidado! A seq��ncia ,<espa�o>
    gerar� uma cedilha isolada e n�o uma v�rgula!

 �  ~ ^ ' e ` ser�o tratados como acentos. Vale a mesma regra anterior:
    para obter apenas o acento, pressione a tecla duas vezes
    consecutivas.

 �  : ; . / ? e - tamb�m ser�o tratados como acentos.  ?a gerar� um � e
    assim por diante.

 Para o LyX imprimir corretamente, � necess�rio que, ao criar um novo
 documento, sejam selecionados a l�ngua e a codifica��o de caracteres
 adequadas. Crie um documento selecionando o menu File/New.  Depois
 selecione o menu Layout/Document. Na caixa de di�logo ``Document
 Layout'' selecione no �tem Language a op��o ``brazil'' ou ``portuges''
 (sem o u mesmo); no �tem Encoding selecione ``latin1''.

 Veja a observa��o sobre o pacote algorithm na se��o ``TeX, LaTeX''

 Uma observa��o final sobre o LyX: at� a vers�o 0.12 ele utiliza a
 biblioteca XForms para construir a interface com o usu�rio. Como essa
 biblioteca n�o tem suporte para acentua��o, n�o � poss�vel digitar
 letras acentuadas nas caixas de di�logo, somente no corpo do documento
 editado. Segundo os desenvolvedores, nas novas vers�es do LyX ser�
 poss�vel escolher o tipo de interface ao compilar o programa, o que
 permitir� o uso de toolkits mais flex�veis. J� existe uma vers�o de
 LyX portada para o toolkit Qt, usado no KDE, chamada KLyX. Os autores
 s�o Matthias Ettrich -- autor original do LyX -- e Kalle Dalheimer.
 Para maiores informa�es, consulte via WWW: <http://www-
 pu.informatik.uni-tuebingen.de/users/ettrich/>.



 6.1.17.  Fortune

 Fortune � aquele programa que toda vez que � invocado apresenta uma
 pequena mensagem, geralmente bem humorada. Ele � inspirado nos
 biscoitos da fortuna chineses (em ingl�s fortune cookies, da� o nome).
 Eis algumas mensagens t�picas:








 dROGA!!oNDE ESTA O cAPSLOCK??

 Mouse n�o encontrado, bater no gato? (S/N)

 Que fio � ess<=V++088.../NO CARRIER

 Quem ri por �ltimo est� conectado a 2400Bit/s.




 Tudo que o programa faz � escolher aleatoriamente uma mensagem em um
 reposit�rio mantido no diretorio /usr/games/fortunes (Slackware) ou
 /usr/share/games/fortunes (Debian). Neste diret�rio existem diversos
 arquivos com as ``fortunas'' e um arquivo �ndice para cada um deles,
 que possui a extens�o .dat. O formato dos arquivos � muito simples:
 cada fortuna � composta de uma s�rie de linhas de texto. As fortunas
 s�o separadas umas das outras por linhas contendo apenas um caracter
 %. Veja o trecho a seguir:


      O que s�o quatro pontos na parede? Four migas. Ugh!
      %
      Errar � humano, botar a culpa no computador � mais humano ainda.
      %
      A� ela me disse: Ou eu ou o modem! Sinto muitas saudades dela...




 Tudo que temos a fazer � criar um arquivo com as fortunas chamado,
 digamos fortunes com o formato descrito acima. Depois basta usar o
 programa strfile para gerar o �ndice:


      strfile fortunes




 e um arquivo chamado fortunes.dat ser� criado. Claro que se quisermos
 que o fortune mostre apenas mensagens em Portugu�s, teremos que
 remover os arquivos existentes no diret�rio original. Sugiro simples�
 mente renome�-lo para fortunes-en (de English) e criar outro vazio.
 Eu coletei algumas fortunas e as coloquei no arquivo fortunes-
 pt.tar.gz que pode ser obtido via WWW na p�gina do Portuguese HOWTO.
 N�o esque�a de colocar no seu /etc/profile algumas linhas contendo uma
 chamada ao fortune, por exemplo


      if [ -x /usr/games/fortune -a ! -e $HOME/.hushlogin ]; then
         echo
         /usr/games/fortune
         echo
      fi




 Uma �ltima informa��o: se o nome de um arquivo termina com o sufixo -o
 o fortune s� o consulta se for chamado com a op��o -o. Esses arquivos
 s�o os que cont�m mensagens cujo conte�do pode ser considerado ofen�
 sivo por algumas pessoas, tais como



 S� n�o mando a sogra pro inferno, com pena do Diabo.




 Claro que existem coisas muito mais ofensivas por a�, mas este � um
 Linux HOWTO e n�o queremos realmente ofender ningu�m, certo?


 6.1.18.  Jdk (inclui ICQJava)


      Esta informa��o � baseada em uma mensagem da qual guardei o
      conte�do mas n�o o remetente. Pe�o desculpas e espero que
      perdoe a falha. N�o testei pessoalmente a informa��o e pe�o
      que me escrevam confirmando tanto a corre��o quanto, se
      poss�vel, a identidade do autor.


 O Jdk utiliza fontes padr�o que n�o suportam acentos. Isto quer dizer
 que letras com acentos s�o ignoradas e, geralmente, confundem o resto
 do texto.  Resolver isto � extremamente f�cil:

 �  Entre no diret�rio jdk1.1.5/lib (no meu caso, /jdk1.1.5/lib).

 �  Copie o arquivo font.properties.hu sobrescrevendo o font.properties
    atual (lembre-se de fazer backups!).

 �  Entre no jdk e divirta-se! Fazendo isto, seu ICQ e todos os
    aplicativos que usem o jdk estar�o aptos a lerem acentos! (f�cil,
    n�o?)

 6.2.  Rede local e Internet


 6.2.1.  FTP (File Transfer Protocol)

 Existem dois modos de transferencia de arquivos: binary e ASCII, sendo
 este  utilizado para textos.  Deve-se tomar cuidado ao transferir um
 arquivo, pois o modo de transf�rencia ASCII remove o oitavo bit de
 cada caracter transmitido, o que ter� como consequencia a perda de
 todos os caracteres acentuados. Desta forma � aconselhado o envio de
 documenta��o em modo binary de forma a manter a integridade da mesma.

 Cuidado! Algumas vers�es mais antigas do pacote net-tools do Linux t�m
 um cliente FTP que n�o reconhee corretamente quando o servidor remoto
 roda Unix. Deste modo ele n�o comutar� o modo de transfer�ncia para
 bin�rio automaticamente. Al�m disso, alguns servidores FTP tamb�m n�o
 fornecem a informa��o corretamente.  Certifique-se de digitar o
 comando bin antes de um get quando quiser que a transfer�ncia seja
 bin�ria!


 6.2.2.  Correio eletr�nico

 O mesmo tipo de restri�es do FTP se aplica ao envio de documentos
 contendo caracteres acentuados, atrav�s de correio eletr�nico. Embora
 isto n�o aconte�a en todos os sistemas em uso na internet, bastar� que
 o correio enviado passe no seu trajecto por um sistema que n�o suporte
 8 bits de informa��o para que o nosso documento seja deturpado.

 Para que n�o hajam problemas, deve-se utilizar um programa de mail,
 que suporte o formato MIME (Multipurpose Internet Mail Extensions),
 formato este que permite o envio de documenta��o em modo 8 bits.
 Exemplos de programas de correio eletr�nico com suporte para MIME, s�o
 o Eudora e o Pine.
 Se o destinat�rio da mensagem n�o usa um agente com suporte para MIME,
 existe a op��o de codificar os documentos com o utilit�rio UUENCODE.
 Para maiores informa�es a esse respeito, leia a documenta��o usando
 os comandos



      man uuencode
      man uudecode






 7.  Ficheiros necess�rios

 Aten��o! Os mapas de teclado para o X fornecidos mapeiam a fun��o das
 teclas segundo a lista a seguir:

 �  Alt esquerdo: Alt

 �  Alt direito: AltGr

 �  Control esquerdo: Control

 �  Control direito: Control

 �  ScrollLock: ScrollLock

 �  Janela esquerda: Meta

 �  Janela direita: Compose

 �  Menu: Menu

 Se o seu teclado n�o possuir as teclas para Windows 95 ent�o pode ser
 melhor restabelecer a distribui��o padr�o: edite o mapa e coloque um
 ponto de exclama��o no in�cip das linhas que definem os keycodes 64,
 113, 115, 116 e 117.

 Foram elaborados mapas com suporte � acentua��o para seis modelos de
 teclado, tanto para uso no console quanto para o X.  Podem ser gerados
 mapas para outros tipos de teclado, mas etses s�o os �nicos aos quais
 o autor tem acesso no momento. As vers�es anteriores deste HOWTO
 incluiam a listagem completa dos mapas, mas isto tornava o texto final
 muito longo. A partir da vers�o 2.1 eles podem ser obtidos via WWW em
 um dos reposit�rios da p�gina do Portuguese HOWTO:


 �  <http://www.inf.ufrgs.br/~casantos/Portuguese-HOWTO/>

 �  <http://linusp.usp.br/~casantos/Portuguese-HOWTO/>

 Ao instalar um dos mapas fornecidos, lembre-se de ler os coment�rios
 contidos neles, pois h� informa�es importantes sobre op�es de
 configura��o e aproveitamento das teclas adicionais dos teclados
 padr�o Windows 95.  As instru�es para instala��o est�o nas se�es
 ``Configura��o do console'' e ``Configura��o do X''.



    O mapa US+ (us+.map e Xmodmap.us+)
       Mapas para os teclados que seguem o padr�o americano. Como n�o
       existem teclas especiais para gerar o c-cedilhado nem o trema,
       foi usado um pequeno truque: o c-cedilhado � gerado pela
       seq��ncia 'C.  No console pode-se faz�-lo com a seq��ncia AltGR-
       C.  O trema � gerado pela tecla ". Para gerar as aspas duplas �
       necess�rio digitar a seq��ncia "<espa�o> e no console pode-se
       usar ""; opcionalmente pode-se usar AltGR-", o que n�o � uma
       solu��o muito confort�vel, mas funciona...

       Testados com teclados de v�rias marcas (e alguns sem marca :-).


    O mapa Portugal (pt.map e Xmodmap.pt)
       Mapas para teclados com desenho portugu�s. Esses teclados s�o os
       que possuem uma tecla com os caracteres � e �. N�o s�o muito
       confort�veis, porque para gerar o s�mbolos @ [ ] { } e o trema �
       necess�rio usar a tecla Alt-GR.

       Testado com um teclado da marca Key Tronic.


    O mapa ABNT-2 (abnt-2.map e Xmodmap.abnt2)
       Os computadores vendidos no Brasil fabricados pela IBM, Compaq e
       Itautec, entre outros, v�m com esses teclados. Eles tamb�m pode
       ser adquiridos avulsos e s�o fabricados pela UIS e Keytec (n�o
       confundir com Key Tronic).  Este desenho � o mais confort�vel de
       todos, pois tem a mesma distribui��o dos acentos encontrada nas
       m�quinas de escrever.

       Testado com teclados das marcas UIS e IBM.


    Sun Type 4 e Type 5 (Xmodmap.Sun4+ e Xmodmap.Sun5c+)
       Encontrados nas m�quinas fabricadas pela Sun.  Estes mapas foram
       testados em SPARCstations modelos 1, 4, IPC e Classic rodando
       SunOS 4.1, Solaris 2.5.1 e Linux 2.0.33 (Red Hat 4.2). Como
       esses teclados n�o possuem o c-cedilhado, foi usado o mesmo
       truque do mapa US+. Apenas o mapa para o X � fornecido.


    NCD+ (Xmodmap.NCD+)
       Este mapa � para o teclado modelo N107 e foi testado em
       terminais X modelo 16r fabricados pela Network Computing Devices
       Inc. (NCD).  Embora a distribui��o de teclas seja id�ntica � do
       Sun Type 4, os keycodes das teclas s�o diferentes. Esses
       teclados tamb�m n�o possuem o c-cedilhado, por isso foi usado o
       mesmo truque do mapa US+.  Apenas o mapa para o X � fornecido.



 8.  Informa�es Adicionais




 8.1.  Leituras recomendadas

 Os Linux HOWTO aqui mencionados geralmente s�o distribu�dos nos CDs de
 instala��o e todas as distribui�es possuem pelo menos alguns deles em
 pacotes prontos para instalar.  Na Slackwre esses pacotes s�o os da
 s�rie F e os documentos ficam instalados no diret�rio
 /usr/doc/faq/howto e na Debian o diret�rio � /usr/doc/HOWTO. Eles
 tamb�m podem ser obtidos via WWW em
 <http://sunsite.unc.edu/pub/Linux/docs/HOWTO>.



    The Linux Keyboard and Console HOWTO
       Este documento descreve o tratamento teclado e console no Linux
       (kernel vers�o 2.0) e tem v�rias refer�ncias ao X. Leitura
       obrigat�ria para quem quer entender a base do assunto.


    The Linux XFree86 HOWTO
       Descreve como obter, instalar e configurar o XFree86. Pode ser
       obtido em
       <http://sunsite.unc.edu/pub/Linux/docs/HOWTO/XFree86-HOWTO>.
       Todas as ditribui�es de Linux j� v�m com pacotes do XFree86
       prontos para instalar, mas as informa�es sobre configura��o
       podem ser muito �teis.


    Dead keys under Linux and X11
       Este texto de Andr� D. Balsa, dispon�vel via WWW em
       <http://wauug.erols.com/~balsa/linux/deadkeys/> discute os
       aspectos de internacionaliza��o no X, al�m de conter refer�ncias
       para outros documentos que tratam de internacionaliza��o.


    Dead keys under X11
       A vers�o em ingl�s do artigo de Thomas Quinot sobre a
       modifica��o da Xlib para dar suporte � acentua��o independente
       da aplica��o. Est� dispon�vel via WWW em
       <http://www.fdn.fr/~tquinot/index.en.html>


    /usr/src/linux/Documentation/unicode.txt
       Este arquivo de documenta��o do kernel explica como ativar os
       diversos tipos de fontes no console. Tamb�m explica onde obter
       fontes para o alfabeto Klingon, o que pode ser muito �til se o
       leitor for um habitante daquele planeta ou admirador de Guerra
       nas Estrelas. Depois das recentes aventuras espaciais do Linux,
       n�o duvido de mais nada...


    /usr/src/linux/include/linux/keyboard.h ou
       /usr/include/linux/keyboard.h" Este arquivo cont�m as defini�es
       de constantes, fun�es e macros utilizadas por programas que
       fazem tratamento de teclado sob Linux.  Normalmente esse arquivo
       � instalado com o pacote que cont�m o c�digo fonte do kernel. As
       distribui�es normalmente possuem um pacote apenas com os
       arquivos include e outros com o resto dos programas-fonte do
       kernel.


    /usr/X11R6/include/X11/keysymdef.h ou
       /usr/include/X11/keysymdef.h" Este arquivo cont�m as defini�es
       de constantes, fun�es e macros utilizadas por programas que
       fazem tratamento de teclado sob o X Window System. Normalmente
       esse arquivo � instalado com o pacote que cont�m as bibliotecas
       de desenvolvimento de aplica�es para X.



 8.2.  Fontes de informa��o sobre Linux em Portugu�s


    Grupo de Investiga��o Linux
       Grupo de usu�rios de linux da Universidade do Minho, em Portugal
       que pode ser visitado em  <http://gil.di.uminho.pt>.


    Grupo de Utilizadores de Linux do ISCTE
       Pode ser visitado em
       <http://www.students.iscte.pt/~a12593/gul.html>.
    LDP-br
       Iniciativa coordenada por Marcelo Malheiros
       <[email protected]>. Pretende traduzir para o
       Portugu�s os documentos do LDP (ou pelo menos parte deles). O
       projeto esteve congelado durante certo tempo, mas desde setembro
       de 1988 foi retomado. O endere�o �
       <http://www.dca.fee.unicamp.br/~malheiro/linux/LDP-br.html>.


    Linux UNICAMP
       Servidor da Universidade Estadual de Campinas, Brasil, contendo
       informa�es sobre Linux. Pode ser visitado em
       <http://linux.unicamp.br>.


    Projeto Linusp
       Desenvolvido na Universidade de S�o Paulo, Brasil, coordenado
       por Jorge L.  deLyra <[email protected]>. Pode ser visitado
       em  <http://linusp.usp.br>.


 8.3.  Vers�es de software testadas

 Todas as informac�es presentes neste documento foram testadas nas
 seguintes vers�es de software:


 �  Distribui�es Slackware 3.2 (muito modificada) e Debian 2.0

 �  XFree86 vers�es 3.3 e 3.3.2

 �  Fvwm95 vers�o 2.0.43

 �  Rxvt vers�o 2.4.5

 �  Kernel vers�es 2.0.33 e 2.0.34

 �  Kbd vers�es 0.92 e 0.94

 �  GNU emacs vers�es 19.34 e 20

 �  Less vers�es 321 e 332

 �  GNU Bash vers�es 1.14.7 e 2.01.1

 �  tcsh vers�es 6.07.02 e 6.07.06

 �  LyX 0.12.0 e XForms 0.88

 �  Joe 2.8

 �  Pine 3.96

 �  Pico 2.9

 �  teTeX vers�es 0.4 e 0.9-9

 �  XEmacs vers�es 20.3 e 20.4




 8.4.  Futuro

 Futuras adi�es a este documento:

 �  Suporte para outras distribui�es (mencionar a Conectiva).

 �  Informa�es sobre compartilhamento de arquivos em rede usando NFS,
    SAMBA e Mars-NWE.

 �  Incluir informa�es sobre configura��o de toolkits: Qt, GTK,
    XForms, Tk (Tcl) e os baseados em Xt, como Motif, Lesstif, Xaw
    (*international ainda n�o est� funcionando).

 �  Incluir uma se��o sobre desenvolvimento de programas.

 �  Aumentar o n�mero de colaboradores n�o s� no Brasil, mas em
    Portugal e outros pa�ses de l�ngua portuguesa.

 �  Melhorar as refer�ncias ao Ispell e us�-lo para corrigir o pr�prio
    HOWTO :-).

 �  Incluir mais informa�es sobre X/Open, XPG4 e POSIX, ou pelo menos
    ponteiros para elas.


 8.5.  Termos e Condi�es

 Os documentos HOWTO do Linux podem ser reproduzidos e distribu�dos em
 todo ou em parte, segundo qualquer meio f�sico ou electr�nico, desde
 que esta Nota de Direitos de Autor se mantenha intacta em todas as
 c�pias dos mesmos.  A distribui��o comercial � autorizada e
 encorajada, no entanto, o autor gostaria de ser notificado de tais
 ocorr�ncias.

 Todas as tradu�es, trabalhos derivados, ou trabalhos agregando
 qualquer dos documentos HOWTO do Linux dever�o estar abrangidos por
 esta Nota de Direitos de Autor, ou seja, n�o poder� ser imposta
 qualquer restri��o adicional a trabalhos efectuados a partir de um dos
 documentos HOWTO do Linux nomeadamente no que diz respeito � sua
 distribui��o.

 Excep�es a estas regras poderam ser obtidas. Para tal, dever-se-�
 contactar o coordenador dos documentos HOWTO do Linux no endere�o
 [email protected].


 8.6.  Garantia (inexist�ncia de) e nota de responsabilidade

 Este HOWTO teve como autor Jo�o Carlos Rodrigues Pereira, baseado em
 documenta��o escrita por Jos� Bandeira al�m dos restantes HOWTO's do
 Linux. Atualmente ele � mantido por Carlos Augusto Moreira dos Santos.

 Apesar de ter sido feito o m�ximo esfor�o poss�vel para que o conte�do
 deste documento esteja correto, n�o h� nenhuma garantia de que ele n�o
 possua erros, nem de que tenha algum tipo de utilidade ou aplica��o
 comercial, t�cnica, educacional ou medicinal. O autor n�o se
 responsabiliza por preju�zos decorrentes do seu uso. Em resumo: se a
 informa��o aqui contida quebrar seu computador em mil pedacinhos,
 junte tudo e cole, mas n�o reclame para mim!

 Documentos escritos por terceiros s�o de responsabilidade exclusiva
 deles e sua refer�ncia neste HOWTO n�o representa nenhum tipo de
 recomenda��o, abono ou garantia de suporte. D�vidas, sugest�es,
 corre�es e garrafas de bom vinho devem ser enviadas para

 Carlos A M dos Santos
 Avenida Ildefonso Sim�es Lopes, 2791
 CEP 96.060-290, Pelotas, RS, Brasil
 Telefone (0532) 23-2525
 Fax (0532) 23-4814
 e-mail: [email protected]

 ``Flames'' ter�o o destino costumeiro: /dev/null.


 8.7.  Agradecimentos

 Deixo aqui os meus agradecimentos a todos os que de alguma forma me
 ajudaram quer atrav�s das suas sugest�es quer atrav�s de contribui�es
 de outro tipo.

 Em especial a:



    Jo�o Carlos Rodrigues Pereira
       Autor original deste documento que agora mantenho. Nunca tive
       contato com ele, nem sei por onde andar�.  Sua p�gina no
       Departamento de Inform�tica da Faculdade de Ci�ncias da
       Universidade de Lisboa (http://caravela.di.fc.ul.pt/~jcrp/) n�o
       existe mais. Lembro-me de t�-la visto, anos atr�s.


    Greg Hankins
       Ex-coordenador dos Linux HOWTO, por me permitir assumir a
       manuten��o deste documento e fornecer as primeiras dicas sobre
       autoria de documentos SGML.


 Os seguintes agradecimentos s�o do primeiro autor:


    Carlos Ferreira
       Pela luta que trava pela defesa da lingua portuguesa, bem
       patente na sua P�gina Portuguesa disponivel no URL:
       http://lila.dei.uc.pt/~cjrf/po/

    Jo�o C. Silva
       Pelo apoio e incentivo e criticas (bem como por me deixar testar
       os meus conhecimentos no SEU computador).

    Jos� Bandeira
       Autor dos ficheiros port.map e xmodmap.  Pelo seu apoio e por
       ter escrito alguma da documenta��o mais elucidativa que eu j� li
       sobre o assunto.


 As pessoas listadas a seguir enviaram mensagens diretamente para mim
 ou para as listas Linux-BR da UNICAMP e TeX-BR com informa�es,
 sugest�es ou coment�rios que foram incluidas neste texto. Se algu�m
 foi esquecido, por favor desculpe a falha.


      Arnaldo Carvalho de Melo <[email protected]>
      Bruno Barberi Gnecco <[email protected]>
      Cees de Groot <[email protected]>
      Francisco Semeraro <[email protected]>
      Goedson Teixeira Paixao <[email protected]>
      Jorge Carvalho Pinto <[email protected]>
      Judson S Santiago <[email protected]>
      Ken MacLeod <[email protected]>
      Klaus Steding-Jessen <[email protected]>
      Lamarque Vieira Souza <[email protected]>
      Marcos Vinicius Lannes dos Santos <[email protected]>
      Rafael Caetano dos Santos <[email protected]>
      Rafael Rodrigues Obelheiro <[email protected]>
 Ricardo Y. Igarashi <[email protected]>
 Wanderlei Antonio Cavassin <[email protected]>


 EOT.