mirror of https://github.com/tLDP/LDP
2967 lines
123 KiB
Plaintext
2967 lines
123 KiB
Plaintext
<!doctype linuxdoc system>
|
|
<!--
|
|
Guia de Referencia para a instalacao do Teclado e Pagina
|
|
de codigo Portuguesas.
|
|
|
|
(c)1995 Joao Carlos Rodrigues Pereira, jcrp@caravela.di.fc.ul.pt
|
|
(c)1997-1999 Carlos A M dos Santos, casantos@cpmet.ufpel.tche.br
|
|
|
|
Histórico
|
|
|
|
3.2 - 24 de maio de 1999
|
|
|
|
* Informação sobre o WordPerfect 8.
|
|
* Informação sobre o XKeyCaps
|
|
* Informações corretas sobre o idioma Klingon, o planeta Kling e Jornada
|
|
nas Estrelas, fornecidas pelo Klaus. Este HOWTO nunca mais será o
|
|
mesmo...
|
|
* Início da organização de uma bibliografia.
|
|
* Removida a seção ``Colocação do console em modo Unicode'' (obsoleta).
|
|
* Removido http://mirror.pop-mg.rnp.br/LDP/ da lista de espelhos do LDP
|
|
(parece estar fora do ar).
|
|
* Sunsite.unc.edu agora é Metalab.unc.edu.
|
|
* Finalmente temos um espelho oficial em Portugal!
|
|
* LyX com mensagens em Português e manuais sendo traduzidos.
|
|
* Referência para a lista LIE-BR
|
|
* Separação silábica no groff.
|
|
* Incluída na seção sobre libc5 uma discussão sobre o uso da variável LANG,
|
|
sua necessidade para o man e a mensagem de erro ``Warning: locale not
|
|
supported by C library, locale unchanged'' que a Xlib gera.
|
|
* Novo endereço do LDP-br na UNICAMP
|
|
* Ponteiro para o Dead keys Mini-HOWTO
|
|
* Correção das informações sobre LaTeX (algoritmo não tem acento - esta
|
|
doeu!). Acréscimo das contibuições do Klaus.
|
|
* Reorganização da ordem de algumas seções (aplicativos em ordem albabética
|
|
para facilitar a busca).
|
|
* Inclusão do comando loadunimap e correção da informação sobre carga
|
|
automática de mapas de tela.
|
|
* Informações sobre S.u.S.E. e Conectiva
|
|
* Seções sobre configuração de fonte e teclado com subseções individuais
|
|
para cada distribuição.
|
|
* Descrição mais detalhada das regras definidas no novo arquivo Compose.
|
|
* Correções e acréscimos nos mapas de teclado NCD e Sun.
|
|
* Brevemente, mapas de teclado para Macintosh (assim que eu descobrir como
|
|
dar boot do MkLinux ou LinuxPPC *sem* precisar do MacOS.
|
|
|
|
3.1 - 1 de janeiro de 1999
|
|
|
|
* Aleta sobre a necessidade do pacote ``locale'' na Debian
|
|
* Alterado o uso do comando `export' nos scripts para manter
|
|
compatibilidade com Bourne-shell
|
|
* Incluido um comentário sobre o bug do tratamento de XIC no X11R6.4 fix-2
|
|
* Localização dos diretórios de fontes e mapas de teclado do pacote KBD
|
|
* Informações mais detalhadas sobre o X
|
|
* Troca do nome da seção em que se compara o X com o modo de texto e
|
|
reorganização de alguns de seus parágrafos
|
|
* Incluídas informações sobre lista de algoritmos no LaTeX e ambiente proof
|
|
* Corrigida informação sobre o minicom - contribuição de Arnaldo Carvalho
|
|
de Melo <acme@conectiva.com.br>
|
|
* Informações sobre localização das fontes, mapas de teclado e scripts de
|
|
configuração no Red Hat - contribuição de Ricardo Y. Igarashi
|
|
<iga@originet.com.br>
|
|
* Inclusão de informações sobre o comportamento da tecla ``Delete'' no
|
|
xemacs.
|
|
* Correção da URL do diacrd
|
|
|
|
3.0 - 28 de outubro de 1998
|
|
|
|
* Distribuição preferencial agora é Debian
|
|
* Informações atualizadas sobre Xemacs
|
|
* Novo endereço do SGMLtools
|
|
* Referências servidores WWW do II/UFRGS e LinUSP
|
|
* Melhores explicações sobre Xlib
|
|
* Correção da informação sobre a modificação feita por Thomas Quinot na
|
|
Xlib e inclusão de instruções de instalação no XFree86 e X11R6
|
|
* Informações sobre o diacrd
|
|
* Informações mais detalhadas sobre groff e man
|
|
|
|
2.1 - 17 de julho de 1998
|
|
|
|
* Configuração global do Emacs
|
|
* Informações sobre TeX/LaTeX
|
|
* Informações sobre dicionários para o Ispel
|
|
* Fortune
|
|
* LyX
|
|
* Referência à libX11 de Thomas Quinot e maiores informações sobre suporte
|
|
à internacionalizalção no X
|
|
* Agradecimentos
|
|
|
|
2.0 - 24 Dezembro 1997
|
|
|
|
* Novo mantenedor
|
|
* Correções nos mapas para o teclado português
|
|
* Inclusão dos mapas de teclado ABNT-2 e US+
|
|
* Supressão de informações desatualizadas (incluindo toda a seção
|
|
Bibliografia Aconselhada)
|
|
|
|
0.3 - Update (14 Setembro 1995)
|
|
|
|
* Correcoes
|
|
|
|
* Endereco do coordenador mudou
|
|
* Sistema de janelas X -> Sistema de janelas X (X-Window Sistem)
|
|
|
|
* Aviso sobre a diferenca entre conf. de X e Texto, nao inter-dependentes
|
|
|
|
0.2 - Update (3 Setembro 1995)
|
|
|
|
* Correcoes
|
|
|
|
* Gestor de janelas X -> Sistema de janelas X
|
|
* LEMACS - nova entrada
|
|
* Emacs - dados acrescentados, os anteriores eram nulos !
|
|
* pequenas correcoes de sintaxe
|
|
|
|
0.1 - Versao original (1 Setembro 1995)
|
|
|
|
-->
|
|
|
|
|
|
<ARTICLE>
|
|
|
|
<!--
|
|
|
|
SGMLtools 1.0 não trata corretamente espaços e quebras de linha em
|
|
títulos, subtítulos e nomes, por isso esta coisa horrível aí adiante.
|
|
|
|
-->
|
|
<TITLE>Linux Portuguese-HOWTO
|
|
<SUBTITLE>Configurações do Linux para a Língua Portuguesa
|
|
<AUTHOR><name>Carlos A. M. dos Santos <<HTMLURL URL="mailto:casantos@cpmet.ufpel.tche.br" name="casantos@cpmet.ufpel.tche.br">>
|
|
<INST>CPMet/UFPEL -- Pelotas, RS, Brasil
|
|
<DATE>v3.2, 24 May 1999
|
|
<ABSTRACT>
|
|
Este documento pretende ser um guia de referência de configuração do
|
|
<BF/Linux/ e seus programas, teclados e fontes de caracteres, permitindo
|
|
sua utilização mais confortável por pessoas que falem a Língua Portuguesa.
|
|
</ABSTRACT>
|
|
|
|
<TOC>
|
|
|
|
<SECT>Introdução
|
|
<P>
|
|
À semelhança de outras línguas faladas na Europa, a Língua Portuguesa tem
|
|
características especiais, 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.
|
|
|
|
Nossa língua assume particularidades em cada um dos países em que é falada 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 agora é mantido por um brasileiro. Há 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é por
|
|
respeito ao primeiro autor. Termos ``estrangeiros'' desnecessários foram
|
|
substituídos por correspondentes da Língua Portuguesa, preservando-se apenas
|
|
os que já fazem parte do jargão da informática.
|
|
|
|
<SECT1>Finalidades deste HOWTO
|
|
<P>
|
|
Este HOWTO é 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
|
|
em alguns casos chega ser frustrante. As dificuldades encontradas centram-se
|
|
essencialmente em torno de quatro pontos:
|
|
|
|
<ITEMIZE>
|
|
<ITEM>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;
|
|
<ITEM>a exibição dos mesmos na tela do computador. O suporte resume-se
|
|
normalmente à correcta localização das teclas, nada mais;
|
|
<ITEM>o correto tratamento de convenções nacionais de formato de datas, horas e
|
|
valores monetários;
|
|
<ITEM>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.
|
|
</ITEMIZE>
|
|
|
|
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.
|
|
|
|
O texto contém uma já não tão 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.
|
|
|
|
O documento tem se tornado menos <EM/slackwariano/, incluindo cada vez mais
|
|
informações relativas a outras distribuições. Slackware e Caldera
|
|
ainda se baseiam na versão 5 da biblioteca de funções do sistema para Linux
|
|
(<EM/libc/), enquanto Debian, Red Hat, TurboLinux, S.u.S.E e Stampede 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.2 do Portuguese-HOWTO as particularidades
|
|
de cada distribuição serão destacadas quando houver necessidade. A tentativa
|
|
de tornar Debian uma distribuição ``de referência'' a partir da versão 3.0 do
|
|
HOWTO fracassou miseravelmente porque o número de diferenças entre as
|
|
distribuições é muito grande.
|
|
|
|
A intenção original de não tentar concentrar toda a informação em um único
|
|
texto, tratando apenas de alguns temas essenciais e fornecendo referências
|
|
para outras fontes, também fracassou. O HOWTO em sua versão 3.1 já alcançava
|
|
38 páginas impressas em formato A4, o que está longe de poder ser chamado de
|
|
sucinto. As principais razões para tal gigantismo são a necessidade de
|
|
discutir diferenças entre as distribuições e a necessidade de fornecer
|
|
informações mais detalhadas sobre aplicativos.
|
|
|
|
Excetuando-se aspectos muito específicos do Linux, como a configuração do modo
|
|
texto e do <EM/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,6,7} 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.
|
|
|
|
<SECT1>Onde encontrar a versão mais atual<LABEL ID="SEC:ONDE">
|
|
<P>
|
|
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 Instituto de Tecnologia de
|
|
Massachusetts (MIT), nos Estados Unidos da América, e podem ser obtidos via
|
|
FTP anônimo nos seguintes endereços:
|
|
<ITEMIZE>
|
|
<ITEM><URL URL="ftp://metalab.unc.edu/pub/Linux/docs/HOWTO"> (conhecida
|
|
anteriormente como <TT/sunsite.unc.edu/).
|
|
<ITEM><URL URL="ftp://tsx-11.mit.edu/pub/linux/docs/HOWTO">
|
|
</ITEMIZE>
|
|
|
|
Pode-se também folhear os documentos HOWTO em formato HTML no endereço
|
|
<ITEMIZE>
|
|
<ITEM><URL URL="http://metalab.unc.edu/LDP/HOWTO">
|
|
</ITEMIZE>
|
|
|
|
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 metalab.unc.edu. Uma lista
|
|
completa dessas localidades pode ser obtida em
|
|
<ITEMIZE>
|
|
<ITEM><URL URL="http://metalab.unc.edu/LDP/mirrors.html">
|
|
</ITEMIZE>
|
|
|
|
Eis uma lista dos endereços recomendados:
|
|
|
|
Brasil
|
|
<ITEMIZE>
|
|
<ITEM><URL URL="http://linusp.usp.br/LDP/">
|
|
<ITEM><URL URL="http://www.conectiva.com.br/LDP/">
|
|
<ITEM><URL URL="http://www.opensite.com.br/linux/">
|
|
<ITEM><URL URL="http://taubate.valley-bbs.com.br/LDP/">
|
|
<ITEM><URL URL="http://linux.unicamp.br/docs/">
|
|
</ITEMIZE>
|
|
|
|
Portugal
|
|
<ITEMIZE>
|
|
<ITEM><URL URL="http://gil.di.uminho.pt/mirrors/LDP/">
|
|
<ITEM><URL URL="http://deneb.cec.pt/LDP/">
|
|
<ITEM><URL URL="http://ftp.dei.uc.pt/LDP/">
|
|
<ITEM><URL URL="http://www.sc.uevora.pt/LDP/">
|
|
<ITEM><URL URL="http://lwp.ualg.pt/docs/LDP/">
|
|
<ITEM><URL URL="http://linux.global-one.pt/LDP/">
|
|
<ITEM><URL URL="http://linux.ispgaya.pt/LDP/">
|
|
<ITEM><URL URL="http://ae.fe.up.pt/LDP/">
|
|
</ITEMIZE>
|
|
|
|
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
|
|
gerados usando o SGMLtools (maiores informações em <URL
|
|
URL="http://www.sgmltools.org/">).
|
|
|
|
<SECT1>Página oficial na WWW
|
|
<P>
|
|
A página oficial do Linux Portuguese-HOWTO, assim como os diversos arquivos de
|
|
configuração do sistema e programas aplicativos mencionados no texto, podem
|
|
ser encontrados nos seguintes endereços:
|
|
|
|
<ITEMIZE>
|
|
<ITEM>Brasil: <URL URL="http://linusp.usp.br/~casantos/">
|
|
<ITEM>Portugal: <URL URL="http://linux.fe.up.pt/howto/">
|
|
</ITEMIZE>
|
|
|
|
<SECT1>Como enviar colaborações
|
|
<P>
|
|
Toda a formatação deste HOWTO, incluindo a numeração das seções é feita pelo
|
|
SGMLtools. Por isso, ao enviar sugestões ou correções, mencione <BF/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 sugestões e correções via correio eletrônico 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.
|
|
Todas as mensagens recebidas serão lidas, mas nem todas receberão resposta
|
|
direta, devido à falta de tempo para tanto.
|
|
|
|
Não envie documentos no formato proprietário de processadores de texto nem
|
|
em formato HTML (o que infelizmente parece ser o comportamento
|
|
normal do Netscape Communicator e do Microsoft Outlook).
|
|
|
|
Mensagens perguntando como configurar seu modem, placa de vídeo ou rede
|
|
não serão respondidas. Para esse tipo de consulta é aconselhável
|
|
procurar uma lista de discussão sobre Linux em Português ou acompanhar os
|
|
grupos de discussão de Linux na USENET <TT/comp.os.linux.*/.
|
|
|
|
``Flames'' terão o destino costumeiro: <TT>/dev/null</TT>.
|
|
|
|
</SECT1>
|
|
|
|
<SECT>Informações gerais
|
|
|
|
<SECT1>Conjuntos de caracteres
|
|
<P>
|
|
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 (<EM/International Standards Organization/ - ISO)
|
|
padronizou através da norma ISO-8859 vários desses conjuntos, identificados
|
|
por ISO-8859-<EM/x/ onde o <EM/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 (<EM/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 <EM/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 <EM/semigráficos/ para desenho de linhas e bordas.
|
|
Esses sinais podem aproveitar códigos não utilizados pelo conjunto oficial,
|
|
tornando-os não portáveis.
|
|
|
|
O <BF/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. Ele possui uma implementação ``nível
|
|
1'' do padrão Unicode. Maiores detalhes podem ser encontrados nos manuais do
|
|
Linux, que podem ser lido com os comandos
|
|
<VERB>
|
|
man unicode
|
|
man utf-8
|
|
man iso_8859_1
|
|
man ascii
|
|
</VERB>
|
|
mas antes disso certifique-se de que o <EM/man/ está configurado corretamente,
|
|
conforme mostrado na seção <REF ID="SEC:MAN" name="Man, groff, troff">.
|
|
|
|
<SECT1>Modo texto versus Sistema de Janelas X<LABEL ID="SEC:DIFXC">
|
|
<P>
|
|
Alguns sistemas operativos, tais como MacOS, Microsoft Windows e NeXT, possuem
|
|
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 <BF/não/ suporta totalmente o padrão Unicode e sim uma extensão do
|
|
ISO-8859.
|
|
|
|
<QUOTE>
|
|
A rigor o X Window System <BF/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) <EM/sobre a qual/ se construíram várias interfaces gráficas.
|
|
Tanto o protocolo quanto o Sistema de Janelas definem um conjunto de
|
|
<EM/mecanismos/ e não <EM/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).
|
|
O uso do termo ``XWindows'' é incorreto e deve ser evitado, dando-se
|
|
preferência ao nome genérico ``X''.
|
|
</QUOTE>
|
|
|
|
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 pode-se definir uma tecla chamada <EM/Compose/
|
|
cujo pressionamento seguido de duas outras gerará o caracter correspondente.
|
|
Assim sendo, o pressionamento da seqüência <BF/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 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 <EM/servidor X/. O pressionamento de uma tecla gera uma
|
|
mensagem (chamada de <EM/evento/) que é passada pelo servidor X à aplicação
|
|
<EM/cliente/. Há um programa muito útil chamado <EM/xev/ que permite observar
|
|
cada evento a ele transmitido. Cliente e servidor se comunicam via
|
|
rede usando um conjunto de regras chamado <EM/protocolo X/ e podem rodar em
|
|
máquinas diferentes. A máquina onde roda o servidor é chamada <EM/estação de
|
|
trabalho/ ou <EM/terminal X/ e a máquina onde roda a aplicação (programa
|
|
cliente) também é chamada de <EM/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 <REF ID="SEC:BIBLIOGRAFIA" name="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 <EM/keycode/ na terminologia do X.
|
|
Ao invés disso, é enviado um símbolo, chamado <EM/keysymbol/ ou <EM/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 <EM/xmodmap/ capaz de ler um arquivo contendo uma
|
|
tabela de conversão <EM/keycode/--><EM/keysym/ e enviá-la, também na forma
|
|
de mensagens no protocolo X, ao servidor. É responsabilidade do cliente e
|
|
não do servidor interpretar o <EM/keysym/, o que significa que a
|
|
aplicação deve 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 (<EM/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 <BF/XLookupString/, entretanto, não processa as
|
|
seqüências de acentos e letras de modo transparente às aplicações. Ao invés
|
|
disso foi incluído um método de composição usando <EM/contextos de entrada/
|
|
(<EM/input contexts/) por meio das funções <BF/XmbLookupString/ e
|
|
<BF/XwcLookupString/, cujo uso é responsabilidade da aplicação -- ou do seu
|
|
programador, melhor dizendo -- mesmo no caso da tecla <EM/Compose/. Isto
|
|
deve-se so fato de o <EM/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 <BF/vi/ e <BF/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 <EM/xterm/ ou <EM/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~<REF ID="SEC:CONTOR-X" name="Contornando os limites do X">. Isso
|
|
permite usar aplicações como <EM/xfig/ ou <EM/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...
|
|
|
|
</SECT1>
|
|
|
|
</SECT>
|
|
|
|
<SECT>Configuração do console (modo texto)<LABEL ID="CONF-CONS">
|
|
<P>
|
|
O documento de referência sobre a configuração do console do Linux é o
|
|
<htmlurl
|
|
URL="http://metalab.unc.edu/pub/Linux/docs/HOWTO/Keyboard-and-Console-HOWTO"
|
|
name="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.
|
|
|
|
<SECT1>Mapas de teclado
|
|
<P>
|
|
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 <EM/de
|
|
varredura/, também conhecido como <EM/scancode/, junto com um sinal de que a
|
|
tecla foi pressionada ou solta. As seqüências de eventos são então
|
|
processadas pelo <EM/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 <EM/scancode/ de tecla e o caracter (ou seqüência de caracteres)
|
|
a gerar quando ela for pressionada, chamado <EM/keycode/. Por exemplo:
|
|
<VERB>
|
|
# 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
|
|
</VERB>
|
|
|
|
Além das teclas alfabéticas, numéricas e de símbolos, existem outras
|
|
chamadas <EM/modificadoras/ que permitem gerar códigos que não
|
|
correspondem a nenhum sinal gráfico: <EM/Shift Control
|
|
Alt/ e <EM/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 <EM/Meta/.
|
|
|
|
O arquivo de mapa permite também especificar teclas especiais chamadas
|
|
``teclas mortas'' (<EM/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
|
|
<BF/˜/ seguida de um <BF/a/, seja gerado um `ã'.
|
|
|
|
</SECT1>
|
|
|
|
<SECT1>Mapas de tradução de tela
|
|
<P>
|
|
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
|
|
<TT/c-cedilhado/ na tela, fosse na realidade exibido um outro caracter de
|
|
código diferente mas cuja <EM/imagem/ na nossa fonte de caracteres
|
|
correspondesse à imagem de um <TT/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.
|
|
|
|
<!-- *** O que é uma fonte? *** -->
|
|
|
|
<SECT1>Comandos do pacote KBD
|
|
<P>
|
|
<DESCRIP>
|
|
<TAG/Loadkeys/
|
|
Permite carregar um mapa de teclado. Por exemplo, o comando
|
|
a seguir carrega o mapa armazenado no arquivo <TT/portugal.map/.
|
|
<VERB>
|
|
loadkeys /usr/lib/kbd/keytables/portugal.map
|
|
</VERB>
|
|
<TAG/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:
|
|
<VERB>
|
|
setfont lat1u-16.psf
|
|
</VERB>
|
|
<TAG/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 <EM/xfd/. Se o
|
|
programa showfont do pacote KBD for invocado em um emulador de terminal X,
|
|
como <EM/xterm/, ele gerará um erro ``GIO_SCRNMAP: Invalid argument'', mas
|
|
não provocará nenhum dano.
|
|
<TAG/Mapscr/
|
|
Permite carregar um mapa de tradução de tela. Suponhamos que exista o arquivo
|
|
<TT>/etc/portugal.trad</TT>. Se executarmos o comando
|
|
<VERB>
|
|
mapscrn /etc/portugal.trad
|
|
</VERB>
|
|
então a partir deste momento as traduções lá definidas serão usadas.
|
|
<TAG/Loadunimap/
|
|
Carrega um mapa de tradução de Unicode para a fonte de tela. O mapa padrão,
|
|
chamado ``def.uni'' considera que estamos usando a fonte normal do IBM-PC.
|
|
Este comando <BF/não/ é necessário quando usamos uma fonte com caracteres
|
|
definidos no padrão Unicode, pois o programa setfont carrega
|
|
automaticamente a tabela de mapeamento adequada. O comando a seguir
|
|
carregará o mapa de tradução para as fontes latin-1:
|
|
<VERB>
|
|
loadunimap lat1
|
|
</VERB>
|
|
</DESCRIP>
|
|
|
|
<!--
|
|
|
|
Esta seção não é realmente necessária.
|
|
|
|
<SECT1>Colocação do console em modo Unicode
|
|
<P>
|
|
<QUOTE>
|
|
<BF/Nota/: a configuração descrita nesta seção não é obrigatória. Ela é
|
|
mantida aqui apenas como referência para os usuários.
|
|
</QUOTE>
|
|
|
|
Para colocar o console no modo Unicode permitindo o uso dos acentos e
|
|
caracteres semigráficos, pode ser usado o comando
|
|
<VERB>
|
|
echo -n -e '\033(B'
|
|
</VERB>
|
|
|
|
A ativação do modo Unicode deve ser feita para cada terminal virtual, mas
|
|
é muito mais fácil criar um arquivo <TT>/etc/issue</TT> que contenha as
|
|
seqüências de configuração. Isso pode ser feito usando este pequeno
|
|
script:
|
|
<VERB>
|
|
#!/bin/sh
|
|
echo -e '\033(B\033[H\033[J\033[37m\033[44m\033[K' > /etc/issue
|
|
echo -e ' Welcome to \\n (\\s \\m \\r) \\l\033[K' >> /etc/issue
|
|
echo -e ' \\d \\t (\\U)\033[K' >> /etc/issue
|
|
echo -e '\033[K\033[37m\033[40m' >> /etc/issue
|
|
echo -e >> issue
|
|
</VERB>
|
|
|
|
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 computador, por exemplo, aparece
|
|
a seguinte mensagem em letras brancas sobre um fundo azul:
|
|
<VERB>
|
|
|
|
Welcome to doncarlo (Linux i586 2.0.33) tty5
|
|
Fri Jul 17 1998 03:12:37 (4 users)
|
|
|
|
</VERB>
|
|
|
|
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 <TT>/etc/rc.d/rc.S</TT>
|
|
e comentar as linhas com os comandos que geram um novo <TT>/etc/issue
|
|
cada</TT> vez que o o sistema é iniciado.
|
|
|
|
Uma alternativa ao método anterior é colocar no início do
|
|
<TT>/etc/rc.d/rc.S</TT> a seguinte seqüência de comandos:
|
|
<VERB>
|
|
# Configuração das consolas
|
|
#
|
|
|
|
# activacao do modo de mapeamento Latin-1
|
|
#
|
|
for tty in /dev/tty[1-9]*
|
|
do
|
|
echo -n -e "\\033(B" > $tty
|
|
done
|
|
</VERB>
|
|
</SECT1>
|
|
|
|
-->
|
|
|
|
<SECT1>Carregamento de uma fonte de caracteres<LABEL ID="SEC:CARFONTE">
|
|
<P>
|
|
O pacote KBD contém dois tipos de fontes com codificação latin-1:
|
|
<ITEMIZE>
|
|
<ITEM>as que já possuem uma tabela de mapeamento unicode, carregada
|
|
automaticamente pelo programa <TT/setfont/. Estas fontes têm nomes
|
|
<TT/lat1u-*.psf/;
|
|
<ITEM>as que não possuem tabela de mapeamento. Neste caso é preciso carregar
|
|
uma com o programa <TT/loadunimap/. Estas têm nomes <TT/lat1-*.psf/
|
|
(o ``u'' indica Unicode).
|
|
</ITEMIZE>
|
|
|
|
Nas versões mais novas do KBD os arquivos são comprimidos com <TT/gzip/. É
|
|
preciso carregar uma fonte que tenha os caractres latinos acentuados no padrão
|
|
ISO 8859-1 e <EM/também/ os símbolos semigráficos. As fontes de nome
|
|
<TT/iso01.*/ não possuem esses símbolos. A fonte mais recomendada é a
|
|
<TT/lat1u-16.psf/.
|
|
|
|
As versões mais antigas do pacote KBD mantinham essas fontes no diretório
|
|
<TT>/usr/lib/kbd/consolefonts</TT>, que foi trocado depois da versão 0.92 por
|
|
<TT>/usr/share/consolefonts</TT>. Dependendo da sua distribuição e do quanto
|
|
ela esteja atualizada o diretório poderá ser um ou outro.
|
|
|
|
<SECT2>Slackware
|
|
<P>
|
|
Foi criado o script <TT>/etc/rc.d/rc.font</TT>, contendo o seguinte:
|
|
|
|
<VERB>
|
|
#!/bin/sh
|
|
#
|
|
# /etc/rc.d/rc.font
|
|
#
|
|
# Seleciona uma das fontes de caracteres disponiveis em
|
|
# /usr/lib/kbd/consolefonts.
|
|
#
|
|
setfont lat1u-16.psf
|
|
|
|
# O comando a seguir é totalmente desnecessário
|
|
# com a fonte lat1u-16.psf.
|
|
# loadunimap lat1u
|
|
|
|
# Remova o comentário da linha abaixo se estiver usando uma fonte sem
|
|
# tabela de mapeamento de Unicode para tela:
|
|
# loadunimap lat1
|
|
</VERB>
|
|
|
|
<SECT2>Debian
|
|
<P>
|
|
Edite o arquivo <TT>/etc/kbd/config</TT> e coloque uma linha contendo
|
|
<VERB>
|
|
CONSOLE_FONT=lat1u-16.psf
|
|
</VERB>
|
|
esse arquivo é processado pelo script <TT>/etc/rc.boot/kbd</TT>. Execute-o
|
|
para ativar a nova fonte sem ter que dar ``reboot''. Lembre-se sempre: Linux
|
|
<BF/não/ é Windows!
|
|
|
|
<SECT2>Red Hat
|
|
<P>
|
|
Edite o arquivo <TT>/etc/sysconfig/i18n</TT> e veja se contém o seguinte:
|
|
<VERB>
|
|
LANG=pt_BR
|
|
LINGUAS=pt_BR
|
|
LC_CTYPE=ISO-8859-1
|
|
LC_ALL=pt_BR
|
|
SYSFONT=lat1u-16
|
|
SYSTERM=linux-lat
|
|
</VERB>
|
|
|
|
<SECT2>Conectiva Red Hat Linux
|
|
<P>
|
|
Se você selecionar a língua correta durante a instalação não há nada mais a
|
|
fazer. A configuração é feita extatamente como do Red Hat.
|
|
|
|
<SECT2>S.u.S.E.
|
|
<P>
|
|
Edite o arquivo <TT>/etc/rc.config</TT> e procure uma linha que começa com
|
|
``FONT='' (linha 64, em minha máquina com S.u.S.E. verão 5.6) e coloque
|
|
<VERB>
|
|
FONT=lat1u-16.psf
|
|
</VERB>
|
|
|
|
Edite os scripts <TT/boot.setup/ e <TT/single/ contidos no diretório
|
|
<TT>/etc/rc.d</TT>. Procure a linha contendo o comando
|
|
<TT>/usr/bin/loadunimap</TT> e remova-a ou ponha no seu início um ``#''
|
|
para deixá-la como comentário. Veja comentários sobre este comando na
|
|
seção~<REF ID="SEC:CARFONTE" name="Carregamento de uma fonte de caracteres">.
|
|
|
|
<SECT2>Testando a fonte
|
|
<P>
|
|
Experimente algumas teclas como ``,.|!"#$%&/()=?'',
|
|
etc. e use o comando <TT/showfont/ para mostrar a fonte em uso.
|
|
|
|
</SECT1>
|
|
|
|
<SECT1>Carregando um mapa de teclado
|
|
<P>
|
|
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 <TT>/usr/lib/kbd/keytables</TT>
|
|
passando mais tarde para <TT>/usr/share/keytables</TT>. Dependendo da
|
|
distribuição você terá um diretório ou outro. Os mapas para diversos tipos de
|
|
teclados são apresentados mais adiante.
|
|
|
|
<SECT2>Slackware.
|
|
<P>
|
|
Foi criado o script <TT>/etc/rc.d/rc.keyboard</TT>, contendo o seguinte:
|
|
<VERB>
|
|
#!/bin/sh
|
|
#
|
|
# /etc/rc.d/rc.keyboard
|
|
#
|
|
# Seleciona um dos mapas de teclado disponíveis no diretório
|
|
# /usr/lib/kbd/keytables
|
|
#
|
|
loadkeys abnt2
|
|
</VERB>
|
|
e acrescentei as seguintes linhas ao <TT>/etc/rc.d/rc.S</TT>,
|
|
imediatamente antes do tratamento do <TT>/etc/rc.d/rc.keyboard</TT>:
|
|
<VERB>
|
|
# 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 existe um script rc.keyboard.
|
|
if [ -x /etc/rc.d/rc.keyboard ]; then
|
|
/etc/rc.d/rc.keyboard start
|
|
fi
|
|
</VERB>
|
|
|
|
<SECT2>Debian.
|
|
<P>
|
|
Certifique-se de ter instalado o pacote <EM/kbd/ e depois faça o seguinte:
|
|
<ITEMIZE>
|
|
<ITEM>copie os arquivos com os mapas de teclado fornecidos (veja a seção <ref
|
|
id="SEC:FICHEIROS" name="Ficheiros necessários">) para o diretório
|
|
<TT>/usr/share/keytables/</TT>. Não é necessário descomprimi-los;
|
|
<ITEM>copie o mapa correspondente ao seu teclado para o arquivo
|
|
<TT>/etc/kbd/default.map.gz</TT>.
|
|
<ITEM>rode o script <TT>/etc/init.d/keymaps.sh</TT>.
|
|
</ITEMIZE>
|
|
|
|
<SECT2>Red Hat.
|
|
<P>
|
|
Certifique-se de ter instalado o pacote <EM/kbd/. Copie os arquivos com os
|
|
mapas de teclado fornecidos (veja a seção <REF ID="SEC:FICHEIROS"
|
|
name="Ficheiros necessários">) para o diretório
|
|
<TT>/usr/lib/kbd/keytables/</TT> (ou
|
|
<TT>/usr/lib/kbd/keymaps/i386/qwerty/</TT>, a pertir do Red Hat 5.2). Não
|
|
é necessário descomprimi-los.
|
|
|
|
Edite o arquivo /etc/sysconfig/keyboard e coloque o nome do mapa a usar na
|
|
variável KEYTABLE, como por exemplo
|
|
<VERB>
|
|
KEYTABLE="abnt2"
|
|
</VERB>
|
|
|
|
<SECT2>Conectiva Red Hat Linux.
|
|
<P>
|
|
O CRHL já vem com os mapas de teclado para Português. Se você selecionou o
|
|
teclado correto durante a instalação, não há mais nada a fazer. Caso
|
|
contrário, edite o arquivo <TT>/etc/sysconfig/keyboard</TT> e coloque
|
|
<VERB>
|
|
KEYTABLE="nome"
|
|
</VERB>
|
|
Onde ``nome'' é <EM/br-abnt2/, <EM/pt/ ou <EM/us-acentos/ caso o desenho do
|
|
seu teclado seja ABNT-2, português ou americano.
|
|
|
|
|
|
<SECT2>S.u.S.E..
|
|
<P>
|
|
Certifique-se de ter instalado o pacote <EM/kbd/. Copie os arquivos com os
|
|
mapas de teclado fornecidos (veja a seção <REF ID="SEC:FICHEIROS"
|
|
name="Ficheiros necessários">) para o diretório
|
|
<TT>/usr/lib/kbd/keytables/</TT>. Não é necessário descomprimi-los.
|
|
|
|
Descomprima o mapa de teclado adequado, copiando para o arquivo
|
|
<TT>/etc/default.keytab</TT>, usando por exemplo um comando como
|
|
<VERB>
|
|
zcat /usr/lib/kbd/keytables/pt.map.gz > /etc/default.keytab
|
|
</VERB>
|
|
|
|
<SECT2>Testando o teclado
|
|
<P>
|
|
Experimente pressionar a tecla <BF/c-cedilhado/ (se o teclado não tem esta
|
|
tecla, digite <TT/'c/). Verifique se todas as letras acentuadas, maiúsculas e
|
|
minúsculas são geradas corretamente e aparecem na tela. Se aparecer algum
|
|
caracter estranho verifique se carregou o mapa de teclado e a fonte de
|
|
caracteres corretos, pois provavelmente uma dessas operações foi mal sucedida.
|
|
|
|
Se ao invés de c-cedilha minúsculo aparecer um maiúsculo é provável que uma
|
|
tabela de mapeamento Unicode incorreta esteja a ser carregada. Este problema
|
|
ocorrerá na distribuição S.u.S.E. se não se fizerem as alterações nos scripts
|
|
do sistema mencionadas anteriormente.
|
|
</SECT1>
|
|
|
|
<SECT1>Verificando erros
|
|
<P>
|
|
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
|
|
<EM/convencer/ a tela a mostrar os caracteres certos em cada caso.
|
|
|
|
Poderíamos recorrer ao comando <EM/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 <EM/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.
|
|
|
|
</SECT>
|
|
|
|
<SECT>Biblioteca de funções libc e aplicativos GNU<LABEL ID="SEC:LIBC">
|
|
<P>
|
|
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.
|
|
|
|
<SECT1>Configurando o suporte internacional
|
|
<P>
|
|
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 estabelecer 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
|
|
<VERB>
|
|
man environ
|
|
</VERB>
|
|
|
|
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
|
|
<DESCRIP>
|
|
<TAG/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.
|
|
|
|
<TAG/LC_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 que a maiúscula
|
|
correspondente, mas para uma letra acentuada esta regra não é válida!
|
|
|
|
<TAG/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.
|
|
|
|
<TAG/LC_MESSAGES/
|
|
Estabelece a língua em que as mensagens serão apresentadas e como é uma
|
|
resposta afirmativa ou negativa (S/N).
|
|
|
|
<TAG/LC_NUMERIC/
|
|
Estabelece o comportamento das funções de leitura/escrita de valores
|
|
numéricos permitindo, por exemplo que usemos a vírgula decimal.
|
|
|
|
<TAG/LC_TIME/
|
|
Define a formatação de datas e horas.
|
|
|
|
<TAG/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.
|
|
|
|
<TAG/LANG/
|
|
Define de uma só vez todas as categorias, se LC_ALL não estiver definida.
|
|
Também é usada pelo comando <TT/man/ para compor os caminhos pelos quais
|
|
ele procurará as páginas do manual. Veja as observações a respeito desta
|
|
variável nas seções <REF ID="SEC:LOCALE" NAME="Locale">, <REF
|
|
ID="SEC:LOCALE" NAME="Locale"> e <REF ID="SEC:LOCALE" NAME="Locale">.
|
|
</DESCRIP>
|
|
|
|
Maiores informações podem ser obtidas no manual do sistema com o comando
|
|
<VERB>
|
|
man 7 locale
|
|
</VERB>
|
|
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 <TT>/etc/profile</TT> uma linha contendo
|
|
<VERB>
|
|
LC_ALL="pt_PT"
|
|
export LC_ALL
|
|
</VERB>
|
|
Usuários brasileiros devem usar ``pt_BR'' ao invés de ``pt_PT''. Teste o
|
|
resultado com os comandos a seguir (<TT>/inexistente</TT> é o nome de um
|
|
arquivo que <BF/não/ existe):
|
|
<VERB>
|
|
echo ÁÉÍÓÚ | tr '[:upper:]' '[:lower:]'
|
|
tar tf /inexistente
|
|
ls -l /
|
|
date
|
|
cal 1 1999
|
|
</VERB>
|
|
O resultado do primeiro deverá ser ``<TT/áéíóú/''. Os comandos <TT/tar/ e
|
|
<TT/ls/ devem retornar mensagens em Português e <TT/cal/ deve mostrar um
|
|
calendário de janeiro de 1999, com <EM/do se te qu qu se sá/ no cabeçalho dos
|
|
dias da semana.
|
|
|
|
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) é <TT/locales_2.0.7t-1.deb/ e em meu CD
|
|
está no diretório <TT>debian/main/binary-i386/admin</TT>.
|
|
</SECT1>
|
|
|
|
<SECT1>Problemas com a libc 5
|
|
<P>
|
|
Até meados de 1997 todas as distribuições de Linux usavam a mesma biblioteca
|
|
<EM/libc/, que estava na versão 5, desenvolvida a partir de uma versão
|
|
mais antiga da libc do projeto GNU. Esta biblioteca possuia 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 <TT/locales-pt.tgz/. Para instalá-lo na
|
|
distribuição Slackware, basta (como usuário <BF/root/) usar o comando
|
|
<VERB>
|
|
installpkg locales-pt.tgz
|
|
</VERB>
|
|
e para outras distribuições use o comando
|
|
<VERB>
|
|
tar xzf locales-pt.tgz -C /
|
|
</VERB>
|
|
|
|
Verifique se há dois subdiretórios do <TT>/usr/share/locale</TT> chamados
|
|
<TT/pt_BR/ e <TT/pt_PT/. Basta então configurar a variável de ambiente
|
|
LC_ALL, como já descrito.
|
|
|
|
</SECT>
|
|
|
|
<SECT>Configuração do X<LABEL ID="CONF-X">
|
|
<P>
|
|
Quando o servidor X está ativo, ele coloca o teclado do computador em um modo
|
|
de operação chamado <EM/raw/ (cru), em oposição ao modo normal, chamado
|
|
<EM/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 <EM/xmodmap/, que cumpre uma função correspondente à do comando
|
|
<EM/loadkeys/, ou seja, lê um arquivo de mapa de teclado do X, expecificando
|
|
as equivalências entre os <EM/keycodes/ e respectivos <EM/keysymbols/.
|
|
|
|
Eis um excerto deste arquivo:
|
|
<VERB>
|
|
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
|
|
</VERB>
|
|
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 entanto
|
|
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 <BF/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 <EM/dead-keys/, mas
|
|
o seu tratamento é responsabilidade da aplicação, conforme visto na seção~<ref
|
|
id="SEC:DIFXC" name="Modo texto versus Sistema de Janelas X">. Há modos de
|
|
contornar esta limitação e tornar o tratamento de <EM/dead-keys/ transparente
|
|
às aplicações, conforme mostrado na seção <REF ID="SEC:CONTOR-X"
|
|
name="Contornando os limites do X">.
|
|
|
|
Dividimos a configuração em duas partes: Uma que deve ser feita antes do
|
|
<EM/login/ do usuário e outra depois.
|
|
|
|
<SECT1>Configuração do xinit
|
|
<P>
|
|
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 <TT>/usr/X11R6/lib/X11/xinit</TT>, onde
|
|
normalmente ficam os arquivos de início da seção de trabalho no X. Na
|
|
distribuição Slackware esse diretório é um link simbólico para
|
|
<TT>/var/X11R6/lib/xinit</TT> e na Debian e na Red Hat para
|
|
<TT>/etc/X11/xinit</TT>.
|
|
|
|
Nas distribuições Slackware e Red Hat, verifique se no referido diretório
|
|
existe um arquivo chamado <TT>.Xmodmap</TT>. Se existir, copie o
|
|
<TT>Xmodmap.</TT><alguma-coisa> para ele, ou faça um link.
|
|
Normalmente o arquivo de configuração <TT>xinitrc</TT> possui os comandos
|
|
para carregá-lo automaticamente. Veja o seguinte trecho:
|
|
|
|
<VERB>
|
|
#!/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
|
|
</VERB>
|
|
|
|
Na distribuição Debian o mapa de teclado padrão do X é
|
|
<TT>/etc/X11/Xmodmap</TT>, basta copiar o mapa desejado para aquele
|
|
arquivo. Ele será carregado pelo xinitrc, que por sua vez é um link simbólico
|
|
para <TT>/etc/X11/Xsession</TT>, sempre que iniciar a seção de trabalho do
|
|
usuário.
|
|
|
|
<SECT1>Configuração do XDM
|
|
<P>
|
|
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 <BF/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 <TT>/usr/X11R6/lib/X11/xdm</TT>, que
|
|
na Slackware é um link simbólico para <TT>/var/X11R6/lib/xdm</TT> e
|
|
<TT>/etc/X11/xdm</TT> na Debian e -- sujeito a confirmação -- RedHat. Eis
|
|
o conteúdo completo desse arquivo:
|
|
<VERB>
|
|
#!/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 -exitOnFail
|
|
</VERB>
|
|
|
|
A distribuição Debian tem um <TT/Xsetup_0/ um pouco diferente, em
|
|
<TT>/etc/X11/xdm/Xsetup_0</TT>, mas basta acrescentar-lhe o seguinte:
|
|
|
|
<VERB>
|
|
sysmodmap=/etc/X11/Xmodmap
|
|
sysresources=/etc/X11/Xresources
|
|
|
|
if [ -f $sysresources ]; then
|
|
xrdb -merge $sysresources
|
|
fi
|
|
|
|
if [ -f $sysmodmap ]; then
|
|
xmodmap $sysmodmap
|
|
fi
|
|
</VERB>
|
|
|
|
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.
|
|
|
|
<SECT1>Compose
|
|
<P>
|
|
Uma das coisas mais importantes a definir quando vamos utilizar acentuação
|
|
por meio de <EM/dead-keys/ é o conjunto de <EM/regras de composição/. Essas
|
|
regras determinam, por exemplo que a composição do caracter <BF/'/ com
|
|
a letra <BF/e/ gerará um <BF/é/.
|
|
|
|
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
|
|
<TT>/usr/X11R6/lib/X11/locale/???/Compose</TT>, onde ??? é a codificação
|
|
em uso (no nosso caso, iso8859-1).
|
|
|
|
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 <BF/Ç/ seja gerado pela seqüência <TT/'C/. Se não fizermos
|
|
isso, seremos obrigados a digitar <TT/<dead_cedilla-C>/, sedo o
|
|
<EM/dead_cedilla/ produzido pela combinação <TT/AltGR-=/, o que não é nada
|
|
confortável. Além disso, no teclado americano somos obrigados a usar as aspas
|
|
duplas para gerar o trema.
|
|
|
|
O arquivo <TT/Compose/ fornecido foi feito procurando imitar ao máximo o
|
|
comportamento do console e possui as seguintes facilidades para geração de
|
|
caracteres:
|
|
<ITEMIZE>
|
|
<ITEM>C-cedilha: tecla <TT/Ç/ ou seqüência
|
|
<acento-agudo>-C
|
|
<ITEM>Apóstrofo: tecla <TT/'/ ou seqüências
|
|
<acento-agudo>-<acento-agudo> e
|
|
<acento-agudo>-<espaço>
|
|
<ITEM>Acento grave: seqüências <acento-grave>-<acento-grave> e
|
|
<acento-grave>-<espaço>
|
|
<ITEM>Aspas: tecla <TT/&dquot;/ ou seqüência <trema>-<trema>
|
|
<ITEM>Trema: seqüência <trema>-<espaço>
|
|
<ITEM>Til: seqüências <til>-<espaço> e <til>-<til>
|
|
<ITEM>Circumflexo: seqüências <circumflexo>-<espaço> e
|
|
<circumflexo>-<circumflexo>
|
|
</ITEMIZE>
|
|
|
|
Para incluirmos as novas regras, basta aplicar uma alteração à definição
|
|
original. O arquivo <TT/Compose.patch/ pode ser obtido via WWW na página do
|
|
Portuguese HOWTO. Para aplicar a atualização, copie-o para o diretório
|
|
<TT>/usr/X11R6/lib/X11/locale/iso8859-1/</TT>, faça uma cópia de reserva do
|
|
<TT/Compose/ original e invoque o utilitário <EM/patch/:
|
|
<VERB>
|
|
cp -p Compose Compose.backup
|
|
patch < Compose.patch
|
|
</VERB>
|
|
|
|
Caso você prefira não aplicar o ``patch'', um arquivo <TT/Compose/ pronto
|
|
também é fornecido. Lembre-se de fazer cópia do original <BF/antes/ de
|
|
substituí-lo!
|
|
</SECT1>
|
|
|
|
<SECT1>Locale<LABEL ID="SEC:LOCALE">
|
|
<P>
|
|
Para os usuários brasileiros, pode haver mais uma alteração a fazer no X.
|
|
Conforme vimos na seção~<REF ID="SEC:LIBC" name="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 (<EM/libc/). A biblioteca
|
|
de funções do X (<EM/Xlib/) usa a variável LANG para identificar a língua em
|
|
uso mas até a revisão 6.3, na qual é baseado o XFree86, não era incluída 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 <TT>/usr/X11R6/lib/X11/locale</TT>. Pegue o arquivo
|
|
<TT/Xlocale.patch/ via WWW na página do Portuguese HOWTO. Para aplicar a
|
|
atualização, copie-o para o diretório <TT>/usr/X11R6/lib/X11/locale</TT>,
|
|
faça uma cópia de reserva dos arquivos a serem alterados e invoque o
|
|
utilitário <EM/patch/:
|
|
<VERB>
|
|
cp -p compose.dir compose.dir.backup
|
|
cp -p locale.alias locale.alias.backup
|
|
cp -p locale.dir locale.dir.backup
|
|
patch < Xlocale.patch
|
|
</VERB>
|
|
|
|
Caso você prefira não aplicar o ``patch'', arquivos prontos também são
|
|
fornecidos. Lembre-se de fazer cópias dos originais <BF/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 <EM/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á incluída no
|
|
fix-4. O X11R6.4 deverá ser a base para a versão 4 do XFree86.
|
|
|
|
</SECT1>
|
|
|
|
<SECT1>Geração de mapas com o XKeyCaps
|
|
<P>
|
|
O programa XKeyCaps, criado por <HTMLURL URL="http://www.jwz.org/" NAME="Jamie
|
|
Zawinski"> é uma interface gráfica para o <TT/xmodmap/, que mostra na tela o
|
|
desenho de um teclado e permite modificar interativamente os símbolos gerados
|
|
por cada tecla e gerar automaticamente o arquivo <TT/.Xmodmap/ correspondente.
|
|
|
|
Ele pode ser obtido via WWW em <URL URL="http://www.jwz.org/xkeycaps/"> e, a
|
|
partir da versão 2.43, já incoropra também suporte para o desenho brasileiro
|
|
(ABNT2), uma contribuição de Andre Gerhard.
|
|
|
|
</SECT1>
|
|
|
|
<SECT1>Contornando os limites do X<LABEL ID="SEC:CONTOR-X">
|
|
<P>
|
|
Conforme foi explicado na seção <REF ID="SEC:DIFXC" name="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.
|
|
|
|
<SECT2>Alteração da biblioteca Xlib
|
|
<P>
|
|
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'' (<EM/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
|
|
<VERB>
|
|
man ld.so
|
|
man ldconfig
|
|
man ldd
|
|
man dlopen
|
|
</VERB>
|
|
Thomas Quinot criou uma alteração para a biblioteca de funções do X
|
|
(<EM/Xlib/) introduzindo o tratamento de acentos na função <BF/XLookupString/,
|
|
Tudo que se tem a fazer é substituir o arquivo contendo esta biblioteca por
|
|
outro, que pode ser obtido via internet no endereço
|
|
|
|
<QUOTE>
|
|
<URL URL="http://web.fdn.fr/~tquinot/dead-keys.en.html">
|
|
</QUOTE>
|
|
|
|
Existem duas versões do arquivo, uma para sistemas onde as bibliotecas do X
|
|
suportam o uso seguro de <EM/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 <EM/Xlib/ rode o seguinte
|
|
comando:
|
|
|
|
<QUOTE>
|
|
nm --dynamic /usr/X11R6/lib/libXext.so.6|grep _Xglobal_lock
|
|
</QUOTE>
|
|
|
|
Se aparecer ``<TT/U _Xglobal_lock/'' seu sistema suporta threads e o arquivo
|
|
a obter é <TT/libX11-XF3.3.1-TS.tar.gz/. Se não aparecer, seu sistema não
|
|
suporta threads e o arquivo a obter é <TT/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 <TT>/usr/X11R6/libX11.so.6.1</TT> para outro diretório,
|
|
para preservá-lo. Não é suficiente renomeá-lo! Remova-o para um diretório cujo
|
|
nome <BF/não/ esteja contido no arquivo <TT>/etc/ld.so.conf</TT>. Depois,
|
|
mova o novo arquivo para o lugar do antigo e rode o programa <EM/ldconfig/
|
|
(isto deve ser feito pelo usuário <BF/root/):
|
|
<VERB>
|
|
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
|
|
</VERB>
|
|
|
|
É 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 <TT/XF86Config/. Este arquivo fica no diretório <TT>/etc</TT>
|
|
(Slackware) ou <TT>/etc/X11</TT> (Debian, Red Hat). Procure a seção
|
|
``Keyboard'' e inclua a opção ``XkbDisable'', conforme mostrado a seguir:
|
|
<VERB>
|
|
Section "Keyboard"
|
|
Protocol "Standard"
|
|
XkbDisable
|
|
EndSection
|
|
</VERB>
|
|
|
|
A opção XkbDisable inabilita a extensão XKEYBOARD do servidor X, o que neste
|
|
caso serve para sinalizar à função <BF/XLookupString/ que ela deve tratar os
|
|
acentos. Se quisermos voltar ao comportamento normal, basta retirar a opção
|
|
do <TT/XF86Config/.
|
|
|
|
Configure o mapa de teclado do X conforme explicado nas seções anteriores
|
|
deste documento. Para testar o resultado, rode o programa <EM/xedit/ e digite
|
|
alguns caracteres acentuados.
|
|
|
|
</SECT2>
|
|
|
|
<SECT2>Alteração no kernel do Linux
|
|
<P>
|
|
<QUOTE>
|
|
Esta seção é baseada em contribuição enviada por Bruno Barberi Gnecco
|
|
e na documentação do diacrd. Podem haver ainda alguns erros e se alguém os
|
|
detectar, por favor avise-me.
|
|
</QUOTE>
|
|
|
|
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 <EM/raw/ e <EM/cooked/. Estes modos de operação
|
|
podem ser mudados com o programa <BF/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 tratemanto de
|
|
acentos é feito parte pelo kernel, parte por um processo que roda em
|
|
retaguarda (<EM/daemon/) chamado <BF/diacrd/, conforme descrito a seguir:
|
|
<ITEMIZE>
|
|
<ITEM>Uma modificação no kernel faz que todos os dados lidos do teclado
|
|
sejam redirecionados para um dispositivo especial do sistema chamado
|
|
<TT>/dev/rawkbd</TT> quando o teclado estiver em modo <EM/raw/.
|
|
<ITEM>Os dados que o kernel grava no <TT>/dev/rawkbd</TT> são lidos pelo
|
|
programa <TT/diacrd/, que processa as seqüências acento-letra e reescreve
|
|
no <TT>/dev/rawkbd</TT> os caracteres acentuados na forma de códigos de
|
|
varredura (<EM/scancodes/) que normalmente não existem no teclado.
|
|
<ITEM>O kernel lê no <TT>/dev/rawkbd</TT> os códigos gravados pelo
|
|
<TT/diacrd/ e os passa à aplicação, que no caso é o servidor X.
|
|
<ITEM>O servidor X mapeia os códigos de varredura para caracteres. Um mapa de
|
|
teclado especial permite então gerar as letras acentuadas.
|
|
</ITEMIZE>
|
|
|
|
O diacrd pode ser obtido via FTP anônimo no endereço
|
|
<QUOTE>
|
|
<URL URL="ftp://metalab.unc.edu/pub/Linux/system/keyboards">
|
|
</QUOTE>
|
|
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 <BF/root/):
|
|
<ITEMIZE>
|
|
<ITEM>Obtenha o arquivo -.tar.gz correspondente a seu teclado. Extraia seu
|
|
conteúdo, o que deverá criar um diretório chamado
|
|
<TT/diacrd-<versão>/.
|
|
<ITEM>Edite o arquivo <TT/diacrd.c/ e remova os comentários desejados, de
|
|
acordo com suas preferências. Pode-se incluir capacidade de rodar o
|
|
programa <BF/xmodmap/ e ejetar o CD-ROM sob controle do pressionamento de
|
|
uma combinação de teclas.
|
|
<ITEM>Aplique a modificação no kernel. Para isto, execute o comando
|
|
``make~patch-usr-src''.
|
|
<ITEM>Crie o dispositivo <TT>/dev/rawkbd</TT> executando o comando
|
|
``make~rawkbd''.
|
|
<ITEM>Compile o diacrd e instale-o executando os comandos ``make'' e
|
|
``make~install''.
|
|
<ITEM>Compile e instale o kernel, com os comandos
|
|
<VERB>
|
|
cd /usr/src/linux
|
|
make config
|
|
make zlilo
|
|
</VERB>
|
|
Para maiores informações sobre compilação/instalação do kernel, leia o
|
|
Kernel-HOWTO, disponível via Internet nos repositórios do LDP mencionados
|
|
na seção <REF ID="SEC:ONDE" name="Onde encontrar a versão mais atual">.
|
|
<ITEM>Dê um ``reboot'' no computador. Verifique se o suporte ao dispositivo
|
|
rawkbd foi instalado com sucesso com o comando
|
|
<VERB>
|
|
dmesg | grep RAWKBD
|
|
</VERB>
|
|
Deve aparecer
|
|
<VERB>
|
|
RAWKBD interface for diacriticals translation enabled...
|
|
</VERB>
|
|
e teste o dispositivo <TT>/dev/rawkbd</TT> com o comando
|
|
<VERB>
|
|
printf "### TESTANDO ###" >> /dev/rawkbd
|
|
</VERB>
|
|
Veja na seção <REF ID="CONF-CONS" name="Configuração do console"> como
|
|
carregar um mapa com suporte à acentuação. O pacote diacrd vem com um
|
|
arquivo chamada <TT/usintl.map/, que corresponde ao nosso
|
|
<TT/us+.map/. Se seu teclado não for do tipo americano, use o
|
|
<TT/pt.map/ ou <TT/abnt-2.map/.
|
|
<ITEM>Substitua o arquivo <TT>/usr/X11R6/lib/X11/xkb/keycodes/xfree86</TT>
|
|
pelo arquivo fornecido junto com o diacrd.
|
|
<ITEM>Se tudo correr bem, rode o programa <BF/diacrd/. Depois ative o X e
|
|
use o <BF/xmodmap/ para carregar o mapa <TT/xmodmap.diacrd/.
|
|
</ITEMIZE>
|
|
|
|
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
|
|
<TT>/etc/rc.d/rc.local</TT> (Slackware).
|
|
<QUOTE>
|
|
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.
|
|
</QUOTE>
|
|
Mais informações sobre o diacrd podem ser encontradas no ``Dead keys
|
|
Mini-HOWTO'' de Claudemir Todo Bom, disponível em <URL
|
|
URL="http://linux.unicamp.br/docs/diversos/deadkeys.html">.
|
|
|
|
</SECT2>
|
|
|
|
<SECT2>Comparação entre as duas soluções
|
|
<P>
|
|
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 <EM/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.
|
|
|
|
Até o momento da publicação deste HOWTO, o diacrd ainda não era compatível com
|
|
a versão 2.2 do kernel do Linux.
|
|
|
|
A solução via Xlib é, pelo menos em teoria, 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
|
|
<EM/display/ remoto, seja um terminal 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ê <EM/mecanismo/, deixando a cargo da
|
|
aplicação a definição de <EM/políticas/. Exemplo da vantagem deste paradigma é
|
|
poder usar as técnicas descritas na seção <REF ID="CONF-X" name="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. De qualquer modo, sempre é bom lembrar qua ambas as
|
|
soluções são remendos. Considerando-se a rápida evolução que está a ocorrer no
|
|
campo do software livre, com o desenvolvimendo de ambientes de trabalho como
|
|
<HTMLURL URL="http://www.kde.org/" NAME="KDE">, <HTMLURL
|
|
URL="http://www.gnome.org/" NAME="GNOME"> e <HTMLURL
|
|
URL="http://www.gnustep.org/" NAME="GNUStep">, podemos supor que em breve
|
|
nenhum desses remendos será mais necessário.
|
|
|
|
</SECT2>
|
|
|
|
</SECT1>
|
|
|
|
</SECT>
|
|
|
|
<SECT>Configuração dos vários programas
|
|
<P>
|
|
<SECT1>Aplicativos
|
|
<P>
|
|
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 é <TT/.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 <EM/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
|
|
<TT>/usr/lib/alguma-coisa</TT> ou <TT>/etc/alguma-coisa</TT>.
|
|
|
|
<SECT2>Bash (biblioteca GNU readline)
|
|
<P>
|
|
Os programas que utilizam a biblioteca GNU readline para ler a linha
|
|
de comando procuram por um arquivo chamado <TT/.inputrc/ no diretório ``HOME''
|
|
do usuário caso não exista uma variável de ambiente <TT/INPUTRC/ contendo o
|
|
caminho para um arquivo de configuração.
|
|
|
|
Coloque uma linha no seu arquivo <TT>/etc/profile</TT> contendo
|
|
<VERB>
|
|
INPUTRC="/etc/inputrc"
|
|
export INPUTRC
|
|
</VERB>
|
|
e crie um arquivo /etc/inputrc contendo
|
|
<VERB>
|
|
set meta-flag on
|
|
set convert-meta off
|
|
set output-meta on
|
|
</VERB>
|
|
Outra alternativa é criar um arquivo <TT/.inputrc/ no diretório <EM/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 <TT/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 posicionar o cursor no início e no fim da
|
|
linha (teclas Home e End).
|
|
|
|
Para maiores informações leia os manuais do <BF/bash/ e da biblioteca
|
|
<BF/readline/ com os comandos
|
|
<VERB>
|
|
man bash
|
|
man readline
|
|
</VERB>
|
|
|
|
<SECT2>Emacs
|
|
<P>
|
|
O pai de todos os editores pode ser configurado criando-se um arquivo
|
|
chamado <TT/.emacs/ no diretório do usuário, contendo as seguintes linhas:
|
|
<VERB>
|
|
(set-input-mode nil nil 1)
|
|
(standard-display-european t)
|
|
(require 'iso-syntax)
|
|
</VERB>
|
|
|
|
Para tornar esta configuração global, na distribuição Slackware coloque os
|
|
comandos no arquivo <TT>/usr/lib/emacs/site-lisp/site-start.el</TT>. Na
|
|
distribuição Debian o emacs executa todos os scripts contidos no diretório
|
|
<TT>/etc/emacs/site-start.d</TT> ao ser carregado. Tudo que se tem a fazer
|
|
é colocar esses comandos em um arquivo chamado, por exemplo,
|
|
<TT/01portugues-emacs.el/.
|
|
|
|
Se o estimado leitor, assim como eu, não se agrada do tratamento dado pelo
|
|
Emacs às teclas de <EM/Delete/, <EM/Home/ e <EM/End/, aproveite a oportunidade
|
|
e acrescente ao mesmo arquivo o seguinte:
|
|
<VERB>
|
|
(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)
|
|
</VERB>
|
|
|
|
Arquivos de configuração prontos podem ser obtidos via WWW na página do
|
|
Portuguese HOWTO. Para Slackware, há um <TT/site-start-emacs.el/, que deve
|
|
ser copiado para o diretório <TT>/usr/lib/emacs/site-lisp</TT> com o nome
|
|
de <TT/site-start.el/. Para Debian, há um <TT/01portugues-emacs.el/ que
|
|
deve ser copiado para o diretório <TT>/etc/emacs/site-start.d</TT>.
|
|
|
|
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.
|
|
|
|
<SECT2>flex
|
|
<P>
|
|
Especifique a opção <BF/-8/ se o <EM/parser/ a gerar necessitar de ler
|
|
dados de 8 bit.
|
|
|
|
<SECT2>Fortune
|
|
<P>
|
|
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 <EM/fortune cookies/, daí o nome).
|
|
Eis algumas mensagens típicas:
|
|
<VERB>
|
|
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.
|
|
</VERB>
|
|
Tudo que o programa faz é escolher aleatoriamente uma mensagem em um
|
|
repositório mantido no diretório <TT>/usr/games/fortunes</TT> (Slackware)
|
|
ou <TT>/usr/share/games/fortunes</TT> (Debian). Neste diretório existem
|
|
diversos arquivos com as ``fortunas'' e um arquivo índice para cada um deles,
|
|
que possui a extensão <TT/.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 <BF/%/. Veja
|
|
o trecho a seguir:
|
|
<VERB>
|
|
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...
|
|
</VERB>
|
|
Tudo que temos a fazer é criar um arquivo com as fortunas chamado, digamos
|
|
<TT/fortunes/ com o formato descrito acima. Depois basta usar o programa
|
|
<TT/strfile/ para gerar o índice:
|
|
<VERB>
|
|
strfile fortunes
|
|
</VERB>
|
|
e um arquivo chamado <TT/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 simplesmente renomeá-lo para
|
|
<TT/fortunes-en/ (de <EM/En/glish) e criar outro vazio. Eu coletei algumas
|
|
fortunas e as coloquei no arquivo <TT/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
|
|
<VERB>
|
|
if [ -x /usr/games/fortune -a ! -e $HOME/.hushlogin ]; then
|
|
echo
|
|
/usr/games/fortune
|
|
echo
|
|
fi
|
|
</VERB>
|
|
Uma última informação: se o nome de um arquivo termina com o sufixo
|
|
<TT/-o/ o fortune só o consulta se for chamado com a opção
|
|
<TT/-o/. Esses arquivos são os que contém mensagens cujo conteúdo pode
|
|
ser considerado ofensivo por algumas pessoas, tais como
|
|
<VERB>
|
|
Só não mando a sogra pro inferno, com pena do Diabo.
|
|
</VERB>
|
|
Claro que existem coisas muito mais ofensivas por aí, mas este é um
|
|
Linux HOWTO e não queremos realmente ofender ninguém, certo?
|
|
|
|
<SECT2>Ispell
|
|
<P>
|
|
Dicionários para o Português de Portugal podem ser obtidos via WWW
|
|
na página do <EM/Projecto Natura/ em
|
|
<URL URL="http://www.di.uminho.pt/~jj/pln/pln.html">. Para o Brasil, há
|
|
uma versão compilada pelo Ueda:
|
|
<URL URL="http://www.ime.usp.br/~ueda/">.
|
|
|
|
<QUOTE>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.</QUOTE>
|
|
|
|
<SECT2>JDK (inclui ICQJava)
|
|
<P>
|
|
<QUOTE>
|
|
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.
|
|
</QUOTE>
|
|
|
|
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:
|
|
<ITEMIZE>
|
|
<ITEM>entre no diretório <TT>jdk1.1.5/lib</TT> (no meu caso,
|
|
<TT>/jdk1.1.5/lib</TT>);
|
|
<ITEM>copie o arquivo <TT/font.properties.hu/ sobrescrevendo o
|
|
<TT/font.properties/ atual (lembre-se de fazer backups!);
|
|
<ITEM>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?)
|
|
</ITEMIZE>
|
|
|
|
<SECT2>Joe
|
|
<P>
|
|
Invoque o joe com a opção <TT/-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 <TT>/usr/lib/joe</TT>. 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 <TT>/etc/profile</TT>:
|
|
<VERB>
|
|
alias joe='joe -asis'
|
|
</VERB>
|
|
|
|
Joe pode emular os editores Pico, emacs e WordStar. Um arquivo <EM/joerc/ está
|
|
disponível via WWW na página do Portuguese HOWTO, contendo configurações que
|
|
permitem usar as teclas <EM/Home/ e <EM/End/ para movimentar o cursor para o
|
|
início e fim da linha.
|
|
|
|
<SECT2>Less
|
|
<P>
|
|
Coloque as seguintes linhas no seu arquivo <TT>/etc/profile</TT>:
|
|
<VERB>
|
|
LESS="-MM -i"
|
|
LESSCHARSET="latin1"
|
|
LESSKEY="/etc/lesskey"
|
|
LESSOPEN='|lesspipe.sh "%s"'
|
|
export LESS LESSCHARSET LESSKEY LESSOPEN
|
|
</VERB>
|
|
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 <TT>/etc/lesskey</TT>, crie primeiro o arquivo
|
|
<TT>/etc/lesskey.in</TT> contendo as seguintes linhas:
|
|
<VERB>
|
|
# 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
|
|
</VERB>
|
|
Depois ``compile-o'' usando o comando
|
|
<VERB>
|
|
# lesskey -o /etc/lesskey /etc/lesskey.in
|
|
</VERB>
|
|
Crie o arquivo <TT>/usr/bin/lesspipe.sh</TT> contendo
|
|
<VERB>
|
|
#!/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
|
|
</VERB>
|
|
Não esqueça de torná-lo executável:
|
|
<VERB>
|
|
chmod 755 /usr/bin/lesspipe.sh
|
|
</VERB>
|
|
|
|
Na distribuição Debian já existe um script <TT>/usr/bin/lesspipe</TT>
|
|
(note a ausência da extensão <TT/.sh/). 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 e S.u.S.E.. Existe um
|
|
<EM/RPM+Slackware Mini-HOWTO/ que explica como fazer isso.
|
|
|
|
<SECT2>ls
|
|
<P>
|
|
Acrescente a seguinte linha ao arquivo <TT>/etc/profile</TT> :
|
|
<VERB>
|
|
alias ls="ls -N"
|
|
</VERB>
|
|
ou
|
|
<VERB>
|
|
alias ls="ls -b"
|
|
</VERB>
|
|
Se a sua distribuição de Linux usa o GNU ls (todas as que eu conheço usam)
|
|
basta acrescentar ao arquivo <TT>/etc/profile</TT> ou <TT/.profile/ as
|
|
seguintes linhas:
|
|
<VERB>
|
|
# -----------------------------------------
|
|
# 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
|
|
</VERB>
|
|
Se o seu shell é o csh ou tcsh, acrescente a seguinte linha ao arquivo
|
|
<TT>/etc/csh.login</TT> ou <TT>~/.login</TT>:
|
|
<VERB>
|
|
alias ls 'ls --color'
|
|
</VERB>
|
|
|
|
<SECT2>LyX<LABEL ID="SEC:LYX">
|
|
<P>
|
|
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
|
|
|
|
<QUOTE><URL URL="http://www.lyx.org"></QUOTE>
|
|
|
|
A partir da versão 1.0.1 do LyX já tem a interface com o usuário em Português,
|
|
traduzida por Pedro Kröger, que também está traduzindo os manuais, junto
|
|
com Roberto Mello. Estas traduções já fazem parte da
|
|
distribuição oficial do LyX.
|
|
|
|
Tendo o LyX instalado, é muito fácil criar documentos com acentuação em
|
|
Português. Seguindo as seguintes regras:
|
|
|
|
<ITEMIZE>
|
|
<ITEM>Se o teclado foi configurado para ter <EM/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 <TT/'c/, pois o
|
|
LyX gera um c com acento. Temos que usar a seqüência Compose-vírgula-c.
|
|
<ITEM>Se o teclado <BF/não/ foi configurado para ter <EM/dead keys/ ainda
|
|
assim é possível acentuar no LyX. Selecione o <EM/menu/
|
|
<TT>Options/Keyboard</TT>. Na caixa de diálogo ``Key Mappings'',
|
|
selecione no ítem <TT>Language/Primary</TT> a opção ``American''.
|
|
Com isto o LyX fará a composição dos caracteres acentuados usando regras
|
|
semelhantes às das <EM/dead keys/.
|
|
<ITEMIZE>
|
|
<ITEM>A vírgula será tratada como cedilha. Para obter um `Ç'digite
|
|
<TT/,C/ e para obter uma vírgula digite <TT/,,/. Cuidado! A
|
|
seqüência <TT/,/<espaço> gerará uma cedilha isolada e
|
|
não uma vírgula!
|
|
<ITEM><TT/˜ ^ ' e `/ serão tratados como acentos. Vale a mesma
|
|
regra anterior: para obter apenas o acento, pressione a tecla duas
|
|
vezes consecutivas.
|
|
<ITEM><TT>: ; . / ?</TT> e <TT/-/ também serão tratados como
|
|
acentos. <TT/?a/ gerará um `å' e assim por diante.
|
|
</ITEMIZE>
|
|
</ITEMIZE>
|
|
|
|
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 <EM/menu/ <TT>File/New</TT>.
|
|
Depois selecione o <EM/menu/ <TT>Layout/Document</TT>. Na caixa de diálogo
|
|
``Document Layout'' selecione no ítem <TT/Language/ a opção ``brazil'' ou
|
|
``portuges'' (sem o <EM/u/ mesmo); no ítem <TT/Encoding/ selecione
|
|
``latin1''.
|
|
|
|
Veja a observação sobre o pacote <EM/algorithm/ na seção~<REF ID="SEC:LATEX"
|
|
name="TeX e LaTeX">
|
|
|
|
Uma observação final sobre o LyX: a versão atual (1.0.x) 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 <EM/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: <URL
|
|
URL="http://www-pu.informatik.uni-tuebingen.de/users/ettrich/">.
|
|
|
|
<SECT2>Man, groff, troff<LABEL ID="SEC:MAN">
|
|
<P>
|
|
Pode-se usar a opção de linha de comando <TT/-Tlatin1/ para o groff,
|
|
mas é mais simples colocar uma linha no seu arquivo <TT>/etc/profile</TT>
|
|
contendo
|
|
<VERB>
|
|
GROFF_TYPESETTER="latin1"
|
|
export GROFF_TYPESETTER
|
|
</VERB>
|
|
Para maiores informações leia o manual do groff com o comando
|
|
<VERB>
|
|
man groff
|
|
</VERB>
|
|
|
|
No Linux, o comando <EM/man/ usa o <EM/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 <TT>/usr/lib/man.config</TT> e
|
|
alterar as definições NROFF e NEQN, trocando a opção ``-Tascii'' para
|
|
``-Tlatin1'':
|
|
<VERB>
|
|
NROFF /usr/bin/groff -Tlatin1 -mandoc
|
|
NEQN /usr/bin/geqn -Tlatin1
|
|
</VERB>
|
|
ou, se usarmos a variável de ambiente GROFF_TYPESETTER, podemos simplesmente
|
|
eliminar a opção -Tascii. Na distribuição Debian não é necessário fazer
|
|
nenhuma configuração para o man, bastando configurar GROFF_TYPESETTER e na
|
|
Red Hat (incluindo Conectiva) o arquivo é <TT>/etc/man.config</TT>
|
|
|
|
Groff também pode ser configurado para fazer a separação silábica em
|
|
português, o que é muito útil se tivermos páginas de manual em Português. Isto
|
|
é bastante simples, porque quando James Clarck pôs suporte a hifenização no
|
|
groff ele usou o mesmo algoritmo de hifenização do TeX. Para ter hifenização
|
|
em português, basta copiar o arquivo de regras do TeX e fazer o <TT/groff/
|
|
usá-lo. O arquivo <TT/hyphen.pt/ pode ser obtido junto com os demais na página
|
|
do HOWTO. Trata-se do arquivo <TT/pt8hyph.tex/ (ver seção <REF ID="SEC:LATEX"
|
|
name="TeX e LaTeX">) ao qual foi adicionado apenas um comentário.
|
|
|
|
Ele deve ser copiado para o diretório
|
|
<TT>/usr/share/groff/tmac/</TT> ou <TT>/usr/lib/groff/tmac/</TT>,
|
|
dependendo da distribuição. É conveniente criar um ``link'' simbólico para
|
|
<TT/hyphen.br/. Para usar esse arquivo, basta colocar no início do seu
|
|
documento troff/groff as linhas a seguir:
|
|
<VERB>
|
|
.if \n(.g \{\
|
|
.hla pt
|
|
.hpf hyphen.pt
|
|
.\}
|
|
</VERB>
|
|
O <TT/.if/ não é necessário para a acentuação, mas ele testa se o
|
|
processador usado é o groff. Deste modo pode-se usar o mesmo documento em
|
|
outros UNIX nos quais se use o troff normal sem que ele gere mensagens de erro
|
|
sobre comandos desconhecidos.
|
|
|
|
<SECT2>Midnight Comander (mc)
|
|
<P>
|
|
No menu <TT/Options/ sub-menu <TT/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.
|
|
|
|
<SECT2>Minicom
|
|
<P>
|
|
Coloque uma linha no seu arquivo <TT>/etc/profile</TT> contendo
|
|
<VERB>
|
|
MINICOM="-m -c on"
|
|
export MINICOM
|
|
</VERB>
|
|
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
|
|
<VERB>
|
|
man minicom
|
|
</VERB>
|
|
Mais uma dica sobre o Minicom: para fazê-lo usar usar corretamante a tecla
|
|
<EM/Meta/ para ativação dos comandos rodando dentro de um <EM/xterm/, deve-se
|
|
invocá-lo com a opção ``-m'' e passar a opção ``-xrm "*eightBitInput: false"''
|
|
para o xterm. Se usarmos o <EM/rxvt/ então o minicom deve ser chamado com a
|
|
opção ``-m'' e a tecla de ativação dos comandos será <EM/Alt/. Fiz uma
|
|
adaptação no script <TT/xminicom/ que pode ser obtido via WWW na página do
|
|
Portuguese HOWTO.
|
|
|
|
Segundo Arnaldo Carvalho de Melo, as versões mais recentes do Minicom suportam
|
|
internacionalização. Suporte para o Português foi acrescentado pelo pessoal da
|
|
Conectiva. O código fonte pode ser obtido na página do Jukka (atual mantenedor
|
|
do Minicom) em
|
|
<QUOTE>
|
|
<URL URL="http://www.clinet.fi/~walker/minicom.html">
|
|
</QUOTE>
|
|
|
|
<SECT2>Netscape Communicator
|
|
<P>
|
|
O Communicator, assim como muitas aplicações que utilizam <EM/toolkits/
|
|
baseados no X Toolkit (Xt), permite que se modifiquem muitas de suas
|
|
características por meio de arquivos de configuração (X Resources). No caso
|
|
específico do Communicator, pode-se criar um arquivo chamado <TT/Netscape/
|
|
no diretório <TT>/usr/X11R6/lib/X11/app-defaults</TT> contendo estas
|
|
opções.
|
|
|
|
Na distribuição brasileira Conectiva, o pacote do Communicator vem com um
|
|
arquivo <TT>/usr/lib/netscape/i18n/Netscape.ad.pt_BR</TT> e um script
|
|
<TT>/usr/bin/netscape</TT> que executa o Communicator fazendo-o ler este
|
|
arquivo. Uma cópia do <TT/Netscape.ad.pt_BR/ pode ser obtida na página
|
|
oficial do Portuguese-HOWTO. Para usá-lo, simplesmente copie-o para
|
|
<TT>/usr/X11R6/lib/X11/app-defaults/Netscape</TT>, se sua distribuição não
|
|
o possuir, mas fique atento que seu uso pode criar problemas com novas versões
|
|
do programa.
|
|
|
|
Maiores informações sobre ``X Resources'' podem ser obtidas em [GET94],
|
|
[McC94] e no manual do programa <TT/xrdb/, com o comando
|
|
|
|
<VERB>
|
|
man xrdb
|
|
</VERB>
|
|
|
|
<SECT2>nn
|
|
<P>
|
|
<QUOTE>
|
|
Alô, alô, alguém usa nn? Informação mais atualizada será bem recebida.
|
|
</QUOTE>
|
|
Acrescente a seguinte linha ao arquivo <TT>~/.nn/init</TT>:
|
|
<VERB>
|
|
set data-bits 8
|
|
</VERB>
|
|
|
|
<SECT2>Pine e Pico
|
|
<P>
|
|
Para o Pine utilizar o conjunto de caracteres Latin 1, coloque uma linha
|
|
no arquivo .pinerc, no diretório do usuário, contendo
|
|
<VERB>
|
|
character-set=ISO-8859-1
|
|
</VERB>
|
|
ou crie um arquivo geral de configuração contendo tal linha. Esse arquivo
|
|
normalmente é <TT>/usr/local/lib/pine.conf</TT> ou
|
|
<TT>/usr/lib/pine.conf</TT>
|
|
|
|
A configuração também pode ser feita usando o próprio programa. No <EM/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
|
|
<VERB>
|
|
man pine
|
|
</VERB>
|
|
|
|
<SECT2>tcsh
|
|
<P>
|
|
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~<REF ID="SEC:LIBC" name="Biblioteca libc">.
|
|
|
|
Tcsh tem suporte a internacionalização e na distribuição Debian há um pacote
|
|
chamado tcsh-i18n com suporte para French, German, Greek and Spanish.
|
|
|
|
<SECT2>TeX e LaTeX<LABEL ID="SEC:LATEX">
|
|
<P>
|
|
<QUOTE>
|
|
Esta seção foi escrita com ajuda de Klaus Steding-Jessen.
|
|
</QUOTE>
|
|
|
|
<SECT3>O pacote Babel
|
|
<P>
|
|
O pacote <EM/Babel/, criado por Johannes Braams provê suporte a um grande
|
|
número de idiomas para o LaTeX. De acordo com o idioma selecionado ele define
|
|
muitas coisa como, por exemplo, os títulos dos capítulos (Chapter, Capítulo,
|
|
Kapitel) e o título das tabelas (Tabela, Table, Tabelle). Para usar o pacote,
|
|
basta incluir no preâmbulo de seu documento LaTeX o comando
|
|
|
|
<VERB>
|
|
\usepackage[portuges]{babel}
|
|
|
|
ou
|
|
|
|
\usepackage[brazil]{babel}
|
|
</VERB>
|
|
|
|
Há diferenças sutis entre o Portugues do Brasil e o de Portugal, tais como
|
|
as normas para escrita de datas e nomes de meses com a primeira letra
|
|
maiúscula ou minúscula.
|
|
|
|
Pode-se misturar mais de um idioma no mesmo documento. Para Alemão e
|
|
Português ficaria:
|
|
|
|
<VERB>
|
|
\usepackage[german,brazil]{babel}
|
|
</VERB>
|
|
|
|
Nesse caso a última opção (brazil) fica sendo o idioma corrente. Para
|
|
mudar ao longo do texto, entre um e outro, use:
|
|
|
|
<VERB>
|
|
\selectlanguage{german}
|
|
|
|
[...]
|
|
|
|
\selectlanguage{brazil}
|
|
</VERB>
|
|
|
|
Isto é muito útil também quando queremos que uma palavra não seja separada.
|
|
Basta definir um novo idioma e usá-lo nas palavras que não podem ser
|
|
separadas. Coloque no preâmbulo:
|
|
|
|
<VERB>
|
|
\newlanguage\nohyphen
|
|
\newcommand\nh[1]{{\language\nohyphen #1}}
|
|
</VERB>
|
|
|
|
E use com \nh{FOO BAR}. É melhor do que usar <TT/\mbox/, que
|
|
impede quebra no espaco em <TT/\mbox{FOO BAR}/.
|
|
|
|
<SECT3>Separação silábica
|
|
<P>
|
|
Normalmente apenas os suportes a separação silábica para Inglês e Alemão são
|
|
carregados. Para configurar hifenização no <BF/teTeX/, execute o utilitário
|
|
<EM/texconfig/, que na distribuição Slackware deve ser o programa
|
|
<TT>/usr/lib/teTeX/bin/texconfig</TT> e na Debian é
|
|
<TT>/usr/bin/texconfig</TT>. Digite o comando
|
|
|
|
<VERB>
|
|
texconfig hyphen
|
|
</VERB>
|
|
|
|
O editor usado normalmente é o <BF/vi/. Se o seu editor predileto for
|
|
outro, crie uma variável de ambiente chamada <BF/EDITOR/ contendo o nome desse
|
|
programa, como no exemplo a seguir:
|
|
|
|
<VERB>
|
|
EDITOR=pico
|
|
export EDITOR
|
|
</VERB>
|
|
|
|
O editor de texto será carregado, para editar o arquivo
|
|
<TT>language.dat</TT>. Procure uma linha que começa por <BF/%portuges/ e
|
|
remova o <BF/%/. 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 aparecem na tela).
|
|
|
|
Se o nome da tabela de hifenização que consta no seu <TT>language.dat</TT>
|
|
é <TT>pthyph.tex</TT> então provavelmente trata-se da versão 1.0, de
|
|
1987. A versão 1.2, de 1996, pode ser obtida via FTP anônimo em
|
|
<QUOTE>
|
|
<URL URL="ftp://ftp.tex.ac.uk/tex-archive/language/portuguese/pt8hyph.tex">
|
|
</QUOTE>
|
|
Copie-o para o mesmo diretório onde se encontra o <TT/pthyph.tex/, que
|
|
dependendo de sua distribuição pode ser
|
|
<TT>/usr/lib/texmf/tex/generic/hyphen</TT>
|
|
<TT>/usr/share/texmf/tex/generic/hyphen</TT> ou
|
|
<TT>/usr/lib/teTeX/texmf/tex/generic/hyphen</TT>. Execute o comando
|
|
<TT/texconfig~hash/ e na mesma linha mencionada anteriormente insira um `8'
|
|
no nome do arquivo, de modo que fique <TT/pt8hyph.tex/.
|
|
|
|
<SECT3>Uso de Font Encoding T1
|
|
<P>
|
|
Se o conjunto de caracteres (<EM/encoding/) de uma fonte não provê acesso
|
|
direto a caracteres acentuados, (como é o caso do OT1, padrão do LaTeX) então
|
|
o TeX gera estes caracteres sobrepondo o caracter base mais o acento. O
|
|
algoritmo de hifenização, contudo, não hifeniza palavras formadas dessa forma.
|
|
|
|
Se uma fonte já provê acesso direto a caracteres acentuados, como as de
|
|
codificação T1, estes caracteres são usados diretamente sem prejuízo do
|
|
algoritmo de hifenização. O uso de <EM/encoding/ T1 é fundamental para a
|
|
correta hifenização em Português.
|
|
|
|
Note que trata-se da mesma fonte, por falta a Computer Modern, apenas o que
|
|
muda é o seu <EM/encoding/, isto é, a ordem/disponibilidade dos caracteres
|
|
dentro da mesma. Para selecionar estas fontes, inclua no preâmbulo do seu
|
|
documento o comando
|
|
|
|
<VERB>
|
|
\usepackage[T1]{fontenc}
|
|
</VERB>
|
|
|
|
O antigo pacote <TT/t1enc/ não deve mais ser usado e existe hoje apenas por
|
|
questões de compatibilidade com documentos antigos. O <TT/fontenc/ é mais
|
|
atual, continua a ser mantido e é de uso mais geral, portanto preferível.
|
|
|
|
<SECT3>Edição de documentos
|
|
<P>
|
|
Normalmente a introdução de caracteres acentuados no texto exige o uso
|
|
de <EM/seqüências de escape/ bastante trabalhosas. Para gerar um ``ö''
|
|
deve-se digitar \"o. Com <EM/babel/ pode-se digitar apenas "o, o que não
|
|
deixa de ser inconveniente para ler o fonte do documento. Há um pacote chamado
|
|
<BF/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 <BF/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.
|
|
|
|
Sugestão: uma configuração do GNU Emacs para gerar caracteres
|
|
acentuados, própria para o uso com o pacote inputenc:
|
|
|
|
<VERB>
|
|
(add-hook 'LaTeX-mode-hook
|
|
(lambda ()
|
|
(standard-display-european 1)
|
|
(load-library "iso-acc")
|
|
(iso-accents-mode 1)
|
|
(iso-accents-customize "portuguese")
|
|
(auto-fill-mode 1)
|
|
))
|
|
</VERB>
|
|
|
|
E outra que não requer o inputenc. O uso da biblioteca `iso-cvt' faz a
|
|
transformação de ISO-8859-1 (no buffer do Emacs) para o padrão do LaTeX (no
|
|
arquivo).
|
|
|
|
<VERB>
|
|
(add-hook 'LaTeX-mode-hook
|
|
(lambda ()
|
|
(standard-display-european 1)
|
|
(load-library "iso-cvt")
|
|
(load-library "iso-acc")
|
|
(iso-accents-mode 1)
|
|
(iso-accents-customize "portuguese")
|
|
(auto-fill-mode 1)
|
|
))
|
|
</VERB>
|
|
|
|
Muitas vezes o usuario já possui muitos arquivos num formato de acento do
|
|
LaTeX e gostaria de passar tudo para o formato ISO, próprio para uso do pacote
|
|
inputenc. Uma boa opção para isto é usar o programa <TT/recode/. Se você
|
|
possui arquivos .tex e deseja converte-lo para formato ISO-8859-1 pode usar:
|
|
|
|
<VERB>
|
|
recode -d LaTeX:l1 file.tex
|
|
</VERB>
|
|
|
|
O código-fonte do GNU recode pode ser obtido via FTP anônimo em <URL
|
|
URL="ftp://prep.ai.mit.edu/pub/gnu/recode/recode-3.4.tar.gz"> e em muitos
|
|
espelhos do GNU mundo afora. A distribuição Debian tem um pacote pronto e
|
|
outras também devem ter.
|
|
|
|
<SECT3>Teste da configuração do LaTeX
|
|
<P>
|
|
Para testar a nova configuração copie o seguinte trecho para um arquivo
|
|
chamado, digamos, <TT/exemplo.tex/:
|
|
|
|
<VERB>
|
|
\documentclass[a4paper]{article}
|
|
\usepackage[latin1]{inputenc}
|
|
\usepackage[T1]{fontenc}
|
|
\usepackage[portuges]{babel}
|
|
%%
|
|
%% ou \usepackage[brazil]{babel}
|
|
%%
|
|
|
|
\begin{document}
|
|
\title{Linux Portuguese-HOWTO}
|
|
\author{Carlos Augusto Moreira dos Santos}
|
|
\date{\today}
|
|
|
|
\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}
|
|
</VERB>
|
|
|
|
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 <TT/exemplo.tex/
|
|
na página do Portuguese HOWTO. Para processá-lo, use o comando <TT/latex/,
|
|
conforme mostrado a seguir:
|
|
<VERB>
|
|
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/latex/base/fontenc.sty
|
|
(/usr/lib/teTeX/texmf/tex/latex/base/T1enc.def))
|
|
(/usr/lib/teTeX/texmf/tex/generic/babel/babel.sty (portuges.ldf
|
|
(/usr/lib/teTeX/texmf/tex/generic/babel/babel.def))) (exemplo.aux) [1]
|
|
(exemplo.aux) )
|
|
(see the transcript file for additional information)
|
|
Output written on exemplo.dvi (1 page, 812 bytes).
|
|
Transcript written on exemplo.log.
|
|
</VERB>
|
|
A mensagem ``Hyphenation patterns for english, german, <BF/portuges/,
|
|
loaded.'' indica que a configuração foi bem sucedida. Se o seu computador
|
|
está rodando o X o documento formatado poderá ser visto com
|
|
o comando
|
|
<VERB>
|
|
xdvi exemplo.dvi
|
|
</VERB>
|
|
|
|
Observe que o ``<TT/\today/'' gera a data corrente. No ``portugues'' seria
|
|
``17 de Julho de 1998'' mas no ``brazil'' seria ``17 de julho de 1998''.
|
|
|
|
<SECT3>Problemas com alguns pacotes do teTeX
|
|
<P>
|
|
Há um problema com o pacote <EM/algorithm/ do LaTeX, que não é suportado pelo
|
|
babel, fazendo com que a lista de algoritmos 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 ``<TT/\usepackage{algorithm}/'' o seguinte:
|
|
|
|
<VERB>
|
|
\makeatletter
|
|
\renewcommand{\ALG@name}}{Algoritmo}}
|
|
\makeatother
|
|
\renewcommand{\listalgorithmname}}{Lista de Algoritmos}}
|
|
</VERB>
|
|
|
|
No teTeX 0.4 (versão 1.2h do portuges.ldf) o título do ambiente <EM/proof/,
|
|
encontrado nas classes <EM/amsbook/, <EM/amsart/, etc., sai como ``Proof.''.
|
|
Para corrigir isso, coloque no preâmbulo de seu documento o comando
|
|
|
|
<VERB>
|
|
\renewcommand{\proofname}}{Demonstra\c{c}\~ao}
|
|
</VERB>
|
|
|
|
mas o mais recomendável é que se atualize a versão do teTeX.
|
|
|
|
Usuários do LyX podem incluir esses comandos no preâmbulo do documento usando
|
|
o menu <TT>Layout/LaTeX Preamble</TT>. Pode-se resolver o problema
|
|
alterando o arquivo <TT/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.
|
|
|
|
A licença do Babel não me permite distribuir o <TT/portuges.ldf/ separado do
|
|
resto do pacote, mas para os interessados, coloquei à disposição na página do
|
|
HOWTO um arquivo chamado <TT/portuges.ldf.patch/ que criei para o meu teTeX
|
|
antigo (Slackware 3.4). Para aplicar a atualização, copie-o para o diretório
|
|
<TT>/usr/lib/teTeX/texmf/tex/generic/babel</TT> (Slackware), faça uma
|
|
cópia de reserva do <TT/portuges.ldf/ original e invoque o utilitário
|
|
<TT/patch/:
|
|
|
|
<VERB>
|
|
cp -p portuges.ldf portuges.ldf.backup
|
|
patch < portuges.ldf.patch
|
|
</VERB>
|
|
|
|
Use o patch por sua conta e risco! Se você deixar o backup no diretório
|
|
original ele será incluído no arquivo <TT/ls-R/ da próxima vez que o
|
|
programa <EM/texhash/ for executado. Isso não fará mal algum, mas pode-se
|
|
mover o backup para algum lugar seguro (eu uso <TT>/usr/backup</TT>).
|
|
|
|
<SECT3>Lista TeX-BR
|
|
<P>
|
|
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 <<HTMLURL
|
|
URL="mailto:tex-br-request@listas.furg.br"
|
|
name="tex-br-request@listas.furg.br">>. Esta lista é administrada por Rafael
|
|
Rodrigues Obelheiro.
|
|
|
|
Há uma página na WWW em <URL URL="http://biquinho.furg.br/tex-br/"> por meio
|
|
da qual se pode ler o histórico de mensagens. Também há referências para
|
|
muitos documentos sobre LaTeX, alguns em Português e outros em Inglês.
|
|
|
|
<SECT3>LaTeX-demo
|
|
<P>
|
|
Pode ser útil também um documento de exemplo para ter onde começar. Pensando
|
|
nisso, Klaus Steding-Jessen 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 <URL URL="http://biquinho.furg.br/doc/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 <URL
|
|
URL="http://biquinho.furg.br/tex-br/doc/artigo-1-jessen/">.
|
|
|
|
|
|
<SECT2>WordPerfect
|
|
<P>
|
|
O Corel Wordperfect para Linux versão 8 suporta a acentuação por teclas
|
|
mortas. Não é necessário nenhum procedimento especial. Como um entusiasta de
|
|
software livre, entretanto, recomendo enfaticamente que se use o <HTMLURL
|
|
URL="http://www.lyx.org/" NAME="LyX">, que já foi inclusive traduzido para
|
|
nossa língua, conforme mencionado na seção~<REF ID="SEC:LYX" NAME=LyX>.
|
|
|
|
<SECT2>Xemacs (antigo lucid emacs)
|
|
<P>
|
|
<QUOTE>
|
|
Agradeço a colaboração de Judson Santos Santiago e Goedson Teixeira
|
|
Paixão que ajudaram a identificar os problemas com o Xemacs.
|
|
</QUOTE>
|
|
|
|
O <HTMLURL URL="http://www.xemacs.org/" NAME="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 circunflexo. Este
|
|
problema não ocorre se for usada a biblioteca <EM/Xlib/ aterada por Thomas
|
|
Quinot, mencionada na seção~<REF ID="SEC:CONTOR-X" name="Contornando os
|
|
limites do X">, mas mesmo que não a usemos, basta colocar os seguintes
|
|
comandos no seu arquivo de configuração <TT/.emacs/:
|
|
<VERB>
|
|
;; Ajuste para fazer o acento circunflexo funcionar
|
|
;; Contribuição de Goedson Teixeira Paixao <gopaixao@dcc.ufmg.br>
|
|
(require 'x-compose)
|
|
(define-key global-map 'dead-circumflex compose-circumflex-map)
|
|
</VERB>
|
|
|
|
Na distribuição Debian 2.0 o Xemacs 20.4 executa todos os scripts contidos no
|
|
diretório <TT>/etc/xemacs20/site-start.d</TT> ao ser carregado. Tudo que
|
|
se tem a fazer é colocar esses comandos em um arquivo chamado, por exemplo,
|
|
<TT/01portugues-xemacs.el/. Não é necessário instalar o <EM/xemacs20-mule/,
|
|
que possui extensões para línguas que não usam o alfabeto romano. Os pacotes a
|
|
instalar são os seguintes:
|
|
|
|
<ITEMIZE>
|
|
<ITEM>xemacs20-bin
|
|
<ITEM>xemacs20-nomule
|
|
<ITEM>xemacs20-support
|
|
<ITEM>xemacs20-supportel
|
|
</ITEMIZE>
|
|
|
|
Se você instalou o Xemacs no Slackware ou outro Unix, à moda antiga (dowload,
|
|
compilação, instação), então o arquivo a alterar é o <TT/site-start.el/, que
|
|
deve estar no diretório <TT>/usr/lib/xemacs/site-lisp</TT> ou
|
|
<TT>/usr/local/lib/xemacs/site-lisp</TT>, 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 <BF/delete-key-deletes-forward/. Para ativar este comportamento
|
|
coloque no seu arquivo <TT/.emacs/ uma linha contendo
|
|
|
|
<VERB>
|
|
(setq delete-key-deletes-forward t)
|
|
</VERB>
|
|
|
|
Arquivos de configuração prontos podem ser obtidos via WWW na página do
|
|
Portuguese HOWTO. Para Slackware, há um <TT/site-start-xemacs.el/, que deve
|
|
ser copiado para o diretório correto com o nome de <TT/site-start.el/. Para
|
|
Debian, há um <TT/01portugues-xemacs.el/ que deve ser copiado para o
|
|
diretório <TT>/etc/xemacs20/site-start.d</TT>.
|
|
|
|
Certifique-se de estar usando a versão 24-out-1998 ou mais recente do arquivo
|
|
de <REF ID="SEC:FICHEIROS" name="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.
|
|
|
|
<!-- Talvez seja útil uma seção sobre toolkits... -->
|
|
|
|
<SECT1>Rede local e Internet
|
|
<P>
|
|
<SECT2>FTP (File Transfer Protocol)
|
|
<P>
|
|
Existem dois modos de transferência de arquivos: <EM/binary/ e <EM/ASCII/,
|
|
sendo este utilizado para textos. Deve-se tomar cuidado ao transferir um
|
|
arquivo, pois o modo de transfêrencia
|
|
<TT/ASCII/ remove o oitavo bit de cada caracter transmitido, o que terá como
|
|
conseqüência a perda de todos os caracteres acentuados. Desta forma é
|
|
aconselhado o envio de documentação em modo <TT/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 reconhece 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 <TT/bin/ antes de um <TT/get/ quando
|
|
quiser que a transferência seja binária!
|
|
|
|
<SECT2>Correio eletrônico
|
|
<P>
|
|
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
|
|
em 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 emeil, 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
|
|
|
|
<VERB>
|
|
man uuencode
|
|
man uudecode
|
|
</VERB>
|
|
|
|
<SECT>Ficheiros necessários<LABEL ID="SEC:FICHEIROS">
|
|
<P>
|
|
<BF/Atenção!/ Os mapas de teclado para o X fornecidos mapeiam a função das
|
|
teclas segundo a lista a seguir:
|
|
<ITEMIZE>
|
|
<ITEM>Alt esquerdo: Alt
|
|
<ITEM>Alt direito: AltGr
|
|
<ITEM>Control esquerdo: Control
|
|
<ITEM>Control direito: Control
|
|
<ITEM>ScrollLock: ScrollLock
|
|
<ITEM>Janela esquerda: Meta
|
|
<ITEM>Janela direita: Compose
|
|
<ITEM>Menu: Menu
|
|
</ITEMIZE>
|
|
|
|
Se o seu teclado não possuir as teclas <EM/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ício das linhas que definem os <EM/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. Eles podem ser obtidos via WWW em
|
|
um dos repositórios da página do Portuguese HOWTO:
|
|
|
|
<ITEMIZE>
|
|
<ITEM><URL URL="http://linusp.usp.br/~casantos/">
|
|
</ITEMIZE>
|
|
|
|
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 <EM/Windows~95/.
|
|
As instruções para instalação estão nas seções <REF ID="CONF-CONS"
|
|
name="Configuração do console"> e <REF ID="CONF-X" name="Configuração do
|
|
X">.
|
|
|
|
<DESCRIP>
|
|
|
|
<TAG/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 <TT/'C/. No console pode-se fazê-lo com
|
|
a seqüência <TT/AltGR-C/. O trema é gerado pela tecla <TT/&dquot;/. Para
|
|
gerar as aspas duplas é necessário digitar a seqüência
|
|
<TT/&dquot;<espaço>/ e no console pode-se usar <TT/&dquot;&dquot;/;
|
|
opcionalmente pode-se usar <TT/AltGR-&dquot;/, o que não é uma solução muito
|
|
confortável, mas funciona...
|
|
|
|
Testados com teclados de várias marcas (e alguns sem marca :-).
|
|
|
|
<TAG/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 <BF/«/ e <BF/»/. Não são muito confortáveis,
|
|
porque para gerar o símbolos <BF/@ [ ] { }/ e o trema é
|
|
necessário usar a tecla <BF/Alt-GR/.
|
|
|
|
Testado com um teclado da marca Key Tronic.
|
|
|
|
<TAG/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.
|
|
|
|
<TAG/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.
|
|
|
|
<TAG/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 <EM/Type 4/, os <EM/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.
|
|
</DESCRIP>
|
|
|
|
A geração dos caracteres acentuados é feita de acordo com a tabela a seguir:
|
|
|
|
<VERB>
|
|
Para gerar Digitar
|
|
-------------------------------------------------
|
|
ç 'c ou compose-,-c
|
|
á é í ó ú 'a 'e 'i 'o 'u
|
|
à è ì ò ù `a `e `i `o `u
|
|
ã õ ~a ~o
|
|
â ê î ô û ^a ^e ^i ^o ^u
|
|
ä ë ï ö ü "a "e "i "o "u
|
|
" (aspas) "" ou AltGR-" no mapa US+
|
|
¨ (trema) "-espaço
|
|
' (apóstrofo) '' ou AltGR-' no mapa US+
|
|
` (grave) `` ou AltGR-` no mapa US+
|
|
® compose-O-R
|
|
© compose-O-C
|
|
-------------------------------------------------
|
|
</VERB>
|
|
|
|
</SECT>
|
|
|
|
<SECT>Informações Adicionais
|
|
|
|
<SECT1>Fontes de informação sobre Linux em Português
|
|
<P>
|
|
<DESCRIP>
|
|
<TAG/Grupo de Investigação Linux/
|
|
Grupo de usuários de linux da Universidade do Minho, em Portugal que pode
|
|
ser visitado em <URL URL="http://gil.di.uminho.pt">.
|
|
<TAG/Grupo de Utilizadores de Linux do ISCTE/
|
|
Pode ser visitado em <URL
|
|
URL="http://www.students.iscte.pt/~a12593/gul.html">.
|
|
<TAG/Linux Brasil/
|
|
Servidor da Universidade Estadual de Campinas, Brasil, contendo
|
|
informações sobre Linux no Brasil, que absorveu o antigo projeto LDP-br.
|
|
Pode ser visitado em <URL URL="http://linux.unicamp.br">.
|
|
<TAG/Projeto LinUSP/
|
|
Desenvolvido na Universidade de São Paulo, Brasil, coordenado por Jorge L.
|
|
deLyra. Pode ser visitado em <URL
|
|
URL="http://linusp.usp.br/">.
|
|
</DESCRIP>
|
|
|
|
</SECT1>
|
|
|
|
<SECT1>Free Translation Project
|
|
<P>
|
|
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 emeil para cada equipe de tradução, rodando em
|
|
um servidor provido pela <<htmlurl URL="http://www.li.org" name="Linux
|
|
International">>. Para fazer contato com a equipe de tradução para
|
|
Português, envie um emeil para <<HTMLURL URL="mailto:pt@li.org"
|
|
name="pt@li.org">> e para assinar a lista envie emeil para <<HTMLURL
|
|
URL="mailto:pt-request@li.org" name="pt-request@li.org">> contendo apenas a
|
|
palavra ``subscribe''. Assine a lista somente se você quiser fazer parte da
|
|
equipe de tradutores, pois ela <BF/não/ se destina ao esclarecimento de
|
|
dúvidas de usuários!
|
|
|
|
Mais informações podem ser encontradas na documentação do pacote <EM/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
|
|
<QUOTE>
|
|
<URL URL="ftp://ftp.gnu.org/pub/gnu/">
|
|
</QUOTE>
|
|
e o nome do arquivo a copiar é ``gettext-<versão>.tar.gz''.
|
|
|
|
</SECT1>
|
|
|
|
<SECT1>LIE-BR
|
|
<P>
|
|
<QUOTE>
|
|
A informação a seguir é baseada no conteúdo da página de apresentação da
|
|
lie-br, escrita por Jorge Godoy.
|
|
</QUOTE>
|
|
A lie-br foi criada com o intuito de auxiliar a comunidade Linux brasileira a
|
|
obter softwares e documentação em sua língua nativa: o português. Essa lista
|
|
é uma ramificação de outra maior, a LIE que visa a internacionalização do
|
|
Linux e sua posterior tradução para todos os idiomas (português incluso).
|
|
|
|
Resumo dos objetivos da lie-br:
|
|
<ITEMIZE>
|
|
<ITEM>contribuir para o projeto de internacionalização do Linux fazendo a parte
|
|
relativa ao português para o Brasil;
|
|
<ITEM>internacionalizar programas, de modo a poderem ser usados nas línguas
|
|
nativas de cada país, e não ficar preso ao idioma original ou ao inglês;
|
|
<ITEM>disponibilizar (sic) material em português para consulta e documentação;
|
|
<ITEM>aumentar o acervo de documentação disponível e, indiretamente, auxiliar
|
|
no desenvolvimento iniciado pelo projeto LDP-BR.
|
|
</ITEMIZE>
|
|
|
|
Mais informações podem ser encontradas na página WWW da lie-br, no endereço
|
|
<QUOTE>
|
|
<URL URL="http://lie-br.conectiva.com.br/">
|
|
</QUOTE>
|
|
Ainda há uma quantidade enorme de documentos por traduzir. Se você tem bom
|
|
domínio do Inglês e deseja colaborar, então <BF/primeiro/ leia as instruções
|
|
na página mencionada e assine a lista ``lie-br'', enviando um emeil para
|
|
<<htmlurl URL="lie-br-subscribe@bazar.conectiva.com.br"
|
|
name="lie-br-subscribe@bazar.conectiva.com.br">>. Não é preciso especificar
|
|
o assunto (subject) nem colocar nada no corpo da mensagem.
|
|
|
|
</SECT1>
|
|
|
|
<SECT1>Versões de software testadas<LABEL ID="SEC:VERSTEST">
|
|
<P>
|
|
Todas as informações presentes neste documento foram testadas nas
|
|
seguintes versões de software:
|
|
|
|
<ITEMIZE>
|
|
<ITEM>Distribuições Slackware 3.2 (muito modificada), Debian 2.0, Red Hat 5.2,
|
|
Conectiva 3.0 (Guarani) e S.u.S.E. 5.6
|
|
<ITEM>XFree86 versões 3.3 a 3.3.3.1
|
|
<ITEM>Fvwm 2.0.46
|
|
<ITEM>Rxvt versão 2.4.5
|
|
<ITEM>Kernel versões 2.0.33 a 2.0.36
|
|
<ITEM>Kbd versões 0.92 a 0.96
|
|
<ITEM>GNU emacs versões 19.34 a 20.3
|
|
<ITEM>Less versões 321 e 332
|
|
<ITEM>GNU Bash versões 1.14.7 a 2.01.1
|
|
<ITEM>tcsh versões 6.07.02 e 6.07.06
|
|
<ITEM>LyX 0.12.0 a 1.0.0pre6
|
|
<ITEM>XForms 0.88
|
|
<ITEM>Joe 2.8
|
|
<ITEM>Pine 3.96 e 4.0
|
|
<ITEM>Pico 2.9
|
|
<ITEM>teTeX versões 0.4 e 0.9-9
|
|
<ITEM>XEmacs versões 20.3 e 20.4
|
|
</ITEMIZE>
|
|
|
|
<!-- *** Termos Especiais *** -->
|
|
|
|
<!--
|
|
|
|
PELAMORDIDEUS, CASANTOS!
|
|
Toma vergonha na cara e atualiza isto!
|
|
|
|
<SECT1>Termos Especiais
|
|
<P>
|
|
<DESCRIP>
|
|
|
|
<TAG/BOOT/Processo de arranque da máquina.
|
|
|
|
<TAG/HOWTO/Possiveis traduções seram : ``Como é que ...?'', ``O que é ...''
|
|
|
|
<TAG/Diréctoria HOME/a que se obtem executando ``cd <ENTER>''.
|
|
|
|
<TAG/Package ou pacote/Conjunto de programas, arquivos de dados e/ou
|
|
documentação reunidos segundo um fim e designação comuns.
|
|
|
|
<TAG/Página de Código/Normalmente designada em MSDOS como sendo o binómio
|
|
FONTES - POSIÇÕES DE CARACTER, sendo por exemplo a Página de código 850
|
|
caracterizada por um certo tipo de caracteres (diferentes dos exibidos pela
|
|
placa gráfica no momento do ``boot'') e suas posições no teclado (o
|
|
``<TT/c-cedilhado/'' no sitio certo bem como os ``<,-~ etc''). No
|
|
<BF/Linux/ o mesmo é obtido através dos comandos setfont e mapscrn.
|
|
|
|
</DESCRIP>
|
|
|
|
-->
|
|
|
|
<SECT>Observações finais
|
|
|
|
<SECT1>Futuras adições a este documento
|
|
<P>
|
|
As próximas versões do HOWTO deverão conter, entre outros assuntos, os
|
|
seguintes:
|
|
<ITEMIZE>
|
|
<ITEM>suporte à distribuição Caldera;
|
|
<ITEM>informações sobre compartilhamento de arquivos em rede usando NFS, SAMBA
|
|
e Mars-NWE;
|
|
<ITEM>configuração de <EM/toolkits/ de interface gráfica: Qt, GTK, XForms,
|
|
Tk (Tcl) e os baseados em Xt, como Motif, Lesstif, Xaw (*international
|
|
ainda não está funcionando);
|
|
<ITEM>uma seção sobre desenvolvimento de programas;
|
|
<ITEM>referências ao Ispell (usá-lo para corrigir o próprio HOWTO :-);
|
|
<ITEM>informações sobre X/Open, XPG4 e POSIX, ou pelo menos ponteiros para
|
|
elas.
|
|
</ITEMIZE>
|
|
Aceitam-se voluntários para qualquer uma destas tarefas.
|
|
|
|
Parece cada vez mais claro que as informações sobre configuração de
|
|
aplicativos devem ser movidas para outro documento, independente do HOWTO. Na
|
|
forma como ele está hoje já chega a quase quarenta páginas impressas e com a
|
|
adição de outras distribuições e aplicações em breve chegará às 50. Um
|
|
documento tão grande foge ao espírito de um HOWTO, que deve ser sucinto e
|
|
concentrado em um assunto específico.
|
|
|
|
<SECT1>Nota de Direitos de Autor
|
|
<P>
|
|
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, com a
|
|
colaboração de muitos outros.
|
|
|
|
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.
|
|
|
|
Exceções a estas regras poderam ser obtidas. Para tal, dever-se-á contactar o
|
|
coordenador dos documentos HOWTO do Linux no endereço <<HTMLURL
|
|
URL="mailto:linux-howto@metalab.unc.edu"
|
|
NAME="linux-howto@metalab.unc.edu">>.
|
|
|
|
<SECT1>Garantia (inexistência de) e nota de responsabilidade
|
|
<P>
|
|
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 <BF>não reclame para
|
|
mim</BF>!
|
|
|
|
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.
|
|
|
|
<SECT1>Agradecimentos
|
|
<P>
|
|
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
|
|
|
|
<DESCRIP>
|
|
<TAG/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.
|
|
<TAG/Greg Hankins/Ex-coordenador dos <BF/Linux HOWTO/, por me permitir assumir
|
|
a manutenção deste documento e fornecer as primeiras dicas sobre autoria
|
|
de documentos SGML.
|
|
</DESCRIP>
|
|
|
|
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 incluídas neste texto. Se alguém foi esquecido, por
|
|
favor desculpe a falha.
|
|
|
|
<QUOTE>
|
|
Andre Gerhard <andre@lme.usp.br><newline>
|
|
Arnaldo Carvalho de Melo <acme@conectiva.com.br><newline>
|
|
Bruno Barberi Gnecco <brunobg@geocities.com><newline>
|
|
Cees de Groot <cg@pobox.com><newline>
|
|
Francisco Semeraro <semeraro@sti.com.br><newline>
|
|
Goedson Teixeira Paixao <gopaixao@dcc.ufmg.br><newline>
|
|
Joao Carvalho <foxfire@fe.up.pt><newline>
|
|
Jorge Carvalho Pinto <jmcpinto@yahoo.com><newline>
|
|
Judson S Santiago <judson@costeira.dimap.ufrn.br><newline>
|
|
Ken MacLeod <ken@bitsko.slc.ut.us><newline>
|
|
Klaus Steding-Jessen <jessen@acm.org><newline>
|
|
Lamarque Vieira Souza <lamarque@dcc.ufmg.br><newline>
|
|
Marcelo Malheiros <malheiro@dca.fee.unicamp.br><newline>
|
|
Marcos Vinicius Lannes dos Santos <lannes@cnpgl.embrapa.br><newline>
|
|
Pedro Kröger <kroger@e-net.com.br><newline>
|
|
Rafael Caetano dos Santos <rcaetano@linux.ime.usp.br><newline>
|
|
Rafael Rodrigues Obelheiro <obelix@biquinho.furg.br><newline>
|
|
Ramiro Morales <morales@siscard.com.ar><newline>
|
|
Raul Carvalho <rmpc@ip.pt><newline>
|
|
Ricardo Y. Igarashi <iga@originet.com.br><newline>
|
|
Roberto Mello <mello@internext.com.br><newline>
|
|
Wanderlei Antonio Cavassin <cavassin@conectiva.com.br><newline>
|
|
</QUOTE>
|
|
|
|
Os seguintes agradecimentos são do primeiro autor:
|
|
<DESCRIP>
|
|
<TAG/Carlos Ferreira/Pela luta que trava pela defesa da lingua portuguesa, bem
|
|
patente na sua <EM/Página Portuguesa/ disponível no URL:
|
|
<TT>http://lila.dei.uc.pt/˜cjrf/po/</TT> [Nota do mantenedor
|
|
atual: esta página não existe]
|
|
<TAG/João C. Silva/Pelo apoio e incentivo e criticas (bem como por me deixar
|
|
testar os meus conhecimentos no SEU computador).
|
|
<TAG/José Bandeira/Autor dos ficheiros <TT/port.map/ e <TT/xmodmap/. Pelo seu
|
|
apoio e por ter escrito alguma da documentação mais elucidativa que eu já
|
|
li sobre o assunto.
|
|
</DESCRIP>
|
|
|
|
</SECT1>
|
|
|
|
</SECT>
|
|
|
|
<SECT>Bibliografia comentada<LABEL ID="SEC:BIBLIOGRAFIA">
|
|
<P>
|
|
Esta seção ainda está incompleta e deve ser melhorada nas próximas versões.
|
|
Os HOWTOs mencionados aqui 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 <TT>/usr/doc/faq/howto</TT> e na
|
|
Debian o diretório é <TT>/usr/doc/HOWTO</TT>. Eles também podem ser obtidos
|
|
via WWW em <URL URL="http://metalab.unc.edu/LDP/HOWTO/">.
|
|
|
|
<DESCRIP>
|
|
<TAG>[BAL97]~BALSA,~André~D. Linux and X11 internationalization</TAG>
|
|
Disponível via WWW em <URL
|
|
URL="http://wauug.erols.com/~balsa/linux/deadkeys/">
|
|
|
|
Uma discussão sobre o problema da acentuação no X. Também contém
|
|
referências para outros documentos que tratam de internacionalização.
|
|
<TAG>[BRO98]~Brower~Andries. The Linux Keyboard and Console HOWTO</TAG>
|
|
Disponível via WWW em <URL
|
|
URL="http://metalab.unc.edu/LDP/HOWTO/Keyboard-and-Console-HOWTO.html">.
|
|
|
|
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.
|
|
<TAG>[GET94]~Gettys, James et al. Xlib - C Language X Interface</TAG>
|
|
Cambridge, X Consortium, Inc., 1994. 473p.
|
|
|
|
Referência definitiva sobre programação com <TT/Xlib/.
|
|
<TAG>[JON89]~Jones,~Oliver. Introduction to the X Window System</TAG>
|
|
Englewood Cliffs, Prentice Hall, 1990.
|
|
|
|
Um livro bastante antigo, mas contendo uma excelente e didática introdução
|
|
ao X e à programação com <TT/Xlib/.
|
|
<TAG>[McC94]~McCormack,~Joel et al.X Toolkit Intrinsics - C Language Interface</TAG>
|
|
Digital Equipment Corporation/X Consortium, 1994.
|
|
|
|
A referência básica para programadores interessados em usar Xt.
|
|
<TAG>[OSS92]~Ossana,~Joseph~&~Kernighan,~Brian. Troff user's manual</TAG>
|
|
Computer Science Technical Report No. 54. Murray Hill, AT&T Bell
|
|
Laboratories, 1992.
|
|
|
|
Descrição detalhada de como usar o Troff para formatação de documentos.
|
|
<TAG>[KER82]~Kernighan,~Brian. A Typesetter-independent TROFF</TAG>
|
|
Murray Hill, AT&T Bell Laboratories, 1982.
|
|
|
|
O artigo de um dos pais do UNIX sobre o Troff.
|
|
<TAG>[QUI98]~Quinot,~Thomas. Dead keys under X11</TAG>
|
|
Disponível via WWW em <URL URL="http://www.fdn.fr/~tquinot/index.en.html">
|
|
|
|
A versão em inglês do artigo sobre a modificação da
|
|
<EM/Xlib/ para dar suporte à acentuação independente da aplicação.
|
|
<TAG>[RAY98]~Raymond,~Eric~S. The Linux XFree86 HOWTO</TAG>
|
|
Disponível via WWW em <URL
|
|
URL="http://metalab.unc.edu/LDP/HOWTO/XFree86-HOWTO.html">.
|
|
|
|
Descreve como obter, instalar e configurar o XFree86. Todas as
|
|
distribuições de Linux já vêm com pacotes do XFree86 prontos para instalar,
|
|
mas as informações sobre configuração podem ser muito úteis.
|
|
<TAG>[SCH86]~Scheifler,~Robert;~Gettys,~James. The X Window System</TAG>
|
|
<em/ACM Transactions on Graphics/, New York, ACM, <em/5/ (2): 79-109,
|
|
april, 1986.
|
|
|
|
O artigo seminal de Scheifler e Gettys descrevendo o X Window System.
|
|
<TAG>[SUN90a]~Sun~Microsystems. Using NROFF & TROFF.</TAG>
|
|
Sun Microsystems, 1990.
|
|
|
|
Parte da documentação que acompanhava as estações de trabalho Sun® e o
|
|
sistema SunOS®, no tempo em que os fabricantes de computadores distribuiam
|
|
documentação de verdade.
|
|
<TAG>[SUN90b]~Sun~Microsystems. Formatting documents</TAG>
|
|
Sun Microsystems, 1990.
|
|
|
|
Veja o ítem anterior.
|
|
</DESCRIP>
|
|
|
|
Arquivos cuja leitura pode ser útil:
|
|
|
|
<DESCRIP>
|
|
<TAG><TT>/usr/src/linux/Documentation/unicode.txt</TT></TAG>
|
|
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 Império ou admirador de Jornada nas
|
|
Estrelas. Depois das recentes aventuras espaciais do Linux, não duvido de
|
|
mais nada...
|
|
|
|
A respeito deste assunto é de fundamental importância saber que, segundo
|
|
nosso consultor interestrelar Klaus Steding-Jessen, ``Klingon é o nome da
|
|
raça e do seu idioma. Kling é o nome do planeta. Mas note que o Império
|
|
Klingon é formado não apenas por esse planeta, mas por várias colônias,
|
|
teoricamente todas falando Klingon''. Tenho certeza de que sua vida nunca
|
|
mais será a mesma depois de saber disto.
|
|
<TAG><TT>/usr/src/linux/include/linux/keyboard.h</TT></TAG>
|
|
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 geralmente possuem um pacote apenas com os arquivos
|
|
<EM/include/ e outros com o resto dos programas-fonte do kernel.
|
|
<TAG><TT>/usr/X11R6/include/X11/keysymdef.h</TT></TAG>
|
|
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.
|
|
</DESCRIP>
|
|
|
|
</SECT>
|
|
|
|
</ARTICLE>
|