3111 lines
114 KiB
Plaintext
3111 lines
114 KiB
Plaintext
|
Linux Portuguese-HOWTO
|
|||
|
Configura<72><61>es do Linux para a L<>ngua Portuguesa
|
|||
|
Carlos A. M. dos Santos <casantos@cpmet.ufpel.tche.br>
|
|||
|
CPMet/UFPEL -- Pelotas, RS, Brasil
|
|||
|
v3.2, 24 May 1999
|
|||
|
|
|||
|
Este documento pretende ser um guia de refer<65>ncia de configura<72><61>o do
|
|||
|
Linux e seus programas, teclados e fontes de caracteres, permitindo
|
|||
|
sua utiliza<7A><61>o mais confort<72>vel por pessoas que falem a L<>ngua Por<6F>
|
|||
|
tuguesa.
|
|||
|
______________________________________________________________________
|
|||
|
|
|||
|
Table of Contents
|
|||
|
|
|||
|
|
|||
|
|
|||
|
1. Introdu<64><75>o
|
|||
|
|
|||
|
1.1 Finalidades deste HOWTO
|
|||
|
1.2 Onde encontrar a vers<72>o mais atual
|
|||
|
1.3 P<>gina oficial na WWW
|
|||
|
1.4 Como enviar colabora<72><61>es
|
|||
|
|
|||
|
2. Informa<6D><61>es gerais
|
|||
|
|
|||
|
2.1 Conjuntos de caracteres
|
|||
|
2.2 Modo texto versus Sistema de Janelas X
|
|||
|
|
|||
|
3. Configura<72><61>o do console (modo texto)
|
|||
|
|
|||
|
3.1 Mapas de teclado
|
|||
|
3.2 Mapas de tradu<64><75>o de tela
|
|||
|
3.3 Comandos do pacote KBD
|
|||
|
3.4 Carregamento de uma fonte de caracteres
|
|||
|
3.4.1 Slackware
|
|||
|
3.4.2 Debian
|
|||
|
3.4.3 Red Hat
|
|||
|
3.4.4 Conectiva Red Hat Linux
|
|||
|
3.4.5 S.u.S.E.
|
|||
|
3.4.6 Testando a fonte
|
|||
|
3.5 Carregando um mapa de teclado
|
|||
|
3.5.1 Slackware.
|
|||
|
3.5.2 Debian.
|
|||
|
3.5.3 Red Hat.
|
|||
|
3.5.4 Conectiva Red Hat Linux.
|
|||
|
3.5.5 S.u.S.E..
|
|||
|
3.5.6 Testando o teclado
|
|||
|
3.6 Verificando erros
|
|||
|
|
|||
|
4. Biblioteca de fun<75><6E>es libc e aplicativos GNU
|
|||
|
|
|||
|
4.1 Configurando o suporte internacional
|
|||
|
4.2 Problemas com a libc 5
|
|||
|
|
|||
|
5. Configura<72><61>o do X
|
|||
|
|
|||
|
5.1 Configura<72><61>o do xinit
|
|||
|
5.2 Configura<72><61>o do XDM
|
|||
|
5.3 Compose
|
|||
|
5.4 Locale
|
|||
|
5.5 Gera<72><61>o de mapas com o XKeyCaps
|
|||
|
5.6 Contornando os limites do X
|
|||
|
5.6.1 Altera<72><61>o da biblioteca Xlib
|
|||
|
5.6.2 Altera<72><61>o no kernel do Linux
|
|||
|
5.6.3 Compara<72><61>o entre as duas solu<6C><75>es
|
|||
|
|
|||
|
6. Configura<72><61>o dos v<>rios programas
|
|||
|
|
|||
|
6.1 Aplicativos
|
|||
|
6.1.1 Bash (biblioteca GNU readline)
|
|||
|
6.1.2 Emacs
|
|||
|
6.1.3 flex
|
|||
|
6.1.4 Fortune
|
|||
|
6.1.5 Ispell
|
|||
|
6.1.6 JDK (inclui ICQJava)
|
|||
|
6.1.7 Joe
|
|||
|
6.1.8 Less
|
|||
|
6.1.9 ls
|
|||
|
6.1.10 LyX
|
|||
|
6.1.11 Man, groff, troff
|
|||
|
6.1.12 Midnight Comander (mc)
|
|||
|
6.1.13 Minicom
|
|||
|
6.1.14 Netscape Communicator
|
|||
|
6.1.15 nn
|
|||
|
6.1.16 Pine e Pico
|
|||
|
6.1.17 tcsh
|
|||
|
6.1.18 TeX e LaTeX
|
|||
|
6.1.18.1 O pacote Babel
|
|||
|
6.1.18.2 Separa<72><61>o sil<69>bica
|
|||
|
6.1.18.3 Uso de Font Encoding T1
|
|||
|
6.1.18.4 Edi<64><69>o de documentos
|
|||
|
6.1.18.5 Teste da configura<72><61>o do LaTeX
|
|||
|
6.1.18.6 Problemas com alguns pacotes do teTeX
|
|||
|
6.1.18.7 Lista TeX-BR
|
|||
|
6.1.18.8 LaTeX-demo
|
|||
|
6.1.19 WordPerfect
|
|||
|
6.1.20 Xemacs (antigo lucid emacs)
|
|||
|
6.2 Rede local e Internet
|
|||
|
6.2.1 FTP (File Transfer Protocol)
|
|||
|
6.2.2 Correio eletr<74>nico
|
|||
|
|
|||
|
7. Ficheiros necess<73>rios
|
|||
|
|
|||
|
8. Informa<6D><61>es Adicionais
|
|||
|
|
|||
|
8.1 Fontes de informa<6D><61>o sobre Linux em Portugu<67>s
|
|||
|
8.2 Free Translation Project
|
|||
|
8.3 LIE-BR
|
|||
|
8.4 Vers<72>es de software testadas
|
|||
|
|
|||
|
9. Observa<76><61>es finais
|
|||
|
|
|||
|
9.1 Futuras adi<64><69>es a este documento
|
|||
|
9.2 Nota de Direitos de Autor
|
|||
|
9.3 Garantia (inexist<73>ncia de) e nota de responsabilidade
|
|||
|
9.4 Agradecimentos
|
|||
|
|
|||
|
10. Bibliografia comentada
|
|||
|
|
|||
|
|
|||
|
|
|||
|
______________________________________________________________________
|
|||
|
|
|||
|
1. Introdu<64><75>o
|
|||
|
|
|||
|
<20> semelhan<61>a de outras l<>nguas faladas na Europa, a L<>ngua Portuguesa
|
|||
|
tem caracter<65>sticas especiais, como a utiliza<7A><61>o de caracteres
|
|||
|
acentuados, que tornam o seu suporte dif<69>cil, pouco intuitivo ou at<61>
|
|||
|
mesmo imposs<73>vel, por parte do software utilizado nos nossos
|
|||
|
computadores.
|
|||
|
|
|||
|
Nossa l<>ngua assume particularidades em cada um dos pa<70>ses em que <20>
|
|||
|
falada e mesmo dentro de um <20>nico pa<70>s como o Brasil, de dimens<6E>es
|
|||
|
continentais e com influ<6C>ncias culturais de muitos outros povos. Este
|
|||
|
documento foi originalmente escrito por um portugu<67>s, mas agora <20>
|
|||
|
mantido por um brasileiro. H<> uma mistura de sotaques que deve se
|
|||
|
manter por um bom tempo, pois n<>o h<> raz<61>o para alterar o texto
|
|||
|
original sen<65>o para fazer de adi<64><69>es e corre<72><65>es, at<61> por respeito ao
|
|||
|
primeiro autor. Termos ``estrangeiros'' desnecess<73>rios foram
|
|||
|
substitu<74>dos por correspondentes da L<>ngua Portuguesa, preservando-se
|
|||
|
apenas os que j<> fazem parte do jarg<72>o da inform<72>tica.
|
|||
|
|
|||
|
|
|||
|
1.1. Finalidades deste HOWTO
|
|||
|
|
|||
|
Este HOWTO <20> um guia de refer<65>ncia de configura<72><61>o do sistema
|
|||
|
operativo Linux e seus programas, teclados e fontes de caracteres,
|
|||
|
permitindo sua utiliza<7A><61>o mais confort<72>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<7A><61>o, <20>s vezes <20>
|
|||
|
preciso usar algum artif<69>cio que permita contornar o problema, mas o
|
|||
|
resultado nem sempre <20> totalmente satisfat<61>rio e em alguns casos chega
|
|||
|
ser frustrante. As dificuldades encontradas centram-se essencialmente
|
|||
|
em torno de quatro pontos:
|
|||
|
|
|||
|
|
|||
|
<20> a introdu<64><75>o de caracteres acentuados atrav<61>s do teclado, como seja
|
|||
|
a escrita de jo~ao em vez da sua forma correcta: jo<6A>o;
|
|||
|
|
|||
|
<20> a exibi<62><69>o dos mesmos na tela do computador. O suporte resume-se
|
|||
|
normalmente <20> correcta localiza<7A><61>o das teclas, nada mais;
|
|||
|
|
|||
|
<20> o correto tratamento de conven<65><6E>es nacionais de formato de datas,
|
|||
|
horas e valores monet<65>rios;
|
|||
|
|
|||
|
<20> a exibi<62><69>o de mensagens, t<>tulos e demais informa<6D><61>es dos programas
|
|||
|
em outra l<>ngua que n<>o o Ingl<67>s, que <20> a l<>ngua original da
|
|||
|
maioria desses programas.
|
|||
|
|
|||
|
Vers<72>es anteriores do Portuguese HOWTO concentravam-se em contornar as
|
|||
|
duas primeiras dificuldades mencionadas, de forma a fazer que, dentro
|
|||
|
do poss<73>vel, tanto o sistema operativo como os programas nele
|
|||
|
utilizados aceitassem os caracteres acentuados e usassem os teclados
|
|||
|
com suporte para o Portugu<67>s. Embora esse objetivo ainda seja
|
|||
|
perseguido, os problemas de teclado e caracteres j<> t<>m solu<6C><75>es
|
|||
|
satisfat<61>rias, pelo menos para as aplica<63><61>es mais usadas. As pr<70>ximas
|
|||
|
vers<72>es dever<65>o se dedicar mais aos dois <20>ltimos problemas.
|
|||
|
|
|||
|
O texto cont<6E>m uma j<> n<>o t<>o breve discuss<73>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<6D>m <20>
|
|||
|
discutido, fazendo-se uma compara<72><61>o entre ele e o modo de texto. Por
|
|||
|
fim, s<>o fornecidas instru<72><75>es para a configura<72><61>o do sistema
|
|||
|
operativo e de diversos aplicativos importantes.
|
|||
|
|
|||
|
O documento tem se tornado menos slackwariano, incluindo cada vez mais
|
|||
|
informa<6D><61>es relativas a outras distribui<75><69>es. Slackware e Caldera
|
|||
|
ainda se baseiam na vers<72>o 5 da biblioteca de fun<75><6E>es do sistema para
|
|||
|
Linux (libc), enquanto Debian, Red Hat, TurboLinux, S.u.S.E e Stampede
|
|||
|
j<> suportam a vers<72>o 6 (que na verdade <20> a glibc vers<72>o 2). Esta nova
|
|||
|
vers<72>o da biblioteca est<73> um passo adiante no suporte a
|
|||
|
internacionaliza<7A><61>o e localiza<7A><61>o. A partir da vers<72>o 3.2 do
|
|||
|
Portuguese-HOWTO as particularidades de cada distribui<75><69>o ser<65>o
|
|||
|
destacadas quando houver necessidade. A tentativa de tornar Debian uma
|
|||
|
distribui<75><69>o ``de refer<65>ncia'' a partir da vers<72>o 3.0 do HOWTO
|
|||
|
fracassou miseravelmente porque o n<>mero de diferen<65>as entre as
|
|||
|
distribui<75><69>es <20> muito grande.
|
|||
|
|
|||
|
A inten<65><6E>o original de n<>o tentar concentrar toda a informa<6D><61>o em um
|
|||
|
<20>nico texto, tratando apenas de alguns temas essenciais e fornecendo
|
|||
|
refer<65>ncias para outras fontes, tamb<6D>m fracassou. O HOWTO em sua
|
|||
|
vers<72>o 3.1 j<> alcan<61>ava 38 p<>ginas impressas em formato A4, o que est<73>
|
|||
|
longe de poder ser chamado de sucinto. As principais raz<61>es para tal
|
|||
|
gigantismo s<>o a necessidade de discutir diferen<65>as entre as
|
|||
|
distribui<75><69>es e a necessidade de fornecer informa<6D><61>es mais detalhadas
|
|||
|
sobre aplicativos.
|
|||
|
|
|||
|
Excetuando-se aspectos muito espec<65>ficos do Linux, como a configura<72><61>o
|
|||
|
do modo texto e do kernel, a maioria das informa<6D><61>es contidas neste
|
|||
|
documento pode ser aplicada a outros sistemas Unix. Exemplos s<>o as
|
|||
|
configura<72><61>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<74><61>es de trabalho Sun foram criados e
|
|||
|
s<>o usados em m<>quinas que rodam Solaris. O documento poder<65> um dia se
|
|||
|
tornar o ``Unix Portuguese HOWTO'', embora no momento n<>o se tenha
|
|||
|
inten<65><6E>o ou meios de faz<61>-lo.
|
|||
|
|
|||
|
|
|||
|
1.2. Onde encontrar a vers<72>o mais atual
|
|||
|
|
|||
|
Os Linux HOWTO fazem parte do Projeto de Documenta<74><61>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<41>rica, e
|
|||
|
podem ser obtidos via FTP an<61>nimo nos seguintes endere<72>os:
|
|||
|
|
|||
|
<20> <ftp://metalab.unc.edu/pub/Linux/docs/HOWTO> (conhecida
|
|||
|
anteriormente como sunsite.unc.edu).
|
|||
|
|
|||
|
<20> <ftp://tsx-11.mit.edu/pub/linux/docs/HOWTO>
|
|||
|
|
|||
|
Pode-se tamb<6D>m folhear os documentos HOWTO em formato HTML no endere<72>o
|
|||
|
|
|||
|
<20> <http://metalab.unc.edu/LDP/HOWTO>
|
|||
|
|
|||
|
Muitas localidades mant<6E>m c<>pias desses documentos. Deve-se dar
|
|||
|
prefer<65>ncia ao acesso <20> c<>pia mais pr<70>xima, para economizar o precioso
|
|||
|
tr<74>fego internacional na Internet e tamb<6D>m evitar a sobrecarga da
|
|||
|
m<>quina metalab.unc.edu. Uma lista completa dessas localidades pode
|
|||
|
ser obtida em
|
|||
|
|
|||
|
<20> <http://metalab.unc.edu/LDP/mirrors.html>
|
|||
|
|
|||
|
Eis uma lista dos endere<72>os recomendados:
|
|||
|
|
|||
|
Brasil
|
|||
|
|
|||
|
<20> <http://linusp.usp.br/LDP/>
|
|||
|
|
|||
|
<20> <http://www.conectiva.com.br/LDP/>
|
|||
|
|
|||
|
<20> <http://www.opensite.com.br/linux/>
|
|||
|
|
|||
|
<20> <http://taubate.valley-bbs.com.br/LDP/>
|
|||
|
|
|||
|
<20> <http://linux.unicamp.br/docs/>
|
|||
|
|
|||
|
Portugal
|
|||
|
|
|||
|
<20> <http://gil.di.uminho.pt/mirrors/LDP/>
|
|||
|
|
|||
|
<20> <http://deneb.cec.pt/LDP/>
|
|||
|
|
|||
|
<20> <http://ftp.dei.uc.pt/LDP/>
|
|||
|
|
|||
|
<20> <http://www.sc.uevora.pt/LDP/>
|
|||
|
|
|||
|
<20> <http://lwp.ualg.pt/docs/LDP/>
|
|||
|
|
|||
|
<20> <http://linux.global-one.pt/LDP/>
|
|||
|
|
|||
|
<20> <http://linux.ispgaya.pt/LDP/>
|
|||
|
|
|||
|
<20> <http://ae.fe.up.pt/LDP/>
|
|||
|
|
|||
|
Os Linux HOWTO est<73>o dispon<6F>veis em diversos formatos: texto simples,
|
|||
|
PostScript, DVI, HTML, RTF e Lyx. O formato original <20> SGML e os
|
|||
|
demais s<>o gerados usando o SGMLtools (maiores informa<6D><61>es em
|
|||
|
<http://www.sgmltools.org/>).
|
|||
|
|
|||
|
1.3. P<>gina oficial na WWW
|
|||
|
|
|||
|
A p<>gina oficial do Linux Portuguese-HOWTO, assim como os diversos
|
|||
|
arquivos de configura<72><61>o do sistema e programas aplicativos
|
|||
|
mencionados no texto, podem ser encontrados nos seguintes endere<72>os:
|
|||
|
|
|||
|
|
|||
|
<20> Brasil: <http://linusp.usp.br/~casantos/>
|
|||
|
|
|||
|
<20> Portugal: <http://linux.fe.up.pt/howto/>
|
|||
|
|
|||
|
|
|||
|
1.4. Como enviar colabora<72><61>es
|
|||
|
|
|||
|
Toda a formata<74><61>o deste HOWTO, incluindo a numera<72><61>o das se<73><65>es <20>
|
|||
|
feita pelo SGMLtools. Por isso, ao enviar sugest<73>es ou corre<72><65>es,
|
|||
|
mencione os t<>tulos das se<73><65>es onde as altera<72><61>es sugeridas devem
|
|||
|
ocorrer e n<>o os n<>meros. Nunca refira-se a um par<61>grafo como sendo
|
|||
|
``o terceiro da se<73><65>o 3.1''; cite as palavras inicias do trecho a ser
|
|||
|
modificado.
|
|||
|
|
|||
|
Envie sugest<73>es e corre<72><65>es via correio eletr<74>nico em texto simples,
|
|||
|
opcionalmente com acentua<75><61>o no c<>digo ISO-8859-1. Se o texto n<>o for
|
|||
|
composto em um sistema *NIX, certifique-se de usar a codifica<63><61>o
|
|||
|
correta. Todas as mensagens recebidas ser<65>o lidas, mas nem todas
|
|||
|
receber<65>o resposta direta, devido <20> falta de tempo para tanto.
|
|||
|
|
|||
|
N<>o envie documentos no formato propriet<65>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<65>o respondidas. Para esse tipo de consulta <20> aconselh<6C>vel
|
|||
|
procurar uma lista de discuss<73>o sobre Linux em Portugu<67>s ou acompanhar
|
|||
|
os grupos de discuss<73>o de Linux na USENET comp.os.linux.*.
|
|||
|
|
|||
|
``Flames'' ter<65>o o destino costumeiro: /dev/null.
|
|||
|
|
|||
|
|
|||
|
2. Informa<6D><61>es gerais
|
|||
|
|
|||
|
2.1. Conjuntos de caracteres
|
|||
|
|
|||
|
Um conjunto de caracteres <20> definido de acordo com os s<>mbolos
|
|||
|
constantes no alfabeto utilizado para escrita em uma ou mais l<>nguas.
|
|||
|
A Organiza<7A><61>o Internacional de Normas (International Standards
|
|||
|
Organization - ISO) padronizou atrav<61>s da norma ISO-8859 v<>rios desses
|
|||
|
conjuntos, identificados por ISO-8859-x onde o x corresponde a um
|
|||
|
determinado alfabeto. O conjunto ISO-8859 utiliza 8 bits para
|
|||
|
representar cada caracter, o que permite uma gama de 256 sinais
|
|||
|
(valores de zero a 255). Em cada um dos conjuntos, os c<>digos zero a
|
|||
|
127 correspondem ao conjunto ASCII (American Standard Code for
|
|||
|
Information Interchange) e os c<>digos 160 a 255 s<>o usados para
|
|||
|
caracteres nacionais.
|
|||
|
|
|||
|
Para a l<>ngua portuguesa, recomenda-se o uso do conjunto ISO-8859-1,
|
|||
|
que compreende o alfabeto latino e letras acentuadas usadas pelas
|
|||
|
l<>nguas do oeste da Europa e Am<41>rica. Este conjunto de caracteres
|
|||
|
tamb<6D>m <20> frequentemente chamado de Latin-1 ou ISO Latin-1.
|
|||
|
|
|||
|
Um padr<64>o mais recente <20> o Unicode, definido pela norma ISO-10646, que
|
|||
|
permite definir caracteres cuja representa<74><61>o interna no computador
|
|||
|
utiliza mais de um byte (ou octeto na nomenclatura ISO). Todas as
|
|||
|
vers<72>es mais recentes de sistemas Unix suportam Unicode (ou pelo menos
|
|||
|
seus fabricantes alegam suportar).
|
|||
|
|
|||
|
Al<41>m dos caracteres alfanum<75>ricos e sinais de acentua<75><61>o, <20> poss<73>vel
|
|||
|
tamb<6D>m gerar sinais semigr<67>ficos para desenho de linhas e bordas.
|
|||
|
Esses sinais podem aproveitar c<>digos n<>o utilizados pelo conjunto
|
|||
|
oficial, tornando-os n<>o port<72>veis.
|
|||
|
|
|||
|
O Linux foi desenhado internamente de modo a facilitar a sua f<>cil
|
|||
|
configura<72><61>o e extens<6E>o em tempo de execu<63><75>o, n<>o constituindo o
|
|||
|
tratamento do teclado e fontes de caracteres excep<65><70>o. Ele possui uma
|
|||
|
implementa<74><61>o ``n<>vel 1'' do padr<64>o Unicode. Maiores detalhes podem
|
|||
|
ser encontrados nos manuais do Linux, que podem ser lido com os
|
|||
|
comandos
|
|||
|
|
|||
|
man unicode
|
|||
|
man utf-8
|
|||
|
man iso_8859_1
|
|||
|
man ascii
|
|||
|
|
|||
|
|
|||
|
mas antes disso certifique-se de que o man est<73> configurado correta<74>
|
|||
|
mente, conforme mostrado na se<73><65>o ``Man, groff, troff''.
|
|||
|
|
|||
|
|
|||
|
2.2. Modo texto versus Sistema de Janelas X
|
|||
|
|
|||
|
Alguns sistemas operativos, tais como MacOS, Microsoft Windows e NeXT,
|
|||
|
possuem interfaces gr<67>ficas pr<70>prias. No Linux, assim como na maioria
|
|||
|
dos sistemas compat<61>veis com Unix, <20> de uso corrente um ambiente
|
|||
|
gr<67>fico criado para ser ``multiplataforma'': o X Window System, que
|
|||
|
tamb<6D>m foi projetado para suportar diversos conjuntos de caracteres,
|
|||
|
idiomas e formatos de teclado, mas ainda n<>o suporta totalmente o
|
|||
|
padr<64>o Unicode e sim uma extens<6E>o do ISO-8859.
|
|||
|
|
|||
|
|
|||
|
A rigor o X Window System n<>o <20> uma interface gr<67>fica com o
|
|||
|
usu<73>rio, mas a combina<6E><61>o de um protocolo de comunica<63><61>o com
|
|||
|
uma interface com programas aplicativos (API) sobre a qual
|
|||
|
se constru<72>ram v<>rias interfaces gr<67>ficas. Tanto o proto<74>
|
|||
|
colo quanto o Sistema de Janelas definem um conjunto de
|
|||
|
mecanismos e n<>o pol<6F>ticas (elementos caracter<65>sticos da
|
|||
|
pol<6F>tica de uma Interface Gr<47>fica com o Usu<73>rio s<>o menus,
|
|||
|
bot<6F>es e caixas de di<64>logo). O uso do termo ``XWindows'' <20>
|
|||
|
incorreto e deve ser evitado, dando-se prefer<65>ncia ao nome
|
|||
|
gen<65>rico ``X''.
|
|||
|
|
|||
|
|
|||
|
Existem muitas semelhan<61>as entre os dois ambientes. Ambos se baseiam
|
|||
|
em padr<64>es internacionais para defini<6E><69>o de conjuntos de caracteres.
|
|||
|
Tanto no X quanto no console do Linux pode-se definir uma tecla
|
|||
|
chamada Compose cujo pressionamento seguido de duas outras gerar<61> o
|
|||
|
caracter correspondente. Assim sendo, o pressionamento da seq<65><71>ncia
|
|||
|
compose-,-c gerar<61> um c cedilhado.
|
|||
|
|
|||
|
O tratamento do console <20> feito diretamente pelo sistema operativo e
|
|||
|
aplica<63><61>es comuns n<>o se envolvem com o processamento dos c<>digos de
|
|||
|
varredura do teclado, recebendo um caracter ou uma seq<65><71>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<63><61>o especial chamada servidor X. O pressionamento de uma tecla
|
|||
|
gera uma mensagem (chamada de evento) que <20> passada pelo servidor X <20>
|
|||
|
aplica<63><61>o cliente. H<> um programa muito <20>til chamado xev que permite
|
|||
|
observar cada evento a ele transmitido. Cliente e servidor se
|
|||
|
comunicam via rede usando um conjunto de regras chamado protocolo X e
|
|||
|
podem rodar em m<>quinas diferentes. A m<>quina onde roda o servidor <20>
|
|||
|
chamada esta<74><61>o de trabalho ou terminal X e a m<>quina onde roda a
|
|||
|
aplica<63><61>o (programa cliente) tamb<6D>m <20> chamada de cliente.
|
|||
|
|
|||
|
Foge ao escopo deste texto a discuss<73>o mais profunda do tratamento de
|
|||
|
eventos no X. Para maiores informa<6D><61>es, sugere-se a consulta aos
|
|||
|
documentos mencionados na se<73><65>o ``Leituras recomendadas'', mas <20>
|
|||
|
importante esclarecer que o evento enviado pelo servidor ao cliente
|
|||
|
n<>o cont<6E>m o c<>digo num<75>rico da tecla, chamado keycode na terminologia
|
|||
|
do X. Ao inv<6E>s disso, <20> enviado um s<>mbolo, chamado keysymbol ou
|
|||
|
keysym, obtido pela consulta a uma tabela de convers<72>o mantida na
|
|||
|
mem<65>ria do servidor. Esta tabela pode ser modificada total ou
|
|||
|
parcialmente a qualquer momento por meio de requisi<73><69>es definidas no
|
|||
|
protocolo X.
|
|||
|
|
|||
|
Existe um programa chamado xmodmap capaz de ler um arquivo contendo
|
|||
|
uma tabela de convers<72>o keycode-->keysym e envi<76>-la, tamb<6D>m na forma
|
|||
|
de mensagens no protocolo X, ao servidor. <20> responsabilidade do
|
|||
|
cliente e n<>o do servidor interpretar o keysym, o que significa que a
|
|||
|
aplica<63><61>o deve saber esperar mais um caracter ao receber uma ``tecla
|
|||
|
morta'' para compor uma letra acentuada.
|
|||
|
|
|||
|
Desde a revis<69>o 5 do X existe na bibliotaca de fun<75><6E>es (Xlib) um
|
|||
|
mecanismo sofisticado de suporte <20> gera<72><61>o de caracteres em diversos
|
|||
|
c<>digos. A fun<75><6E>o de tratamento de entrada de texto que j<> existia
|
|||
|
nas vers<72>es anteriores, chamada XLookupString, entretanto, n<>o
|
|||
|
processa as seq<65><71>ncias de acentos e letras de modo transparente <20>s
|
|||
|
aplica<63><61>es. Ao inv<6E>s disso foi inclu<6C>do um m<>todo de composi<73><69>o usando
|
|||
|
contextos de entrada (input contexts) por meio das fun<75><6E>es
|
|||
|
XmbLookupString e XwcLookupString, cujo uso <20> responsabilidade da
|
|||
|
aplica<63><61>o -- ou do seu programador, melhor dizendo -- mesmo no caso da
|
|||
|
tecla Compose. Isto deve-se so fato de o X Consortium ter chegado <20>
|
|||
|
conclus<75>o de que o sistema de mapeamento de teclas n<>o tratava de
|
|||
|
forma satisfat<61>ria toda a imensa variedade de l<>nguas escritas nas
|
|||
|
v<>rias partes do mundo. Deste modo, decidiu-se que o ``peso'' relativo
|
|||
|
<20> gest<73>o do teclado fosse transferido para as aplica<63><61>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<61>es <20> normalmente mais dif<69>cil conseguir acrescentar
|
|||
|
suporte <20> gera<72><61>o de caracteres acentuados em aplicativos que rodam
|
|||
|
sob o X, principalmente quando n<>o se possui o c<>digo fonte.
|
|||
|
Aplicativos feitos para rodar apenas em modo texto, tais como vi e
|
|||
|
minicom depender<65>o totalmente dos recursos do emulador de terminal em
|
|||
|
uso quando rodando em uma janela do X. Se for usada uma vers<72>o atual
|
|||
|
do xterm ou rxvt o emulador far<61> o tratamento correto dos acentos.
|
|||
|
|
|||
|
O franc<6E>s Thomas Quinot, cansado de esperar uma solu<6C><75>o melhor para o
|
|||
|
problema da acentua<75><61>o no X, resolveu implementar uma modifica<63><61>o para
|
|||
|
a Xlib proposta por Andr<64> D. Balsa, que adiciona suporte <20> acentua<75><61>o
|
|||
|
direta conforme mostrado na se<73><65>o ``Contornando os limites do X''.
|
|||
|
Isso permite usar aplica<63><61>es como xfig ou xedit sem que seja
|
|||
|
necess<73>rio alter<65>-las. O truque parece funcionar apenas para
|
|||
|
caracteres do c<>digo ISO-8859-1 mas <20> suficiente para o Portugu<67>s e
|
|||
|
outras l<>nguas. Como bem observa Balsa, a longo prazo todos os
|
|||
|
programas dever<65>o ser modificados para usar os novos recursos do X,
|
|||
|
mas como a longo prazo estaremos todos mortos a solu<6C><75>o de curto prazo
|
|||
|
de Quinot torna-se bastante atraente...
|
|||
|
|
|||
|
|
|||
|
3. Configura<72><61>o do console (modo texto)
|
|||
|
|
|||
|
O documento de refer<65>ncia sobre a configura<72><61>o do console do Linux <20> o
|
|||
|
Keyboard and Console HOWTO, de Andries Brouwer, que pode ser
|
|||
|
encontrado nos reposit<69>rios do LDP. Conforme l<> descrito, a
|
|||
|
configura<72><61>o da fonte de caracteres e mapa de teclado <20> feita usando o
|
|||
|
pacote KBD, encontrado em todas as distribui<75><69>es de Linux.
|
|||
|
|
|||
|
|
|||
|
3.1. Mapas de teclado
|
|||
|
|
|||
|
Cada tecla do PC possui um c<>digo num<75>rico. Ao pressionarmos uma delas
|
|||
|
o processador controlador do teclado envia ao computador esse c<>digo
|
|||
|
de varredura, tamb<6D>m conhecido como scancode, junto com um sinal de
|
|||
|
que a tecla foi pressionada ou solta. As seq<65><71>ncias de eventos s<>o
|
|||
|
ent<6E>o processadas pelo driver de teclado e armazenadas em uma fila de
|
|||
|
caracteres que <20> lida pelas aplica<63><61>es por meio da chamada de fun<75><6E>es
|
|||
|
do sistema operativo.
|
|||
|
|
|||
|
Um mapa de teclado <20> um arquivo de texto que estabelace as
|
|||
|
correspond<6E>ncias entre o scancode de tecla e o caracter (ou seq<65><71>ncia
|
|||
|
de caracteres) a gerar quando ela for pressionada, chamado keycode.
|
|||
|
Por exemplo:
|
|||
|
|
|||
|
# atribui<75><69>o da tecla '-' do teclado num<75>rico <20> tecla com c<>digo 74
|
|||
|
keycode 74 = KP_Subtract
|
|||
|
|
|||
|
# atribui<75><69>o da tecla '4' do teclado num<75>rico <20> tecla com c<>digo 75
|
|||
|
keycode 75 = KP_4
|
|||
|
|
|||
|
# etc...
|
|||
|
|
|||
|
keycode 76 = KP_5 # tecla 5
|
|||
|
keycode 77 = KP_6 # tecla 6
|
|||
|
keycode 78 = KP_Add # soma
|
|||
|
keycode 79 = KP_1 # tecla 1
|
|||
|
keycode 80 = KP_2 # tecla 2
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Al<41>m das teclas alfab<61>ticas, num<75>ricas e de s<>mbolos, existem outras
|
|||
|
chamadas modificadoras que permitem gerar c<>digos que n<>o correspondem
|
|||
|
a nenhum sinal gr<67>fico: Shift Control Alt e Meta. Esta <20>ltima
|
|||
|
normalmente n<>o <20> encontrada em teclados de PCs, apenas em esta<74><61>es de
|
|||
|
trabalho de fabricantes como Sun, SGI, HP e Digital (eles n<>o gostam
|
|||
|
de ser chamados de ``DEC''). O editor de texto Emacs usa muito a tecla
|
|||
|
Meta.
|
|||
|
|
|||
|
O arquivo de mapa permite tamb<6D>m especificar teclas especiais chamadas
|
|||
|
``teclas mortas'' (deadkeys). Quando pressionadas elas n<>o resultam no
|
|||
|
aparecimento de um caracter na tela, limitando-se a alterar o
|
|||
|
comportamento da tecla pressionada a seguir para que, por exemplo, ao
|
|||
|
se digitar um ~ seguida de um a, seja gerado um `<60>'.
|
|||
|
|
|||
|
|
|||
|
3.2. Mapas de tradu<64><75>o de tela
|
|||
|
|
|||
|
Um mapa de tradu<64><75>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<65>amos fazer com que ao escrever o caracter com o
|
|||
|
c<>digo do c-cedilhado na tela, fosse na realidade exibido um outro
|
|||
|
caracter de c<>digo diferente mas cuja imagem na nossa fonte de
|
|||
|
caracteres correspondesse <20> imagem de um c-cedilhado.
|
|||
|
|
|||
|
Este mapeamento <20> necess<73>rio apenas quando queremos usar uma fonte
|
|||
|
cujos caracteres n<>o possuem c<>digos diretamente correspondentes aos
|
|||
|
do conjunto usado no mapa de teclado.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
3.3. Comandos do pacote KBD
|
|||
|
|
|||
|
|
|||
|
Loadkeys
|
|||
|
Permite carregar um mapa de teclado. Por exemplo, o comando a
|
|||
|
seguir carrega o mapa armazenado no arquivo portugal.map.
|
|||
|
|
|||
|
loadkeys /usr/lib/kbd/keytables/portugal.map
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Setfont
|
|||
|
Permite o carregamento de uma fonte de caracteres de tela,
|
|||
|
possibilitando a altera<72><61>o das fontes utilizadas em modo de
|
|||
|
texto. O comando a seguir, por exemplo, ir<69> carregar uma fonte
|
|||
|
com o conjunto Latin-1:
|
|||
|
|
|||
|
setfont lat1u-16.psf
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Showfont
|
|||
|
mostra todos os caracteres existentes na fonte que est<73>
|
|||
|
atualmente em uso no console. O X tamb<6D>m tem um comanto chamado
|
|||
|
showfont, que serve para mostrar as caracter<65>sticas de uma
|
|||
|
determinada fonte, mas n<>o os caracteres em si. Para esta <20>ltima
|
|||
|
finalidade se usa o comando xfd. Se o programa showfont do
|
|||
|
pacote KBD for invocado em um emulador de terminal X, como
|
|||
|
xterm, ele gerar<61> um erro ``GIO_SCRNMAP: Invalid argument'', mas
|
|||
|
n<>o provocar<61> nenhum dano.
|
|||
|
|
|||
|
Mapscr
|
|||
|
Permite carregar um mapa de tradu<64><75>o de tela. Suponhamos que
|
|||
|
exista o arquivo /etc/portugal.trad. Se executarmos o comando
|
|||
|
|
|||
|
mapscrn /etc/portugal.trad
|
|||
|
|
|||
|
|
|||
|
ent<6E>o a partir deste momento as tradu<64><75>es l<> definidas ser<65>o
|
|||
|
usadas.
|
|||
|
|
|||
|
Loadunimap
|
|||
|
Carrega um mapa de tradu<64><75>o de Unicode para a fonte de tela. O
|
|||
|
mapa padr<64>o, chamado ``def.uni'' considera que estamos usando a
|
|||
|
fonte normal do IBM-PC. Este comando n<>o <20> necess<73>rio quando
|
|||
|
usamos uma fonte com caracteres definidos no padr<64>o Unicode,
|
|||
|
pois o programa setfont carrega automaticamente a tabela de
|
|||
|
mapeamento adequada. O comando a seguir carregar<61> o mapa de
|
|||
|
tradu<64><75>o para as fontes latin-1:
|
|||
|
|
|||
|
loadunimap lat1
|
|||
|
|
|||
|
|
|||
|
|
|||
|
3.4. Carregamento de uma fonte de caracteres
|
|||
|
|
|||
|
O pacote KBD cont<6E>m dois tipos de fontes com codifica<63><61>o latin-1:
|
|||
|
|
|||
|
<20> as que j<> possuem uma tabela de mapeamento unicode, carregada
|
|||
|
automaticamente pelo programa setfont. Estas fontes t<>m nomes
|
|||
|
lat1u-*.psf;
|
|||
|
|
|||
|
<20> as que n<>o possuem tabela de mapeamento. Neste caso <20> preciso
|
|||
|
carregar uma com o programa loadunimap. Estas t<>m nomes lat1-*.psf
|
|||
|
(o ``u'' indica Unicode).
|
|||
|
|
|||
|
Nas vers<72>es mais novas do KBD os arquivos s<>o comprimidos com gzip. <20>
|
|||
|
preciso carregar uma fonte que tenha os caractres latinos acentuados
|
|||
|
no padr<64>o ISO 8859-1 e tamb<6D>m os s<>mbolos semigr<67>ficos. As fontes de
|
|||
|
nome iso01.* n<>o possuem esses s<>mbolos. A fonte mais recomendada <20> a
|
|||
|
lat1u-16.psf.
|
|||
|
|
|||
|
As vers<72>es mais antigas do pacote KBD mantinham essas fontes no
|
|||
|
diret<65>rio /usr/lib/kbd/consolefonts, que foi trocado depois da vers<72>o
|
|||
|
0.92 por /usr/share/consolefonts. Dependendo da sua distribui<75><69>o e do
|
|||
|
quanto ela esteja atualizada o diret<65>rio poder<65> ser um ou outro.
|
|||
|
|
|||
|
|
|||
|
3.4.1. Slackware
|
|||
|
|
|||
|
Foi criado o script /etc/rc.d/rc.font, contendo o seguinte:
|
|||
|
|
|||
|
|
|||
|
#!/bin/sh
|
|||
|
#
|
|||
|
# /etc/rc.d/rc.font
|
|||
|
#
|
|||
|
# Seleciona uma das fontes de caracteres disponiveis em
|
|||
|
# /usr/lib/kbd/consolefonts.
|
|||
|
#
|
|||
|
setfont lat1u-16.psf
|
|||
|
|
|||
|
# O comando a seguir <20> totalmente desnecess<73>rio
|
|||
|
# com a fonte lat1u-16.psf.
|
|||
|
# loadunimap lat1u
|
|||
|
|
|||
|
# Remova o coment<6E>rio da linha abaixo se estiver usando uma fonte sem
|
|||
|
# tabela de mapeamento de Unicode para tela:
|
|||
|
# loadunimap lat1
|
|||
|
|
|||
|
|
|||
|
|
|||
|
3.4.2. Debian
|
|||
|
|
|||
|
Edite o arquivo /etc/kbd/config e coloque uma linha contendo
|
|||
|
|
|||
|
CONSOLE_FONT=lat1u-16.psf
|
|||
|
|
|||
|
|
|||
|
esse arquivo <20> processado pelo script /etc/rc.boot/kbd. Execute-o para
|
|||
|
ativar a nova fonte sem ter que dar ``reboot''. Lembre-se sempre:
|
|||
|
Linux n<>o <20> Windows!
|
|||
|
|
|||
|
|
|||
|
3.4.3. Red Hat
|
|||
|
|
|||
|
Edite o arquivo /etc/sysconfig/i18n e veja se cont<6E>m o seguinte:
|
|||
|
|
|||
|
LANG=pt_BR
|
|||
|
LINGUAS=pt_BR
|
|||
|
LC_CTYPE=ISO-8859-1
|
|||
|
LC_ALL=pt_BR
|
|||
|
SYSFONT=lat1u-16
|
|||
|
SYSTERM=linux-lat
|
|||
|
|
|||
|
|
|||
|
|
|||
|
3.4.4. Conectiva Red Hat Linux
|
|||
|
|
|||
|
Se voc<6F> selecionar a l<>ngua correta durante a instala<6C><61>o n<>o h<> nada
|
|||
|
mais a fazer. A configura<72><61>o <20> feita extatamente como do Red Hat.
|
|||
|
|
|||
|
|
|||
|
3.4.5. S.u.S.E.
|
|||
|
|
|||
|
Edite o arquivo /etc/rc.config e procure uma linha que come<6D>a com
|
|||
|
``FONT='' (linha 64, em minha m<>quina com S.u.S.E. ver<65>o 5.6) e
|
|||
|
coloque
|
|||
|
|
|||
|
FONT=lat1u-16.psf
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Edite os scripts boot.setup e single contidos no diret<65>rio /etc/rc.d.
|
|||
|
Procure a linha contendo o comando /usr/bin/loadunimap e remova-a ou
|
|||
|
ponha no seu in<69>cio um ``#'' para deix<69>-la como coment<6E>rio. Veja
|
|||
|
coment<6E>rios sobre este comando na se<73><65>o ``Carregamento de uma fonte de
|
|||
|
caracteres''.
|
|||
|
|
|||
|
|
|||
|
3.4.6. Testando a fonte
|
|||
|
|
|||
|
Experimente algumas teclas como ``,.|!"#$%&/()=?'', etc. e use o
|
|||
|
comando showfont para mostrar a fonte em uso.
|
|||
|
|
|||
|
|
|||
|
3.5. Carregando um mapa de teclado
|
|||
|
|
|||
|
A seguir <20> necess<73>rio carregar o mapa de teclado adequado. At<41> a
|
|||
|
vers<72>o 0.92 do pacote KBD esses mapas ficavam no diret<65>rio
|
|||
|
/usr/lib/kbd/keytables passando mais tarde para /usr/share/keytables.
|
|||
|
Dependendo da distribui<75><69>o voc<6F> ter<65> um diret<65>rio ou outro. Os mapas
|
|||
|
para diversos tipos de teclados s<>o apresentados mais adiante.
|
|||
|
|
|||
|
|
|||
|
3.5.1. Slackware.
|
|||
|
|
|||
|
Foi criado o script /etc/rc.d/rc.keyboard, contendo o seguinte:
|
|||
|
|
|||
|
#!/bin/sh
|
|||
|
#
|
|||
|
# /etc/rc.d/rc.keyboard
|
|||
|
#
|
|||
|
# Seleciona um dos mapas de teclado dispon<6F>veis no diret<65>rio
|
|||
|
# /usr/lib/kbd/keytables
|
|||
|
#
|
|||
|
loadkeys abnt2
|
|||
|
|
|||
|
|
|||
|
e acrescentei as seguintes linhas ao /etc/rc.d/rc.S, imediatamente
|
|||
|
antes do tratamento do /etc/rc.d/rc.keyboard:
|
|||
|
|
|||
|
# Carrega uma fonte de caracteres se existe um script rc.font.
|
|||
|
if [ -x /etc/rc.d/rc.font ]; then
|
|||
|
/etc/rc.d/rc.font start
|
|||
|
fi
|
|||
|
|
|||
|
# Carrega um mapa de teclado se existe um script rc.keyboard.
|
|||
|
if [ -x /etc/rc.d/rc.keyboard ]; then
|
|||
|
/etc/rc.d/rc.keyboard start
|
|||
|
fi
|
|||
|
|
|||
|
|
|||
|
3.5.2. Debian.
|
|||
|
|
|||
|
Certifique-se de ter instalado o pacote kbd e depois fa<66>a o seguinte:
|
|||
|
|
|||
|
<20> copie os arquivos com os mapas de teclado fornecidos (veja a se<73><65>o
|
|||
|
``Ficheiros necess<73>rios'') para o diret<65>rio /usr/share/keytables/.
|
|||
|
N<>o <20> necess<73>rio descomprimi-los;
|
|||
|
|
|||
|
<20> copie o mapa correspondente ao seu teclado para o arquivo
|
|||
|
/etc/kbd/default.map.gz.
|
|||
|
|
|||
|
<20> rode o script /etc/init.d/keymaps.sh.
|
|||
|
|
|||
|
|
|||
|
3.5.3. Red Hat.
|
|||
|
|
|||
|
Certifique-se de ter instalado o pacote kbd. Copie os arquivos com os
|
|||
|
mapas de teclado fornecidos (veja a se<73><65>o ``Ficheiros necess<73>rios'')
|
|||
|
para o diret<65>rio /usr/lib/kbd/keytables/ (ou
|
|||
|
/usr/lib/kbd/keymaps/i386/qwerty/, a pertir do Red Hat 5.2). N<>o <20>
|
|||
|
necess<73>rio descomprimi-los.
|
|||
|
|
|||
|
Edite o arquivo /etc/sysconfig/keyboard e coloque o nome do mapa a
|
|||
|
usar na vari<72>vel KEYTABLE, como por exemplo
|
|||
|
|
|||
|
KEYTABLE="abnt2"
|
|||
|
|
|||
|
|
|||
|
|
|||
|
3.5.4. Conectiva Red Hat Linux.
|
|||
|
|
|||
|
O CRHL j<> vem com os mapas de teclado para Portugu<67>s. Se voc<6F>
|
|||
|
selecionou o teclado correto durante a instala<6C><61>o, n<>o h<> mais nada a
|
|||
|
fazer. Caso contr<74>rio, edite o arquivo /etc/sysconfig/keyboard e
|
|||
|
coloque
|
|||
|
|
|||
|
KEYTABLE="nome"
|
|||
|
|
|||
|
|
|||
|
Onde ``nome'' <20> br-abnt2, pt ou us-acentos caso o desenho do seu
|
|||
|
teclado seja ABNT-2, portugu<67>s ou americano.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
3.5.5. S.u.S.E..
|
|||
|
|
|||
|
Certifique-se de ter instalado o pacote kbd. Copie os arquivos com os
|
|||
|
mapas de teclado fornecidos (veja a se<73><65>o ``Ficheiros necess<73>rios'')
|
|||
|
para o diret<65>rio /usr/lib/kbd/keytables/. N<>o <20> necess<73>rio
|
|||
|
descomprimi-los.
|
|||
|
|
|||
|
Descomprima o mapa de teclado adequado, copiando para o arquivo
|
|||
|
/etc/default.keytab, usando por exemplo um comando como
|
|||
|
|
|||
|
zcat /usr/lib/kbd/keytables/pt.map.gz > /etc/default.keytab
|
|||
|
|
|||
|
|
|||
|
|
|||
|
3.5.6. Testando o teclado
|
|||
|
|
|||
|
Experimente pressionar a tecla c-cedilhado (se o teclado n<>o tem esta
|
|||
|
tecla, digite 'c). Verifique se todas as letras acentuadas, mai<61>sculas
|
|||
|
e min<69>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<72><61>es
|
|||
|
foi mal sucedida.
|
|||
|
|
|||
|
Se ao inv<6E>s de c-cedilha min<69>sculo aparecer um mai<61>sculo <20> prov<6F>vel
|
|||
|
que uma tabela de mapeamento Unicode incorreta esteja a ser carregada.
|
|||
|
Este problema ocorrer<65> na distribui<75><69>o S.u.S.E. se n<>o se fizerem as
|
|||
|
altera<72><61>es nos scripts do sistema mencionadas anteriormente.
|
|||
|
|
|||
|
3.6. Verificando erros
|
|||
|
|
|||
|
Mas, e se alguns dos caracteres continuarem a n<>o aparecer? Bem, antes
|
|||
|
de mais nada verifique se a fonte e o mapa de teclado adequados foram
|
|||
|
carregados. Um caso especial <20> quando queremos usar uma fonte que n<>o
|
|||
|
segue a codifica<63><61>o ISO Latin-1 (<28> o caso da fonte padr<64>o do console
|
|||
|
do PC). Ter<65>amos ent<6E>o de convencer a tela a mostrar os caracteres
|
|||
|
certos em cada caso.
|
|||
|
|
|||
|
Poder<65>amos recorrer ao comando mapscrn. O arquivo com a tabela de
|
|||
|
tradu<64><75>o teria no entanto de ser criado por n<>s, seguindo um processo
|
|||
|
moroso de tentativa e erro at<61> encontrar o caracter cuja imagem
|
|||
|
desej<65>vamos. Ou, de uma forma mais f<>cil, poder<65>amos usar o comando
|
|||
|
showfont.
|
|||
|
|
|||
|
Se usarmos a fonte de caracteres correta, o uso deste <20>ltimo comando
|
|||
|
ser<65> desnecess<73>rio. <20> at<61> recomend<6E>vel que n<>o se use tal recurso,
|
|||
|
pois embora ele permita criar uma tabela de caracteres
|
|||
|
``personalizada'' em um computador, ser<65> dif<69>cil que um documento
|
|||
|
acentuado produzido nessa m<>quina possa ser lido em outra que n<>o
|
|||
|
tenha a mesma configura<72><61>o.
|
|||
|
|
|||
|
|
|||
|
4. Biblioteca de fun<75><6E>es libc e aplicativos GNU
|
|||
|
|
|||
|
A biblioteca padr<64>o de fun<75><6E>es do Linux suporta Internacionaliza<7A><61>o e
|
|||
|
Localiza<7A><61>o segundo o padr<64>o POSIX (Portable Operating System
|
|||
|
Interface). Trata-se de uma norma estabelecida pelo IEEE (Institute
|
|||
|
of Electrical and Electronics Engineers) para intercomunica<63><61>o entre
|
|||
|
diferentes sistemas operativos. Existe tamb<6D>m um padr<64>o estabelecido
|
|||
|
pelo ANSI (American National Standards Institute) para a linguagem de
|
|||
|
programa<6D><61>o C que permite escrever programas com suporte
|
|||
|
internacional.
|
|||
|
|
|||
|
|
|||
|
4.1. Configurando o suporte internacional
|
|||
|
|
|||
|
Resumidamente, podemos dizer que as fun<75><6E>es que tratam informa<6D><61>es
|
|||
|
dependentes da l<>ngua ou do pa<70>s podem ter seu comportamento
|
|||
|
modificado, bastando para tanto estabelecer algumas vari<72>veis de
|
|||
|
ambiente. E que fun<75><6E>es s<>o essas? Podemos citar as de formata<74><61>o de
|
|||
|
datas, valores monet<65>rios e mensagens de erro do sistema. Se voc<6F> n<>o
|
|||
|
sabe o que <20> uma vari<72>vel de ambiente, sugiro que leia o manual com o
|
|||
|
comando
|
|||
|
|
|||
|
man environ
|
|||
|
|
|||
|
|
|||
|
|
|||
|
O padr<64>o POSIX permite usar diversas vari<72>veis de configura<72><61>o, cada
|
|||
|
uma delas definindo o tratamento dado a um tipo de informa<6D><61>o, a saber
|
|||
|
|
|||
|
LC_COLLATE
|
|||
|
Define regras para compara<72><61>o entre caracteres no alfabeto
|
|||
|
local. Por exemplo, a letra `<60>' deve ser tratada como id<69>ntica
|
|||
|
ao `a' no Portugu<67>s quando ordenamos alfabeticamente.
|
|||
|
|
|||
|
|
|||
|
LC_CTYPE
|
|||
|
Define regras para compara<72><61>o entre caracteres mai<61>sculos e
|
|||
|
min<69>sculos. Se estivermos trabalhando com o c<>digo ASCII,
|
|||
|
sabemos que o c<>digo num<75>rico de uma letra min<69>scula <20> 32 a mais
|
|||
|
do que a mai<61>scula correspondente, mas para uma letra acentuada
|
|||
|
esta regra n<>o <20> v<>lida!
|
|||
|
|
|||
|
|
|||
|
LC_MONETARY
|
|||
|
Muda o comportamento das fun<75><6E>es de formata<74><61>o de valores
|
|||
|
monet<65>rios e permite descobrir, por exemplo, o s<>mbolo da moeda
|
|||
|
local, ou se usa ponto ou v<>rgula como separador de milhares e
|
|||
|
de casas decimais.
|
|||
|
|
|||
|
|
|||
|
LC_MESSAGES
|
|||
|
Estabelece a l<>ngua em que as mensagens ser<65>o apresentadas e
|
|||
|
como <20> uma resposta afirmativa ou negativa (S/N).
|
|||
|
|
|||
|
|
|||
|
LC_NUMERIC
|
|||
|
Estabelece o comportamento das fun<75><6E>es de leitura/escrita de
|
|||
|
valores num<75>ricos permitindo, por exemplo que usemos a v<>rgula
|
|||
|
decimal.
|
|||
|
|
|||
|
|
|||
|
LC_TIME
|
|||
|
Define a formata<74><61>o de datas e horas.
|
|||
|
|
|||
|
|
|||
|
LC_ALL
|
|||
|
Define de uma s<> vez todas as categorias. Se usarmos LC_ALL, n<>o
|
|||
|
precisaremos definir nenhuma das outras, a n<>o ser que queiramos
|
|||
|
um comportamento diferente para aquele <20>tem espec<65>fico.
|
|||
|
|
|||
|
|
|||
|
LANG
|
|||
|
Define de uma s<> vez todas as categorias, se LC_ALL n<>o estiver
|
|||
|
definida. Tamb<6D>m <20> usada pelo comando man para compor os
|
|||
|
caminhos pelos quais ele procurar<61> as p<>ginas do manual. Veja as
|
|||
|
observa<76><61>es a respeito desta vari<72>vel nas se<73><65>es ``Locale'',
|
|||
|
``Locale'' e ``Locale''.
|
|||
|
|
|||
|
Maiores informa<6D><61>es podem ser obtidas no manual do sistema com o
|
|||
|
comando
|
|||
|
|
|||
|
man 7 locale
|
|||
|
|
|||
|
|
|||
|
O `7' no comando anterior <20> necess<73>rio para evitar confus<75>o com uma
|
|||
|
fun<75><6E>o hom<6F>nima da linguagem Perl. Note que as configura<72><61>es acima
|
|||
|
afetam, em princ<6E>pio, apenas as fun<75><6E>es dispon<6F>veis na biblioteca de
|
|||
|
fun<75><6E>es da linguagem C. Na pr<70>tica, todos os programas que rodam em
|
|||
|
Linux usam aquela biblioteca, mas o sistema operativo n<>o prov<6F>,
|
|||
|
cat<61>logos de mensagens em diversas l<>nguas para todos os programas.
|
|||
|
|
|||
|
A identifica<63><61>o da l<>ngua e do local <20> feita por dois c<>digos de duas
|
|||
|
letras, separados por um sinal ``_''. Se omitirmos o c<>digo de pa<70>s,
|
|||
|
assume-se o pa<70>s padr<64>o para a l<>ngua informada, mas deve haver um
|
|||
|
cat<61>logo correspondente. Deste modo, o c<>digo ``pt_PT'' significa
|
|||
|
Portugu<67>s de Portugal, enquanto ``pt_BR'' significa Portugu<67>s do
|
|||
|
Brasil. Escolher uma combina<6E><61>o l<>ngua/local basta ent<6E>o colocar em
|
|||
|
seu arquivo /etc/profile uma linha contendo
|
|||
|
|
|||
|
|
|||
|
|
|||
|
LC_ALL="pt_PT"
|
|||
|
export LC_ALL
|
|||
|
|
|||
|
|
|||
|
Usu<73>rios brasileiros devem usar ``pt_BR'' ao inv<6E>s de ``pt_PT''. Teste
|
|||
|
o resultado com os comandos a seguir (/inexistente <20> o nome de um
|
|||
|
arquivo que n<>o existe):
|
|||
|
|
|||
|
echo <20><><EFBFBD><EFBFBD><EFBFBD> | tr '[:upper:]' '[:lower:]'
|
|||
|
tar tf /inexistente
|
|||
|
ls -l /
|
|||
|
date
|
|||
|
cal 1 1999
|
|||
|
|
|||
|
|
|||
|
O resultado do primeiro dever<65> ser ``<60><><EFBFBD><EFBFBD><EFBFBD>''. Os comandos tar e ls
|
|||
|
devem retornar mensagens em Portugu<67>s e cal deve mostrar um calend<6E>rio
|
|||
|
de janeiro de 1999, com do se te qu qu se s<> no cabe<62>alho dos dias da
|
|||
|
semana.
|
|||
|
|
|||
|
Na distribui<75><69>o Debian, certifique-se de ter instalado o pacote
|
|||
|
``locales'', que pertence ao grupo ``admin''. O nome do arquivo que
|
|||
|
cont<6E>m o pacote (na vers<72>o 2.0 da distribui<75><69>o) <20> locales_2.0.7t-1.deb
|
|||
|
e em meu CD est<73> no diret<65>rio debian/main/binary-i386/admin.
|
|||
|
|
|||
|
4.2. Problemas com a libc 5
|
|||
|
|
|||
|
At<41> meados de 1997 todas as distribui<75><69>es de Linux usavam a mesma
|
|||
|
biblioteca libc, que estava na vers<72>o 5, desenvolvida a partir de uma
|
|||
|
vers<72>o mais antiga da libc do projeto GNU. Esta biblioteca possuia
|
|||
|
suporte muito limitado <20> internacionaliza<7A><61>o e normalmente nenhum dos
|
|||
|
cat<61>logos de locais era inclu<6C>do na distribui<75><69>o, ficando o ingl<67>s
|
|||
|
como l<>ngua padr<64>o.
|
|||
|
|
|||
|
A vers<72>o 6 da libc do Linux baseia-se na vers<72>o 2 da libc do projeto
|
|||
|
GNU. O suporte <20> internacionaliza<7A><61>o foi muito melhorado, al<61>m de
|
|||
|
incluir outros atributos que n<>o interessam para os fins deste HOWTO.
|
|||
|
Se sua distribui<75><69>o for a Debian vers<72>o 2, Red Hat vers<72>o 5 ou
|
|||
|
qualquer outra que use a nova libc, ent<6E>o n<>o h<> mais nada a fazer
|
|||
|
al<61>m do descrito na se<73><65>o anterior.
|
|||
|
|
|||
|
Mas se voc<6F> usa uma distribui<75><69>o ainda baseada na libc 5 (Slackware,
|
|||
|
Caldera 1.x ou uma vers<72>o mais antiga de Debian ou Red Hat) <20> preciso
|
|||
|
instalar a cole<6C><65>o de locais. N<>o tente copiar a cole<6C><65>o de uma
|
|||
|
distribui<75><69>o mais recente, pois os formatos dos arquivos s<>o
|
|||
|
incompat<61>veis. Pegue na p<>gina do Portuguese HOWTO o arquivo locales-
|
|||
|
pt.tgz. Para instal<61>-lo na distribui<75><69>o Slackware, basta (como usu<73>rio
|
|||
|
root) usar o comando
|
|||
|
|
|||
|
installpkg locales-pt.tgz
|
|||
|
|
|||
|
|
|||
|
e para outras distribui<75><69>es use o comando
|
|||
|
|
|||
|
tar xzf locales-pt.tgz -C /
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Verifique se h<> dois subdiret<65>rios do /usr/share/locale chamados pt_BR
|
|||
|
e pt_PT. Basta ent<6E>o configurar a vari<72>vel de ambiente LC_ALL, como j<>
|
|||
|
descrito.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
5. Configura<72><61>o do X
|
|||
|
|
|||
|
Quando o servidor X est<73> ativo, ele coloca o teclado do computador em
|
|||
|
um modo de opera<72><61>o chamado raw (cru), em oposi<73><69>o ao modo normal,
|
|||
|
chamado cooked (isto mesmo: cozido). No modo raw o sistema operativo
|
|||
|
n<>o processa seq<65><71>ncias acento-letra. O servidor X <20> uma daquelas
|
|||
|
raras aplica<63><61>es que, por dever de of<6F>cio, tem que tratar o teclado
|
|||
|
``em baixo n<>vel''.
|
|||
|
|
|||
|
O X vem equipado com um utilit<69>rio destinado <20> configura<72><61>o do
|
|||
|
teclado, chamado xmodmap, que cumpre uma fun<75><6E>o correspondente <20> do
|
|||
|
comando loadkeys, ou seja, l<> um arquivo de mapa de teclado do X,
|
|||
|
expecificando as equival<61>ncias entre os keycodes e respectivos
|
|||
|
keysymbols.
|
|||
|
|
|||
|
Eis um excerto deste arquivo:
|
|||
|
|
|||
|
keycode 47 = ccedilla Ccedilla dead_acute dead_doubleacute
|
|||
|
keycode 48 = masculine ordfeminine dead_circumflex dead_caron
|
|||
|
keycode 49 = backslash bar notsign
|
|||
|
keycode 50 = Shift_L
|
|||
|
keycode 51 = dead_tilde dead_circumflex dead_grave dead_breve
|
|||
|
|
|||
|
|
|||
|
Observem que, ao contr<74>rio do loadkeys, o xmodmap n<>o possui um
|
|||
|
diret<65>rio padr<64>o onde o arquivo <20> procurado.
|
|||
|
|
|||
|
A configura<72><61>o do X n<>o interfere de forma alguma com a configura<72><61>o
|
|||
|
do modo de texto. De facto, <20> poss<73>vel ter o seu X bem configurado, e
|
|||
|
no entanto n<>o ter realizado qualquer tipo de configura<72><61>o ao modo de
|
|||
|
texto, e vice-versa. Outro ponto importante de se observar <20> que os
|
|||
|
c<>digos num<75>ricos das teclas no X n<>o correspondem aos do console. A
|
|||
|
tecla Backspace, por exemplo, tem o n<>mero 14 no console, e 22 no X
|
|||
|
(em um computador do tipo IBM-PC).
|
|||
|
|
|||
|
As vers<72>es 3.2 e posteriores do XFree86 permitam definir dead-keys,
|
|||
|
mas o seu tratamento <20> responsabilidade da aplica<63><61>o, conforme visto
|
|||
|
na se<73><65>o ``Modo texto versus Sistema de Janelas X''. H<> modos de
|
|||
|
contornar esta limita<74><61>o e tornar o tratamento de dead-keys
|
|||
|
transparente <20>s aplica<63><61>es, conforme mostrado na se<73><65>o ``Contornando
|
|||
|
os limites do X''.
|
|||
|
|
|||
|
Dividimos a configura<72><61>o em duas partes: Uma que deve ser feita antes
|
|||
|
do login do usu<73>rio e outra depois.
|
|||
|
|
|||
|
|
|||
|
5.1. Configura<72><61>o do xinit
|
|||
|
|
|||
|
Junto com este documento s<>o fornecidos v<>rios mapas de teclado para
|
|||
|
uso no X. Para automatizar o processo de configura<72><61>o do teclado basta
|
|||
|
copiar o arquivo adequado para o diret<65>rio /usr/X11R6/lib/X11/xinit,
|
|||
|
onde normalmente ficam os arquivos de in<69>cio da se<73><65>o de trabalho no
|
|||
|
X. Na distribui<75><69>o Slackware esse diret<65>rio <20> um link simb<6D>lico para
|
|||
|
/var/X11R6/lib/xinit e na Debian e na Red Hat para /etc/X11/xinit.
|
|||
|
|
|||
|
Nas distribui<75><69>es Slackware e Red Hat, verifique se no referido
|
|||
|
diret<65>rio existe um arquivo chamado .Xmodmap. Se existir, copie o
|
|||
|
Xmodmap.<alguma-coisa> para ele, ou fa<66>a um link. Normalmente o
|
|||
|
arquivo de configura<72><61>o xinitrc possui os comandos para carreg<65>-lo
|
|||
|
automaticamente. Veja o seguinte trecho:
|
|||
|
|
|||
|
|
|||
|
|
|||
|
#!/bin/sh
|
|||
|
# $XConsortium: xinitrc.cpp,v 1.4 91/08/22 11:41:34 rws Exp $
|
|||
|
|
|||
|
userresources=$HOME/.Xresources
|
|||
|
usermodmap=$HOME/.Xmodmap
|
|||
|
sysresources=/usr/X11R6/lib/X11/xinit/.Xresources
|
|||
|
sysmodmap=/usr/X11R6/lib/X11/xinit/.Xmodmap
|
|||
|
|
|||
|
# merge in defaults and keymaps
|
|||
|
|
|||
|
if [ -f $sysresources ]; then
|
|||
|
xrdb -merge $sysresources
|
|||
|
fi
|
|||
|
|
|||
|
if [ -f $sysmodmap ]; then
|
|||
|
xmodmap $sysmodmap
|
|||
|
fi
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Na distribui<75><69>o Debian o mapa de teclado padr<64>o do X <20>
|
|||
|
/etc/X11/Xmodmap, basta copiar o mapa desejado para aquele arquivo.
|
|||
|
Ele ser<65> carregado pelo xinitrc, que por sua vez <20> um link simb<6D>lico
|
|||
|
para /etc/X11/Xsession, sempre que iniciar a se<73><65>o de trabalho do
|
|||
|
usu<73>rio.
|
|||
|
|
|||
|
|
|||
|
5.2. Configura<72><61>o do XDM
|
|||
|
|
|||
|
Existe ainda um pequeno problema: no meu computador, por exemplo, o
|
|||
|
sistema carrega diretamente o X ao dar boot e o login <20> feito pelo X
|
|||
|
Display Manager (xdm). Como o xdm faz o login antes de iniciar a se<73><65>o
|
|||
|
de trabalho, o mapa de teclado n<>o ser<65> carregado, o que pode criar
|
|||
|
problemas se o usu<73>rio usa caracteres como ``['' ou ``]'' em sua
|
|||
|
senha, pois nos teclados ABNT-2 e portugu<67>s esses s<>mbolos s<>o gerados
|
|||
|
por teclas cujos c<>digos num<75>ricos n<>o s<>o os mesmos do teclado
|
|||
|
americano.
|
|||
|
|
|||
|
<20> preciso fazer uma pequena altera<72><61>o no arquivo de configura<72><61>o
|
|||
|
Xsetup_0. Esse arquivo deve estar no diret<65>rio
|
|||
|
/usr/X11R6/lib/X11/xdm, que na Slackware <20> um link simb<6D>lico para
|
|||
|
/var/X11R6/lib/xdm e /etc/X11/xdm na Debian e -- sujeito a confirma<6D><61>o
|
|||
|
-- RedHat. Eis o conte<74>do completo desse arquivo:
|
|||
|
|
|||
|
#!/bin/sh
|
|||
|
#
|
|||
|
# /usr/X11R6/lib/X11/xdm/Xsetup_0
|
|||
|
#
|
|||
|
|
|||
|
sysresources=/usr/X11R6/lib/X11/xinit/.Xresources
|
|||
|
sysmodmap=/usr/X11R6/lib/X11/xinit/.Xmodmap
|
|||
|
|
|||
|
# merge in defaults and keymaps
|
|||
|
|
|||
|
if [ -r $sysresources ]; then
|
|||
|
xrdb -merge $sysresources
|
|||
|
fi
|
|||
|
|
|||
|
if [ -r $sysmodmap ]; then
|
|||
|
xmodmap $sysmodmap
|
|||
|
fi
|
|||
|
|
|||
|
xconsole -geometry 480x130-0-0 -daemon -notify -verbose -exitOnFail
|
|||
|
|
|||
|
|
|||
|
|
|||
|
A distribui<75><69>o Debian tem um Xsetup_0 um pouco diferente, em
|
|||
|
/etc/X11/xdm/Xsetup_0, mas basta acrescentar-lhe o seguinte:
|
|||
|
|
|||
|
|
|||
|
sysmodmap=/etc/X11/Xmodmap
|
|||
|
sysresources=/etc/X11/Xresources
|
|||
|
|
|||
|
if [ -f $sysresources ]; then
|
|||
|
xrdb -merge $sysresources
|
|||
|
fi
|
|||
|
|
|||
|
if [ -f $sysmodmap ]; then
|
|||
|
xmodmap $sysmodmap
|
|||
|
fi
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Se no seu computador o login do usu<73>rio tamb<6D>m for feito sempre via
|
|||
|
xdm, n<>o <20> necess<73>rio mexer no xinitrc, como mostrado na se<73><65>o
|
|||
|
anterior, j<> que o mapa de teclado ser<65> carregado antes do in<69>cio na
|
|||
|
se<73><65>o do usu<73>rio.
|
|||
|
|
|||
|
|
|||
|
5.3. Compose
|
|||
|
|
|||
|
Uma das coisas mais importantes a definir quando vamos utilizar
|
|||
|
acentua<75><61>o por meio de dead-keys <20> o conjunto de regras de composi<73><69>o.
|
|||
|
Essas regras determinam, por exemplo que a composi<73><69>o do caracter
|
|||
|
' com a letra e gerar<61> um <20>.
|
|||
|
|
|||
|
Ao contr<74>rio do console, no qual podemos definir as regras de
|
|||
|
composi<73><69>o no pr<70>prio mapa de teclado, no X essas regras s<>o colocadas
|
|||
|
no arquivo /usr/X11R6/lib/X11/locale/???/Compose, onde ??? <20> a
|
|||
|
codifica<63><61>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) <20> conveniente definirmos uma nova
|
|||
|
regra de composi<73><69>o, permitindo que o <20> seja gerado pela seq<65><71>ncia 'C.
|
|||
|
Se n<>o fizermos isso, seremos obrigados a digitar <dead_cedilla-C>,
|
|||
|
sedo o dead_cedilla produzido pela combina<6E><61>o AltGR-=, o que n<>o <20>
|
|||
|
nada confort<72>vel. Al<41>m disso, no teclado americano somos obrigados a
|
|||
|
usar as aspas duplas para gerar o trema.
|
|||
|
|
|||
|
O arquivo Compose fornecido foi feito procurando imitar ao m<>ximo o
|
|||
|
comportamento do console e possui as seguintes facilidades para
|
|||
|
gera<72><61>o de caracteres:
|
|||
|
|
|||
|
<20> C-cedilha: tecla <20> ou seq<65><71>ncia <acento-agudo>-C
|
|||
|
|
|||
|
<20> Ap<41>strofo: tecla ' ou seq<65><71>ncias <acento-agudo>-<acento-agudo> e
|
|||
|
<acento-agudo>-<espa<70>o>
|
|||
|
|
|||
|
<20> Acento grave: seq<65><71>ncias <acento-grave>-<acento-grave> e <acento-
|
|||
|
grave>-<espa<70>o>
|
|||
|
|
|||
|
<20> Aspas: tecla " ou seq<65><71>ncia <trema>-<trema>
|
|||
|
|
|||
|
<20> Trema: seq<65><71>ncia <trema>-<espa<70>o>
|
|||
|
|
|||
|
<20> Til: seq<65><71>ncias <til>-<espa<70>o> e <til>-<til>
|
|||
|
|
|||
|
<20> Circumflexo: seq<65><71>ncias <circumflexo>-<espa<70>o> e
|
|||
|
<circumflexo>-<circumflexo>
|
|||
|
|
|||
|
Para incluirmos as novas regras, basta aplicar uma altera<72><61>o <20>
|
|||
|
defini<6E><69>o original. O arquivo Compose.patch pode ser obtido via WWW na
|
|||
|
p<>gina do Portuguese HOWTO. Para aplicar a atualiza<7A><61>o, copie-o para o
|
|||
|
diret<65>rio /usr/X11R6/lib/X11/locale/iso8859-1/, fa<66>a uma c<>pia de
|
|||
|
reserva do Compose original e invoque o utilit<69>rio patch:
|
|||
|
|
|||
|
cp -p Compose Compose.backup
|
|||
|
patch < Compose.patch
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Caso voc<6F> prefira n<>o aplicar o ``patch'', um arquivo Compose pronto
|
|||
|
tamb<6D>m <20> fornecido. Lembre-se de fazer c<>pia do original antes de
|
|||
|
substitu<74>-lo!
|
|||
|
|
|||
|
5.4. Locale
|
|||
|
|
|||
|
Para os usu<73>rios brasileiros, pode haver mais uma altera<72><61>o a fazer no
|
|||
|
X. Conforme vimos na se<73><65>o ``Biblioteca libc'', uma vari<72>vel de
|
|||
|
ambiente (LANG ou LC_ALL) configura o suporte internacional existente
|
|||
|
na biblioteca de fun<75><6E>es padr<64>o do sistema (libc). A biblioteca de
|
|||
|
fun<75><6E>es do X (Xlib) usa a vari<72>vel LANG para identificar a l<>ngua em
|
|||
|
uso mas at<61> a revis<69>o 6.3, na qual <20> baseado o XFree86, n<>o era
|
|||
|
inclu<6C>da a combina<6E><61>o ``pt_BR'', correspondente a Portugu<67>s/Brasil.
|
|||
|
Como resultado, cada vez que executarmos um aplicativo X com LC_ALL
|
|||
|
definido como ``pt_BR'' ele emitir<69> a mensagem ``Warning: locale not
|
|||
|
supported by Xlib, locale set to C''.
|
|||
|
|
|||
|
Para incluir o local pt_BR no X11R6.3 basta alterar tr<74>s arquivos
|
|||
|
existentes no diret<65>rio /usr/X11R6/lib/X11/locale. Pegue o arquivo
|
|||
|
Xlocale.patch via WWW na p<>gina do Portuguese HOWTO. Para aplicar a
|
|||
|
atualiza<7A><61>o, copie-o para o diret<65>rio /usr/X11R6/lib/X11/locale, fa<66>a
|
|||
|
uma c<>pia de reserva dos arquivos a serem alterados e invoque o
|
|||
|
utilit<69>rio patch:
|
|||
|
|
|||
|
cp -p compose.dir compose.dir.backup
|
|||
|
cp -p locale.alias locale.alias.backup
|
|||
|
cp -p locale.dir locale.dir.backup
|
|||
|
patch < Xlocale.patch
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Caso voc<6F> prefira n<>o aplicar o ``patch'', arquivos prontos tamb<6D>m s<>o
|
|||
|
fornecidos. Lembre-se de fazer c<>pias dos originais antes de
|
|||
|
substitu<74>-los!
|
|||
|
|
|||
|
Em setembro de 1998 o fix-2 da revis<69>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<75><6E>es de tratamento de input
|
|||
|
contexts da Xlib que provoca viola<6C><61>es de acesso <20> mem<65>ria. Uma das
|
|||
|
aplica<63><61>es afetadas <20> o processador de textos LyX. Uma corre<72><65>o
|
|||
|
provavelmente ser<65> inclu<6C>da no fix-4. O X11R6.4 dever<65> ser a base para
|
|||
|
a vers<72>o 4 do XFree86.
|
|||
|
|
|||
|
|
|||
|
5.5. Gera<72><61>o de mapas com o XKeyCaps
|
|||
|
|
|||
|
O programa XKeyCaps, criado por Jamie Zawinski <20> uma interface gr<67>fica
|
|||
|
para o 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 .Xmodmap correspondente.
|
|||
|
|
|||
|
Ele pode ser obtido via WWW em <http://www.jwz.org/xkeycaps/> e, a
|
|||
|
partir da vers<72>o 2.43, j<> incoropra tamb<6D>m suporte para o desenho
|
|||
|
brasileiro (ABNT2), uma contribui<75><69>o de Andre Gerhard.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
5.6. Contornando os limites do X
|
|||
|
|
|||
|
Conforme foi explicado na se<73><65>o ``Modo texto versus Sistema de Janelas
|
|||
|
X'', o tratamento de acentos deve ser feito pela aplica<63><61>o, mas ainda
|
|||
|
h<> muitos programas que n<>o levam isto em considera<72><61>o, tais como
|
|||
|
Netscape Navigator/Communicator e Nedit. Como n<>o <20> poss<73>vel modificar
|
|||
|
muitos deles, <20> preciso encontrar outro tipo de solu<6C><75>o.
|
|||
|
|
|||
|
|
|||
|
5.6.1. Altera<72><61>o da biblioteca Xlib
|
|||
|
|
|||
|
Linux, assim como a maioria dos sistemas operacionais modernos, usa um
|
|||
|
sistema de v<>nculo de programas a bibliotecas de fun<75><6E>es chamado
|
|||
|
``liga<67><61>o din<69>mica'' (dynamic binding). Deste modo, podemos modificar
|
|||
|
o comportamento de um programa alterando uma dessas bibliotecas.
|
|||
|
Maiores informa<6D><61>es sobre este tema pode ser obtida nos manuais do
|
|||
|
Linux com os comandos
|
|||
|
|
|||
|
man ld.so
|
|||
|
man ldconfig
|
|||
|
man ldd
|
|||
|
man dlopen
|
|||
|
|
|||
|
|
|||
|
Thomas Quinot criou uma altera<72><61>o para a biblioteca de fun<75><6E>es do X
|
|||
|
(Xlib) introduzindo o tratamento de acentos na fun<75><6E>o XLookupString,
|
|||
|
Tudo que se tem a fazer <20> substituir o arquivo contendo esta bib<69>
|
|||
|
lioteca por outro, que pode ser obtido via internet no endere<72>o
|
|||
|
|
|||
|
|
|||
|
<http://web.fdn.fr/~tquinot/dead-keys.en.html>
|
|||
|
|
|||
|
|
|||
|
Existem duas vers<72>es do arquivo, uma para sistemas onde as bibliotecas
|
|||
|
do X suportam o uso seguro de threads (Debian 2.x, Red Hat 5.x, etc.)
|
|||
|
e outra para os sistemas que n<>o possuem tal atributo (Slackware,
|
|||
|
Caldera 1.x). Se voc<6F> n<>o sabe o que s<>o threads n<>o se preocupe com
|
|||
|
isso, mas saiba que eles permitem criar um programa capaz de se
|
|||
|
dividir em sub-processos que rodam concorrentemente em um computador.
|
|||
|
Para analisar sua Xlib rode o seguinte comando:
|
|||
|
|
|||
|
|
|||
|
nm --dynamic /usr/X11R6/lib/libXext.so.6|grep _Xglobal_lock
|
|||
|
|
|||
|
|
|||
|
Se aparecer ``U _Xglobal_lock'' seu sistema suporta threads e o
|
|||
|
arquivo a obter <20> libX11-XF3.3.1-TS.tar.gz. Se n<>o aparecer, seu
|
|||
|
sistema n<>o suporta threads e o arquivo a obter <20>
|
|||
|
libX11-XF3.3.1.tar.gz. Tendo obtido o arquivo, copie-o para um
|
|||
|
diret<65>rio tempor<6F>rio e extraia seu conte<74>do. Mova o arquivo
|
|||
|
/usr/X11R6/libX11.so.6.1 para outro diret<65>rio, para preserv<72>-lo. N<>o <20>
|
|||
|
suficiente renome<6D>-lo! Remova-o para um diret<65>rio cujo nome n<>o esteja
|
|||
|
contido no arquivo /etc/ld.so.conf. Depois, mova o novo arquivo para o
|
|||
|
lugar do antigo e rode o programa ldconfig (isto deve ser feito pelo
|
|||
|
usu<73>rio root):
|
|||
|
|
|||
|
cp libX11-XF3.3.1-TS.tar.gz /tmp
|
|||
|
cd /tmp
|
|||
|
tar xzf libX11-XF3.3.1-TS.tar.gz
|
|||
|
mkdir /usr/X11R6/oldlib
|
|||
|
mv /usr/X11R6/lib/libX11.so.6.1 /usr/X11R6/oldlib
|
|||
|
mv libX11.so.6.1 /usr/X11R6/lib
|
|||
|
chown root:root /usr/X11R6/lib/libX11.so.6.1
|
|||
|
chmod 755 /usr/X11R6/lib/libX11.so.6.1
|
|||
|
/sbin/ldconfig
|
|||
|
|
|||
|
<20> aconselh<6C>vel que a opera<72><61>o seja realizada quando nenhuma aplica<63><61>o
|
|||
|
X estiver rodando. A seguir, edite o arquivo de configura<72><61>o do
|
|||
|
servidor X, chamado XF86Config. Este arquivo fica no diret<65>rio /etc
|
|||
|
(Slackware) ou /etc/X11 (Debian, Red Hat). Procure a se<73><65>o
|
|||
|
``Keyboard'' e inclua a op<6F><70>o ``XkbDisable'', conforme mostrado a
|
|||
|
seguir:
|
|||
|
|
|||
|
Section "Keyboard"
|
|||
|
Protocol "Standard"
|
|||
|
XkbDisable
|
|||
|
EndSection
|
|||
|
|
|||
|
|
|||
|
|
|||
|
A op<6F><70>o XkbDisable inabilita a extens<6E>o XKEYBOARD do servidor X, o que
|
|||
|
neste caso serve para sinalizar <20> fun<75><6E>o XLookupString que ela deve
|
|||
|
tratar os acentos. Se quisermos voltar ao comportamento normal, basta
|
|||
|
retirar a op<6F><70>o do XF86Config.
|
|||
|
|
|||
|
Configure o mapa de teclado do X conforme explicado nas se<73><65>es
|
|||
|
anteriores deste documento. Para testar o resultado, rode o programa
|
|||
|
xedit e digite alguns caracteres acentuados.
|
|||
|
|
|||
|
|
|||
|
5.6.2. Altera<72><61>o no kernel do Linux
|
|||
|
|
|||
|
|
|||
|
Esta se<73><65>o <20> baseada em contribui<75><69>o enviada por Bruno Bar<61>
|
|||
|
beri Gnecco e na documenta<74><61>o do diacrd. Podem haver ainda
|
|||
|
alguns erros e se algu<67>m os detectar, por favor avise-me.
|
|||
|
|
|||
|
|
|||
|
Seguindo a regra geral do mundo *nix, existe sempre mais de um modo se
|
|||
|
resolver o mesmo problema. Conforme vimos anteriormente, existem dois
|
|||
|
modos de opera<72><61>o do teclado, chamados raw e cooked. Estes modos de
|
|||
|
opera<72><61>o podem ser mudados com o programa kbd_mode, integrante do
|
|||
|
pacote kbd, o que n<>o <20> recomend<6E>vel fazer a n<>o ser para restaurar o
|
|||
|
estado do console ap<61>s um desastre com o servidor X, por exemplo. No
|
|||
|
modo raw o kernel n<>o processa os diacr<63>ticos (acentos).
|
|||
|
|
|||
|
Cedric Adjih criou uma altera<72><61>o para o kernel que permitia tratar os
|
|||
|
acentos mesmo em modo raw, inicialmente voltada para o teclado de
|
|||
|
desenho franc<6E>s. En<45>as Queiroz, Andr<64> D. Balsa e Claudemir Todo Bom
|
|||
|
fizeram melhorias e o adaptaram para os teclados internacional,
|
|||
|
portugu<67>s e ABNT. O tratemanto de acentos <20> feito parte pelo kernel,
|
|||
|
parte por um processo que roda em retaguarda (daemon) chamado diacrd,
|
|||
|
conforme descrito a seguir:
|
|||
|
|
|||
|
<20> Uma modifica<63><61>o no kernel faz que todos os dados lidos do teclado
|
|||
|
sejam redirecionados para um dispositivo especial do sistema
|
|||
|
chamado /dev/rawkbd quando o teclado estiver em modo raw.
|
|||
|
|
|||
|
<20> Os dados que o kernel grava no /dev/rawkbd s<>o lidos pelo programa
|
|||
|
diacrd, que processa as seq<65><71>ncias acento-letra e reescreve no
|
|||
|
/dev/rawkbd os caracteres acentuados na forma de c<>digos de
|
|||
|
varredura (scancodes) que normalmente n<>o existem no teclado.
|
|||
|
|
|||
|
<20> O kernel l<> no /dev/rawkbd os c<>digos gravados pelo diacrd e os
|
|||
|
passa <20> aplica<63><61>o, que no caso <20> o servidor X.
|
|||
|
|
|||
|
<20> O servidor X mapeia os c<>digos de varredura para caracteres. Um
|
|||
|
mapa de teclado especial permite ent<6E>o gerar as letras acentuadas.
|
|||
|
|
|||
|
O diacrd pode ser obtido via FTP an<61>nimo no endere<72>o
|
|||
|
|
|||
|
|
|||
|
<ftp://metalab.unc.edu/pub/Linux/system/keyboards>
|
|||
|
|
|||
|
|
|||
|
H<> vers<72>es diferentes, de acordo com o tipo de teclado e, pelo menos
|
|||
|
por enquanto, n<>o se pode reconfigur<75>-lo sem recompilar. Para fazer a
|
|||
|
instala<6C><61>o, de acordo com o arquivo ``README'', deve-se fazer o
|
|||
|
seguinte (pelo usu<73>rio root):
|
|||
|
|
|||
|
<20> Obtenha o arquivo -.tar.gz correspondente a seu teclado. Extraia
|
|||
|
seu conte<74>do, o que dever<65> criar um diret<65>rio chamado
|
|||
|
diacrd-<vers<72>o>.
|
|||
|
|
|||
|
<20> Edite o arquivo diacrd.c e remova os coment<6E>rios desejados, de
|
|||
|
acordo com suas prefer<65>ncias. Pode-se incluir capacidade de rodar o
|
|||
|
programa xmodmap e ejetar o CD-ROM sob controle do pressionamento
|
|||
|
de uma combina<6E><61>o de teclas.
|
|||
|
|
|||
|
<20> Aplique a modifica<63><61>o no kernel. Para isto, execute o comando
|
|||
|
``make patch-usr-src''.
|
|||
|
|
|||
|
<20> Crie o dispositivo /dev/rawkbd executando o comando
|
|||
|
``make rawkbd''.
|
|||
|
|
|||
|
<20> Compile o diacrd e instale-o executando os comandos ``make'' e
|
|||
|
``make install''.
|
|||
|
|
|||
|
<20> Compile e instale o kernel, com os comandos
|
|||
|
|
|||
|
cd /usr/src/linux
|
|||
|
make config
|
|||
|
make zlilo
|
|||
|
|
|||
|
|
|||
|
Para maiores informa<6D><61>es sobre compila<6C><61>o/instala<6C><61>o do kernel, leia o
|
|||
|
Kernel-HOWTO, dispon<6F>vel via Internet nos reposit<69>rios do LDP men<65>
|
|||
|
cionados na se<73><65>o ``Onde encontrar a vers<72>o mais atual''.
|
|||
|
|
|||
|
<20> D<> um ``reboot'' no computador. Verifique se o suporte ao
|
|||
|
dispositivo rawkbd foi instalado com sucesso com o comando
|
|||
|
|
|||
|
dmesg | grep RAWKBD
|
|||
|
|
|||
|
|
|||
|
Deve aparecer
|
|||
|
|
|||
|
RAWKBD interface for diacriticals translation enabled...
|
|||
|
|
|||
|
|
|||
|
e teste o dispositivo /dev/rawkbd com o comando
|
|||
|
|
|||
|
printf "### TESTANDO ###" >> /dev/rawkbd
|
|||
|
|
|||
|
|
|||
|
Veja na se<73><65>o ``Configura<72><61>o do console'' como carregar um mapa com
|
|||
|
suporte <20> acentua<75><61>o. O pacote diacrd vem com um arquivo chamada
|
|||
|
usintl.map, que corresponde ao nosso us+.map. Se seu teclado n<>o for
|
|||
|
do tipo americano, use o pt.map ou abnt-2.map.
|
|||
|
|
|||
|
<20> Substitua o arquivo /usr/X11R6/lib/X11/xkb/keycodes/xfree86 pelo
|
|||
|
arquivo fornecido junto com o diacrd.
|
|||
|
|
|||
|
<20> Se tudo correr bem, rode o programa diacrd. Depois ative o X e use
|
|||
|
o xmodmap para carregar o mapa xmodmap.diacrd.
|
|||
|
|
|||
|
Se a gera<72><61>o de acentos funcionar, <20> preciso tornar permanentes as
|
|||
|
altera<72><61>es necess<73>rias. Pode-se faz<61>-lo incluindo a carga do diacrd no
|
|||
|
arquivo /etc/rc.d/rc.local (Slackware).
|
|||
|
|
|||
|
Se algum dos leitores tiver criado um script de ativa<76><61>o do
|
|||
|
diacrd para a distribui<75><69>o Debian ou Red Hat, por favor
|
|||
|
envie-o para que seja inclu<6C>do aqui.
|
|||
|
|
|||
|
|
|||
|
Mais informa<6D><61>es sobre o diacrd podem ser encontradas no ``Dead keys
|
|||
|
Mini-HOWTO'' de Claudemir Todo Bom, dispon<6F>vel em <http://linux.uni<6E>
|
|||
|
camp.br/docs/diversos/deadkeys.html>.
|
|||
|
|
|||
|
|
|||
|
5.6.3. Compara<72><61>o entre as duas solu<6C><75>es
|
|||
|
|
|||
|
Em termos de resultados pr<70>ticos, a Xlib modificada e o diacrd s<>o
|
|||
|
equivalentes. H<> por<6F>m algumas diferen<65>as entre as duas solu<6C><75>es que
|
|||
|
merecem aten<65><6E>o.
|
|||
|
|
|||
|
Diacrd exige uma altera<72><61>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<6E>ncia de um processo de usu<73>rio (o daemon kerneld)
|
|||
|
<20> uma desvantagem, pois se esse programa deixar de funcionar perde-se
|
|||
|
o suporte <20> acentua<75><61>o no X. Trata-se de uma solu<6C><75>o ainda em
|
|||
|
desenvolvimento e, segundo o conte<74>do da documenta<74><61>o que o acompanha,
|
|||
|
o ideal seria que todo o tratamento fosse feito pelo kernel, sem
|
|||
|
depender de outro programa.
|
|||
|
|
|||
|
At<41> o momento da publica<63><61>o deste HOWTO, o diacrd ainda n<>o era
|
|||
|
compat<61>vel com a vers<72>o 2.2 do kernel do Linux.
|
|||
|
|
|||
|
A solu<6C><75>o via Xlib <20>, pelo menos em teoria, totalmente transparente <20>s
|
|||
|
aplica<63><61>es e permite reconfigura<72><61>o em tempo de execu<63><75>o, bastando
|
|||
|
alterar o mapa de teclado do X e as regras de composi<73><69>o. J<> o diacrd
|
|||
|
precisa ser recompilado se quisermos trocar o tipo de teclado, mas <20>
|
|||
|
poss<73>vel que novas vers<72>es incorporem algum recurso de reconfigura<72><61>o.
|
|||
|
|
|||
|
O diacrd s<> funciona no teclado do pr<70>prio computador. Se quisermos
|
|||
|
usar um display remoto, seja um terminal X, seja um outro computador,
|
|||
|
n<>o teremos suporte <20> acentua<75><61>o. A troca da Xlib, por outro lado,
|
|||
|
enquadra-se plenamente na filosofia do X de que o servidor prov<6F>
|
|||
|
mecanismo, deixando a cargo da aplica<63><61>o a defini<6E><69>o de pol<6F>ticas.
|
|||
|
Exemplo da vantagem deste paradigma <20> poder usar as t<>cnicas descritas
|
|||
|
na se<73><65>o ``Configura<72><61>o do X'' em outros sistemas operativos e com
|
|||
|
terminais X.
|
|||
|
|
|||
|
A solu<6C><75>o via Xlib parece-me mais ``limpa'' e <20> minha predileta, mas,
|
|||
|
como sempre, fica a crit<69>rio do usu<73>rio ou do administrador do sistema
|
|||
|
qual alternativa escolher. De qualquer modo, sempre <20> bom lembrar qua
|
|||
|
ambas as solu<6C><75>es s<>o remendos. Considerando-se a r<>pida evolu<6C><75>o que
|
|||
|
est<73> a ocorrer no campo do software livre, com o desenvolvimendo de
|
|||
|
ambientes de trabalho como KDE, GNOME e GNUStep, podemos supor que em
|
|||
|
breve nenhum desses remendos ser<65> mais necess<73>rio.
|
|||
|
|
|||
|
|
|||
|
6. Configura<72><61>o dos v<>rios programas
|
|||
|
|
|||
|
|
|||
|
6.1. Aplicativos
|
|||
|
|
|||
|
A maioria das aplica<63><61>es que rodam no Unix usa algum tipo de arquivo
|
|||
|
de configura<72><61>o que o usu<73>rio coloca em seu diret<65>rio de trabalho
|
|||
|
(home) e cujo nome normalmente <20> .alguma-coisarc. Tanto quanto
|
|||
|
poss<73>vel, tentei evitar que isso fosse necess<73>rio, pois al<61>m de dar
|
|||
|
mais trabalho ao usu<73>rio (e ao administrador da rede ;-) pode
|
|||
|
dificultar um pouco as coisas. Por exemplo, aqui no CPMet temos o
|
|||
|
diret<65>rio home compartilhado entre um servidor Alpha rodando DEC UNIX
|
|||
|
com os PCs rodando Linux via NFS (at<61> a maior parte do Linux est<73>
|
|||
|
instalada no Alpha, os PCs s<> t<>m a parti<74><69>o raiz e uma <20>rea de swap).
|
|||
|
Os arquivos podem necessitar algum ajuste dependendo da plataforma e
|
|||
|
nem todos os programas possuem flexibilidade bastante para isso.
|
|||
|
|
|||
|
Uma op<6F><70>o que muitos programas tamb<6D>m oferecem <20> especificar em uma
|
|||
|
vari<72>vel de ambiente o nome do arquivo de configura<72><61>o ou o uso de
|
|||
|
arquivos padr<64>o que normalmente ficam em um diret<65>rio /usr/lib/alguma-
|
|||
|
coisa ou /etc/alguma-coisa.
|
|||
|
|
|||
|
|
|||
|
6.1.1. Bash (biblioteca GNU readline)
|
|||
|
|
|||
|
Os programas que utilizam a biblioteca GNU readline para ler a linha
|
|||
|
de comando procuram por um arquivo chamado .inputrc no diret<65>rio
|
|||
|
``HOME'' do usu<73>rio caso n<>o exista uma vari<72>vel de ambiente INPUTRC
|
|||
|
contendo o caminho para um arquivo de configura<72><61>o.
|
|||
|
|
|||
|
Coloque uma linha no seu arquivo /etc/profile contendo
|
|||
|
|
|||
|
INPUTRC="/etc/inputrc"
|
|||
|
export INPUTRC
|
|||
|
|
|||
|
|
|||
|
e crie um arquivo /etc/inputrc contendo
|
|||
|
|
|||
|
set meta-flag on
|
|||
|
set convert-meta off
|
|||
|
set output-meta on
|
|||
|
|
|||
|
|
|||
|
Outra alternativa <20> criar um arquivo .inputrc no diret<65>rio home do
|
|||
|
usu<73>rio com o conte<74>do acima, mas <20> muito dif<69>cil manter atualizados
|
|||
|
os arquivos de todos os usu<73>rios, principalmente quando eles s<>o
|
|||
|
muitos. Um inputrc mais completo pode ser obtido via WWW na p<>gina do
|
|||
|
Portuguese HOWTO. Ele cont<6E>m op<6F><70>es para v<>rios tipos de terminal e
|
|||
|
permite usar as teclas de movimento de cursor para percorrer o
|
|||
|
hist<73>rico de comandos (setas para cima e para baixo); ir para o
|
|||
|
primeiro e para o <20>ltimo comandos do hist<73>rico (teclas PageUp e Page<67>
|
|||
|
Down); posicionar o cursor na linha (setas para a esquerda e direita)
|
|||
|
e posicionar o cursor no in<69>cio e no fim da linha (teclas Home e End).
|
|||
|
|
|||
|
Para maiores informa<6D><61>es leia os manuais do bash e da biblioteca
|
|||
|
readline com os comandos
|
|||
|
|
|||
|
man bash
|
|||
|
man readline
|
|||
|
|
|||
|
|
|||
|
|
|||
|
6.1.2. Emacs
|
|||
|
|
|||
|
O pai de todos os editores pode ser configurado criando-se um arquivo
|
|||
|
chamado .emacs no diret<65>rio do usu<73>rio, contendo as seguintes linhas:
|
|||
|
|
|||
|
(set-input-mode nil nil 1)
|
|||
|
(standard-display-european t)
|
|||
|
(require 'iso-syntax)
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Para tornar esta configura<72><61>o global, na distribui<75><69>o Slackware
|
|||
|
coloque os comandos no arquivo /usr/lib/emacs/site-lisp/site-start.el.
|
|||
|
Na distribui<75><69>o Debian o emacs executa todos os scripts contidos no
|
|||
|
diret<65>rio /etc/emacs/site-start.d ao ser carregado. Tudo que se tem a
|
|||
|
fazer <20> colocar esses comandos em um arquivo chamado, por exemplo,
|
|||
|
01portugues-emacs.el.
|
|||
|
|
|||
|
Se o estimado leitor, assim como eu, n<>o se agrada do tratamento dado
|
|||
|
pelo Emacs <20>s teclas de Delete, Home e End, aproveite a oportunidade e
|
|||
|
acrescente ao mesmo arquivo o seguinte:
|
|||
|
|
|||
|
(global-unset-key [backspace] )
|
|||
|
(global-set-key [backspace] 'delete-backward-char)
|
|||
|
(global-unset-key [delete] )
|
|||
|
(global-set-key [delete] 'delete-char)
|
|||
|
(define-key global-map [home] 'beginning-of-line)
|
|||
|
(define-key global-map [C-home] 'beginning-of-buffer)
|
|||
|
(define-key global-map [end] 'end-of-line)
|
|||
|
(define-key global-map [C-end] 'end-of-buffer)
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Arquivos de configura<72><61>o prontos podem ser obtidos via WWW na p<>gina
|
|||
|
do Portuguese HOWTO. Para Slackware, h<> um site-start-emacs.el, que
|
|||
|
deve ser copiado para o diret<65>rio /usr/lib/emacs/site-lisp com o nome
|
|||
|
de site-start.el. Para Debian, h<> um 01portugues-emacs.el que deve ser
|
|||
|
copiado para o diret<65>rio /etc/emacs/site-start.d.
|
|||
|
|
|||
|
Certifique-se de estar usando a vers<72>o 24-out-1998 ou mais recente do
|
|||
|
arquivo de mapa de teclado para o X, pois ela possui uma corre<72><65>o no
|
|||
|
tratamento das teclas modificadoras Alt e Meta, que s<>o muito usadas
|
|||
|
pelo Emacs.
|
|||
|
|
|||
|
|
|||
|
6.1.3. flex
|
|||
|
|
|||
|
Especifique a op<6F><70>o -8 se o parser a gerar necessitar de ler dados de
|
|||
|
8 bit.
|
|||
|
|
|||
|
|
|||
|
6.1.4. Fortune
|
|||
|
|
|||
|
Fortune <20> aquele programa que toda vez que <20> invocado apresenta uma
|
|||
|
pequena mensagem, geralmente bem humorada. Ele <20> inspirado nos
|
|||
|
biscoitos da fortuna chineses (em ingl<67>s fortune cookies, da<64> o nome).
|
|||
|
Eis algumas mensagens t<>picas:
|
|||
|
|
|||
|
dROGA!!oNDE ESTA O cAPSLOCK??
|
|||
|
|
|||
|
Mouse n<>o encontrado, bater no gato? (S/N)
|
|||
|
|
|||
|
Que fio <20> ess<=V++088.../NO CARRIER
|
|||
|
|
|||
|
Quem ri por <20>ltimo est<73> conectado a 2400Bit/s.
|
|||
|
|
|||
|
|
|||
|
Tudo que o programa faz <20> escolher aleatoriamente uma mensagem em um
|
|||
|
reposit<69>rio mantido no diret<65>rio /usr/games/fortunes (Slackware) ou
|
|||
|
/usr/share/games/fortunes (Debian). Neste diret<65>rio existem diversos
|
|||
|
arquivos com as ``fortunas'' e um arquivo <20>ndice para cada um deles,
|
|||
|
que possui a extens<6E>o .dat. O formato dos arquivos <20> muito simples:
|
|||
|
cada fortuna <20> composta de uma s<>rie de linhas de texto. As fortunas
|
|||
|
s<>o separadas umas das outras por linhas contendo apenas um caracter
|
|||
|
%. Veja o trecho a seguir:
|
|||
|
|
|||
|
|
|||
|
|
|||
|
O que s<>o quatro pontos na parede? Four migas. Ugh!
|
|||
|
%
|
|||
|
Errar <20> humano, botar a culpa no computador <20> mais humano ainda.
|
|||
|
%
|
|||
|
A<> ela me disse: Ou eu ou o modem! Sinto muitas saudades dela...
|
|||
|
|
|||
|
|
|||
|
Tudo que temos a fazer <20> criar um arquivo com as fortunas chamado,
|
|||
|
digamos fortunes com o formato descrito acima. Depois basta usar o
|
|||
|
programa strfile para gerar o <20>ndice:
|
|||
|
|
|||
|
strfile fortunes
|
|||
|
|
|||
|
|
|||
|
e um arquivo chamado fortunes.dat ser<65> criado. Claro que se quisermos
|
|||
|
que o fortune mostre apenas mensagens em Portugu<67>s, teremos que
|
|||
|
remover os arquivos existentes no diret<65>rio original. Sugiro simples<65>
|
|||
|
mente renome<6D>-lo para fortunes-en (de English) e criar outro vazio.
|
|||
|
Eu coletei algumas fortunas e as coloquei no arquivo fortunes-
|
|||
|
pt.tar.gz que pode ser obtido via WWW na p<>gina do Portuguese HOWTO.
|
|||
|
N<>o esque<75>a de colocar no seu /etc/profile algumas linhas contendo uma
|
|||
|
chamada ao fortune, por exemplo
|
|||
|
|
|||
|
if [ -x /usr/games/fortune -a ! -e $HOME/.hushlogin ]; then
|
|||
|
echo
|
|||
|
/usr/games/fortune
|
|||
|
echo
|
|||
|
fi
|
|||
|
|
|||
|
|
|||
|
Uma <20>ltima informa<6D><61>o: se o nome de um arquivo termina com o sufixo -o
|
|||
|
o fortune s<> o consulta se for chamado com a op<6F><70>o -o. Esses arquivos
|
|||
|
s<>o os que cont<6E>m mensagens cujo conte<74>do pode ser considerado ofen<65>
|
|||
|
sivo por algumas pessoas, tais como
|
|||
|
|
|||
|
S<> n<>o mando a sogra pro inferno, com pena do Diabo.
|
|||
|
|
|||
|
|
|||
|
Claro que existem coisas muito mais ofensivas por a<>, mas este <20> um
|
|||
|
Linux HOWTO e n<>o queremos realmente ofender ningu<67>m, certo?
|
|||
|
|
|||
|
|
|||
|
6.1.5. Ispell
|
|||
|
|
|||
|
Dicion<6F>rios para o Portugu<67>s de Portugal podem ser obtidos via WWW na
|
|||
|
p<>gina do Projecto Natura em
|
|||
|
<http://www.di.uminho.pt/~jj/pln/pln.html>. Para o Brasil, h<> uma
|
|||
|
vers<72>o compilada pelo Ueda: <http://www.ime.usp.br/~ueda/>.
|
|||
|
|
|||
|
|
|||
|
Eu gostaria de poder colocar maiores informa<6D><61>es, mas ainda
|
|||
|
n<>o tenho conhecimento suficiente sobre o Ispell e n<>o posso
|
|||
|
ensinar o que n<>o sei. Preciso de ajuda aqui.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
6.1.6. JDK (inclui ICQJava)
|
|||
|
|
|||
|
|
|||
|
Esta informa<6D><61>o <20> baseada em uma mensagem da qual guardei o
|
|||
|
conte<74>do mas n<>o o remetente. Pe<50>o desculpas e espero que
|
|||
|
perdoe a falha. N<>o testei pessoalmente a informa<6D><61>o e pe<70>o
|
|||
|
que me escrevam confirmando tanto a corre<72><65>o quanto, se
|
|||
|
poss<73>vel, a identidade do autor.
|
|||
|
|
|||
|
|
|||
|
O JDK utiliza fontes padr<64>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 <20> extremamente f<>cil:
|
|||
|
|
|||
|
<20> entre no diret<65>rio jdk1.1.5/lib (no meu caso, /jdk1.1.5/lib);
|
|||
|
|
|||
|
<20> copie o arquivo font.properties.hu sobrescrevendo o font.properties
|
|||
|
atual (lembre-se de fazer backups!);
|
|||
|
|
|||
|
<20> entre no jdk e divirta-se! Fazendo isto, seu ICQ e todos os
|
|||
|
aplicativos que usem o jdk estar<61>o aptos a lerem acentos! (f<>cil,
|
|||
|
n<>o?)
|
|||
|
|
|||
|
|
|||
|
6.1.7. Joe
|
|||
|
|
|||
|
Invoque o joe com a op<6F><70>o -asis na linha de comando ou altere os
|
|||
|
arquivos de configura<72><61>o para ativar tal op<6F><70>o. Na Slackware eles
|
|||
|
est<73>o no diret<65>rio /usr/lib/joe. Tudo que se tem a fazer <20> remover o
|
|||
|
espa<70>o em branco existente no in<69>cio de cada linha. Outra alternativa
|
|||
|
<20> acrescentar a seguinte linha ao arquivo /etc/profile:
|
|||
|
|
|||
|
alias joe='joe -asis'
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Joe pode emular os editores Pico, emacs e WordStar. Um arquivo joerc
|
|||
|
est<73> dispon<6F>vel via WWW na p<>gina do Portuguese HOWTO, contendo
|
|||
|
configura<72><61>es que permitem usar as teclas Home e End para movimentar o
|
|||
|
cursor para o in<69>cio e fim da linha.
|
|||
|
|
|||
|
|
|||
|
6.1.8. Less
|
|||
|
|
|||
|
Coloque as seguintes linhas no seu arquivo /etc/profile:
|
|||
|
|
|||
|
LESS="-MM -i"
|
|||
|
LESSCHARSET="latin1"
|
|||
|
LESSKEY="/etc/lesskey"
|
|||
|
LESSOPEN='|lesspipe.sh "%s"'
|
|||
|
export LESS LESSCHARSET LESSKEY LESSOPEN
|
|||
|
|
|||
|
|
|||
|
LESSKEY informa o nome de um arquivo contendo uma tabela de seq<65><71>ncias
|
|||
|
de caracteres geradas por cada tecla e as a<><61>es a serem tomadas pelo
|
|||
|
less. Para criar o arquivo /etc/lesskey, crie primeiro o arquivo
|
|||
|
/etc/lesskey.in contendo as seguintes linhas:
|
|||
|
|
|||
|
|
|||
|
|
|||
|
# Termianl ANSI (console do Linux, XTerm, etc)
|
|||
|
\e[1~ goto-line
|
|||
|
\e[4~ goto-end
|
|||
|
\e[5~ back-screen
|
|||
|
\e[6~ forw-screen
|
|||
|
\e[7~ goto-line
|
|||
|
\e[8~ goto-end
|
|||
|
\e[A back-line
|
|||
|
\e[B forw-line
|
|||
|
# XTerm
|
|||
|
\eOH goto-line
|
|||
|
\eOF goto-end
|
|||
|
\e[H goto-line
|
|||
|
\e[F goto-end
|
|||
|
# Console Sun (testado com teclados Type 4/5)
|
|||
|
\e[214z goto-line
|
|||
|
\e[220z goto-end
|
|||
|
\e[216z back-screen
|
|||
|
\e[222z forw-screen
|
|||
|
# Arquivo seguinte/anterior
|
|||
|
:n next-file
|
|||
|
:N next-file
|
|||
|
:p prev-file
|
|||
|
|
|||
|
|
|||
|
Depois ``compile-o'' usando o comando
|
|||
|
|
|||
|
# lesskey -o /etc/lesskey /etc/lesskey.in
|
|||
|
|
|||
|
|
|||
|
Crie o arquivo /usr/bin/lesspipe.sh contendo
|
|||
|
|
|||
|
#!/bin/sh
|
|||
|
# This is a preprocessor for 'less'. It is used when this environment
|
|||
|
# variable is set: LESSOPEN="|lesspipe.sh %s"
|
|||
|
|
|||
|
case "$1" in
|
|||
|
*.rpm) rpm -qilp "$1" 2>/dev/null ;;
|
|||
|
*.tar) tar tvvf "$1" 2>/dev/null ;;
|
|||
|
*.tgz | *.tar.gz | *.taz | *.tar.Z | *.tar.z)
|
|||
|
tar tzvvf "$1" 2>/dev/null ;;
|
|||
|
*.tbz2 | *.tar.bz2)
|
|||
|
bzip2 -dc "$1" | tar tvvf - 2>/dev/null ;;
|
|||
|
*.Z) gzip -dc "$1" 2>/dev/null ;;
|
|||
|
*.z) gzip -dc "$1" 2>/dev/null ;;
|
|||
|
*.[1-9].gz | *.n.gz | *.man.gz)
|
|||
|
FILE=`file -Lz "$1" | cut -d ' ' -f 2`
|
|||
|
if [ "$FILE" = "troff" ]; then
|
|||
|
gzip -dc "$1" | groff -s -p -t -e -Tlatin1 -mandoc
|
|||
|
fi ;;
|
|||
|
*.gz) gzip -dc "$1" 2>/dev/null ;;
|
|||
|
*.zip) unzip -l "$1" 2>/dev/null ;;
|
|||
|
*.[1-9] | *.n | *.man)
|
|||
|
FILE=`file -L "$1" | cut -d ' ' -f 2`
|
|||
|
if [ "$FILE" = "troff" ]; then
|
|||
|
groff -s -p -t -e -Tlatin1 -mandoc "$1"
|
|||
|
fi ;;
|
|||
|
esac
|
|||
|
|
|||
|
|
|||
|
N<>o esque<75>a de torn<72>-lo execut<75>vel:
|
|||
|
|
|||
|
chmod 755 /usr/bin/lesspipe.sh
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Na distribui<75><69>o Debian j<> existe um script /usr/bin/lesspipe (note a
|
|||
|
aus<75>ncia da extens<6E>o .sh). Para os curiosos a respeito da refer<65>ncia a
|
|||
|
``*.rpm'', embora na m<>quina em quest<73>o se use Slackware, <20> poss<73>vel
|
|||
|
ter o utilit<69>rio RPM instalado tamb<6D>m, o que facilita tomar
|
|||
|
``emprestados'' pacotes do Red Hat, Caldera e S.u.S.E.. Existe um
|
|||
|
RPM+Slackware Mini-HOWTO que explica como fazer isso.
|
|||
|
|
|||
|
|
|||
|
6.1.9. ls
|
|||
|
|
|||
|
Acrescente a seguinte linha ao arquivo /etc/profile :
|
|||
|
|
|||
|
alias ls="ls -N"
|
|||
|
|
|||
|
|
|||
|
ou
|
|||
|
|
|||
|
alias ls="ls -b"
|
|||
|
|
|||
|
|
|||
|
Se a sua distribui<75><69>o de Linux usa o GNU ls (todas as que eu conhe<68>o
|
|||
|
usam) basta acrescentar ao arquivo /etc/profile ou .profile as
|
|||
|
seguintes linhas:
|
|||
|
|
|||
|
# -----------------------------------------
|
|||
|
# Set up the color-ls environment variables
|
|||
|
# -----------------------------------------
|
|||
|
if [ "$SHELL" = "/bin/bash" -o \
|
|||
|
"$SHELL" = "/bin/sh" ]; then
|
|||
|
eval `dircolors -b`
|
|||
|
elif [ "$SHELL" = "/bin/zsh" ]; then
|
|||
|
eval `dircolors -z`
|
|||
|
elif [ "$SHELL" = "/bin/ash" ]; then
|
|||
|
eval `dircolors -s`
|
|||
|
elif [ "$SHELL" = "/bin/ksh" -o \
|
|||
|
"$SHELL" = "/bin/pdksh" ]; then
|
|||
|
eval `dircolors -k`
|
|||
|
elif [ "$SHELL" = "/bin/csh" -o \
|
|||
|
"$SHELL" = "/bin/tcsh" ]; then
|
|||
|
eval `dircolors -c`
|
|||
|
else
|
|||
|
eval `dircolors -b`
|
|||
|
fi
|
|||
|
|
|||
|
|
|||
|
Se o seu shell <20> o csh ou tcsh, acrescente a seguinte linha ao arquivo
|
|||
|
/etc/csh.login ou ~/.login:
|
|||
|
|
|||
|
alias ls 'ls --color'
|
|||
|
|
|||
|
|
|||
|
|
|||
|
6.1.10. LyX
|
|||
|
|
|||
|
Para aqueles que acham trabalhoso escrever documentos para o LaTeX
|
|||
|
usando um simples editor de texto (e realmente <20>) LyX <20> uma excelente
|
|||
|
op<6F><70>o. Este programa cria uma interface gr<67>fica atrav<61>s da qual
|
|||
|
editamos os documentos que ser<65>o depois formatados pelo LaTeX. O
|
|||
|
ambiente <20> quase-WYSIWYG (What You See Is What You Get - O que tu v<>s
|
|||
|
<20> o que tu obt<62>ns). LyX n<>o roda apenas em Linux, mas em qualquer
|
|||
|
Unix. Maiores informa<6D><61>es podem ser obtidas em
|
|||
|
|
|||
|
|
|||
|
<http://www.lyx.org>
|
|||
|
|
|||
|
A partir da vers<72>o 1.0.1 do LyX j<> tem a interface com o usu<73>rio em
|
|||
|
Portugu<67>s, traduzida por Pedro Kr<4B>ger, que tamb<6D>m est<73> traduzindo os
|
|||
|
manuais, junto com Roberto Mello. Estas tradu<64><75>es j<> fazem parte da
|
|||
|
distribui<75><69>o oficial do LyX.
|
|||
|
|
|||
|
Tendo o LyX instalado, <20> muito f<>cil criar documentos com acentua<75><61>o
|
|||
|
em Portugu<67>s. Seguindo as seguintes regras:
|
|||
|
|
|||
|
|
|||
|
<20> Se o teclado foi configurado para ter dead keys usando um dos mapas
|
|||
|
aqui fornecidos, n<>o <20> necess<73>rio fazer mais nada. Basta digitar o
|
|||
|
texto normalmente usando as seq<65><71>ncias de acentua<75><61>o. A <20>nica
|
|||
|
exce<63><65>o <20> o c-cedilha que n<>o pode ser gerado usando a seq<65><71>ncia
|
|||
|
'c, pois o LyX gera um c com acento. Temos que usar a seq<65><71>ncia
|
|||
|
Compose-v<>rgula-c.
|
|||
|
|
|||
|
<20> Se o teclado n<>o foi configurado para ter dead keys ainda assim <20>
|
|||
|
poss<73>vel acentuar no LyX. Selecione o menu Options/Keyboard. Na
|
|||
|
caixa de di<64>logo ``Key Mappings'', selecione no <20>tem
|
|||
|
Language/Primary a op<6F><70>o ``American''. Com isto o LyX far<61> a
|
|||
|
composi<73><69>o dos caracteres acentuados usando regras semelhantes <20>s
|
|||
|
das dead keys.
|
|||
|
|
|||
|
<20> A v<>rgula ser<65> tratada como cedilha. Para obter um `<60>'digite ,C e
|
|||
|
para obter uma v<>rgula digite ,,. Cuidado! A seq<65><71>ncia ,<espa<70>o>
|
|||
|
gerar<61> uma cedilha isolada e n<>o uma v<>rgula!
|
|||
|
|
|||
|
<20> ~ ^ ' e ` ser<65>o tratados como acentos. Vale a mesma regra anterior:
|
|||
|
para obter apenas o acento, pressione a tecla duas vezes
|
|||
|
consecutivas.
|
|||
|
|
|||
|
<20> : ; . / ? e - tamb<6D>m ser<65>o tratados como acentos. ?a gerar<61> um `<60>'
|
|||
|
e assim por diante.
|
|||
|
|
|||
|
Para o LyX imprimir corretamente, <20> necess<73>rio que, ao criar um novo
|
|||
|
documento, sejam selecionados a l<>ngua e a codifica<63><61>o de caracteres
|
|||
|
adequadas. Crie um documento selecionando o menu File/New. Depois
|
|||
|
selecione o menu Layout/Document. Na caixa de di<64>logo ``Document
|
|||
|
Layout'' selecione no <20>tem Language a op<6F><70>o ``brazil'' ou ``portuges''
|
|||
|
(sem o u mesmo); no <20>tem Encoding selecione ``latin1''.
|
|||
|
|
|||
|
Veja a observa<76><61>o sobre o pacote algorithm na se<73><65>o ``TeX e LaTeX''
|
|||
|
|
|||
|
Uma observa<76><61>o final sobre o LyX: a vers<72>o atual (1.0.x) utiliza a
|
|||
|
biblioteca XForms para construir a interface com o usu<73>rio. Como essa
|
|||
|
biblioteca n<>o tem suporte para acentua<75><61>o, n<>o <20> poss<73>vel digitar
|
|||
|
letras acentuadas nas caixas de di<64>logo, somente no corpo do documento
|
|||
|
editado. Segundo os desenvolvedores, nas novas vers<72>es do LyX ser<65>
|
|||
|
poss<73>vel escolher o tipo de interface ao compilar o programa, o que
|
|||
|
permitir<69> o uso de toolkits mais flex<65>veis. J<> existe uma vers<72>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<6D><61>es, consulte via WWW: <http://www-
|
|||
|
pu.informatik.uni-tuebingen.de/users/ettrich/>.
|
|||
|
|
|||
|
|
|||
|
6.1.11. Man, groff, troff
|
|||
|
|
|||
|
Pode-se usar a op<6F><70>o de linha de comando -Tlatin1 para o groff, mas <20>
|
|||
|
mais simples colocar uma linha no seu arquivo /etc/profile contendo
|
|||
|
|
|||
|
GROFF_TYPESETTER="latin1"
|
|||
|
export GROFF_TYPESETTER
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Para maiores informa<6D><61>es leia o manual do groff com o comando
|
|||
|
|
|||
|
man groff
|
|||
|
|
|||
|
|
|||
|
|
|||
|
No Linux, o comando man usa o groff para formatar os manuais e deve
|
|||
|
ser configurado para usar o conjunto Latin 1, ou n<>o ser<65> poss<73>vel
|
|||
|
formatar satisfatoriamente manuais que contenham caracteres n<>o
|
|||
|
pertencentes ao conjunto ASCII, como <20> o caso do ``man iso_8859_1''.
|
|||
|
Na distribui<75><69>o Slackware, <20> preciso editar o arquivo
|
|||
|
/usr/lib/man.config e alterar as defini<6E><69>es NROFF e NEQN, trocando a
|
|||
|
op<6F><70>o ``-Tascii'' para ``-Tlatin1'':
|
|||
|
|
|||
|
NROFF /usr/bin/groff -Tlatin1 -mandoc
|
|||
|
NEQN /usr/bin/geqn -Tlatin1
|
|||
|
|
|||
|
|
|||
|
ou, se usarmos a vari<72>vel de ambiente GROFF_TYPESETTER, podemos sim<69>
|
|||
|
plesmente eliminar a op<6F><70>o -Tascii. Na distribui<75><69>o Debian n<>o <20>
|
|||
|
necess<73>rio fazer nenhuma configura<72><61>o para o man, bastando configurar
|
|||
|
GROFF_TYPESETTER e na Red Hat (incluindo Conectiva) o arquivo <20>
|
|||
|
/etc/man.config
|
|||
|
|
|||
|
Groff tamb<6D>m pode ser configurado para fazer a separa<72><61>o sil<69>bica em
|
|||
|
portugu<67>s, o que <20> muito <20>til se tivermos p<>ginas de manual em
|
|||
|
Portugu<67>s. Isto <20> bastante simples, porque quando James Clarck p<>s
|
|||
|
suporte a hifeniza<7A><61>o no groff ele usou o mesmo algoritmo de
|
|||
|
hifeniza<7A><61>o do TeX. Para ter hifeniza<7A><61>o em portugu<67>s, basta copiar o
|
|||
|
arquivo de regras do TeX e fazer o groff us<75>-lo. O arquivo hyphen.pt
|
|||
|
pode ser obtido junto com os demais na p<>gina do HOWTO. Trata-se do
|
|||
|
arquivo pt8hyph.tex (ver se<73><65>o ``TeX e LaTeX'') ao qual foi adicionado
|
|||
|
apenas um coment<6E>rio.
|
|||
|
|
|||
|
Ele deve ser copiado para o diret<65>rio /usr/share/groff/tmac/ ou
|
|||
|
/usr/lib/groff/tmac/, dependendo da distribui<75><69>o. <20> conveniente criar
|
|||
|
um ``link'' simb<6D>lico para hyphen.br. Para usar esse arquivo, basta
|
|||
|
colocar no in<69>cio do seu documento troff/groff as linhas a seguir:
|
|||
|
|
|||
|
.if \n(.g \{\
|
|||
|
.hla pt
|
|||
|
.hpf hyphen.pt
|
|||
|
.\}
|
|||
|
|
|||
|
|
|||
|
O .if n<>o <20> necess<73>rio para a acentua<75><61>o, mas ele testa se o proces<65>
|
|||
|
sador usado <20> 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.
|
|||
|
|
|||
|
|
|||
|
6.1.12. Midnight Comander (mc)
|
|||
|
|
|||
|
No menu Options sub-menu Display bits... ligue a op<6F><70>o ``Full 8 bits''
|
|||
|
ou ``ISO 8859-1''. Na vers<72>o 3.2.11 isso permite que sejam mostrados
|
|||
|
nomes de arquivos contendo caracteres acentuados, mas n<>o foi poss<73>vel
|
|||
|
digitar tais caracteres na linha de comando ou nas caixas de di<64>logo.
|
|||
|
|
|||
|
|
|||
|
6.1.13. Minicom
|
|||
|
|
|||
|
Coloque uma linha no seu arquivo /etc/profile contendo
|
|||
|
|
|||
|
MINICOM="-m -c on"
|
|||
|
export MINICOM
|
|||
|
|
|||
|
Isso permitir<69> usar a tecla Alt para ativar os comandos (exatamente
|
|||
|
como o Telix) e tamb<6D>m usar cores. Para maiores informa<6D><61>es, leia o
|
|||
|
manual do Minicom usando o comando
|
|||
|
|
|||
|
man minicom
|
|||
|
|
|||
|
|
|||
|
Mais uma dica sobre o Minicom: para faz<61>-lo usar usar corretamante a
|
|||
|
tecla Meta para ativa<76><61>o dos comandos rodando dentro de um xterm,
|
|||
|
deve-se invoc<6F>-lo com a op<6F><70>o ``-m'' e passar a op<6F><70>o ``-xrm "*eight<68>
|
|||
|
BitInput: false"'' para o xterm. Se usarmos o rxvt ent<6E>o o minicom
|
|||
|
deve ser chamado com a op<6F><70>o ``-m'' e a tecla de ativa<76><61>o dos comandos
|
|||
|
ser<65> Alt. Fiz uma adapta<74><61>o no script xminicom que pode ser obtido via
|
|||
|
WWW na p<>gina do Portuguese HOWTO.
|
|||
|
|
|||
|
Segundo Arnaldo Carvalho de Melo, as vers<72>es mais recentes do Minicom
|
|||
|
suportam internacionaliza<7A><61>o. Suporte para o Portugu<67>s foi
|
|||
|
acrescentado pelo pessoal da Conectiva. O c<>digo fonte pode ser obtido
|
|||
|
na p<>gina do Jukka (atual mantenedor do Minicom) em
|
|||
|
|
|||
|
<http://www.clinet.fi/~walker/minicom.html>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
6.1.14. Netscape Communicator
|
|||
|
|
|||
|
O Communicator, assim como muitas aplica<63><61>es que utilizam toolkits
|
|||
|
baseados no X Toolkit (Xt), permite que se modifiquem muitas de suas
|
|||
|
caracter<65>sticas por meio de arquivos de configura<72><61>o (X Resources). No
|
|||
|
caso espec<65>fico do Communicator, pode-se criar um arquivo chamado
|
|||
|
Netscape no diret<65>rio /usr/X11R6/lib/X11/app-defaults contendo estas
|
|||
|
op<6F><70>es.
|
|||
|
|
|||
|
Na distribui<75><69>o brasileira Conectiva, o pacote do Communicator vem com
|
|||
|
um arquivo /usr/lib/netscape/i18n/Netscape.ad.pt_BR e um script
|
|||
|
/usr/bin/netscape que executa o Communicator fazendo-o ler este
|
|||
|
arquivo. Uma c<>pia do Netscape.ad.pt_BR pode ser obtida na p<>gina
|
|||
|
oficial do Portuguese-HOWTO. Para us<75>-lo, simplesmente copie-o para
|
|||
|
/usr/X11R6/lib/X11/app-defaults/Netscape, se sua distribui<75><69>o n<>o o
|
|||
|
possuir, mas fique atento que seu uso pode criar problemas com novas
|
|||
|
vers<72>es do programa.
|
|||
|
|
|||
|
Maiores informa<6D><61>es sobre ``X Resources'' podem ser obtidas em
|
|||
|
[GET94], [McC94] e no manual do programa xrdb, com o comando
|
|||
|
|
|||
|
|
|||
|
man xrdb
|
|||
|
|
|||
|
|
|||
|
|
|||
|
6.1.15. nn
|
|||
|
|
|||
|
|
|||
|
Al<41>, al<61>, algu<67>m usa nn? Informa<6D><61>o mais atualizada ser<65> bem
|
|||
|
recebida.
|
|||
|
|
|||
|
|
|||
|
Acrescente a seguinte linha ao arquivo ~/.nn/init:
|
|||
|
|
|||
|
set data-bits 8
|
|||
|
|
|||
|
|
|||
|
|
|||
|
6.1.16. Pine e Pico
|
|||
|
|
|||
|
Para o Pine utilizar o conjunto de caracteres Latin 1, coloque uma
|
|||
|
linha no arquivo .pinerc, no diret<65>rio do usu<73>rio, contendo
|
|||
|
|
|||
|
character-set=ISO-8859-1
|
|||
|
|
|||
|
|
|||
|
ou crie um arquivo geral de configura<72><61>o contendo tal linha. Esse
|
|||
|
arquivo normalmente <20> /usr/local/lib/pine.conf ou /usr/lib/pine.conf
|
|||
|
|
|||
|
A configura<72><61>o tamb<6D>m pode ser feita usando o pr<70>prio programa. No
|
|||
|
menu de entrada selecione as op<6F><70>es Setup/Configuration. V<> at<61> o <20>tem
|
|||
|
``character-set'' e preencha-o com ``ISO-8859-1''. Para maiores
|
|||
|
informa<6D><61>es leia o manual do pine com o comando
|
|||
|
|
|||
|
man pine
|
|||
|
|
|||
|
|
|||
|
|
|||
|
6.1.17. tcsh
|
|||
|
|
|||
|
Nenhuma medida especial <20> necess<73>ria se for feita a correta
|
|||
|
configura<72><61>o das vari<72>veis de ambiente ``LANG'' e ``LC_ALL'', conforme
|
|||
|
mostrado mostrado na se<73><65>o ``Biblioteca libc''.
|
|||
|
|
|||
|
Tcsh tem suporte a internacionaliza<7A><61>o e na distribui<75><69>o Debian h<> um
|
|||
|
pacote chamado tcsh-i18n com suporte para French, German, Greek and
|
|||
|
Spanish.
|
|||
|
|
|||
|
|
|||
|
6.1.18. TeX e LaTeX
|
|||
|
|
|||
|
|
|||
|
Esta se<73><65>o foi escrita com ajuda de Klaus Steding-Jessen.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
6.1.18.1. O pacote Babel
|
|||
|
|
|||
|
O pacote Babel, criado por Johannes Braams prov<6F> 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<61>tulos
|
|||
|
(Chapter, Cap<61>tulo, Kapitel) e o t<>tulo das tabelas (Tabela, Table,
|
|||
|
Tabelle). Para usar o pacote, basta incluir no pre<72>mbulo de seu
|
|||
|
documento LaTeX o comando
|
|||
|
|
|||
|
|
|||
|
\usepackage[portuges]{babel}
|
|||
|
|
|||
|
ou
|
|||
|
|
|||
|
\usepackage[brazil]{babel}
|
|||
|
|
|||
|
|
|||
|
|
|||
|
H<> diferen<65>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<61>scula ou min<69>scula.
|
|||
|
|
|||
|
Pode-se misturar mais de um idioma no mesmo documento. Para Alem<65>o e
|
|||
|
Portugu<67>s ficaria:
|
|||
|
|
|||
|
|
|||
|
|
|||
|
\usepackage[german,brazil]{babel}
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Nesse caso a <20>ltima op<6F><70>o (brazil) fica sendo o idioma corrente. Para
|
|||
|
mudar ao longo do texto, entre um e outro, use:
|
|||
|
|
|||
|
|
|||
|
\selectlanguage{german}
|
|||
|
|
|||
|
[...]
|
|||
|
|
|||
|
\selectlanguage{brazil}
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Isto <20> muito <20>til tamb<6D>m quando queremos que uma palavra n<>o seja
|
|||
|
separada. Basta definir um novo idioma e us<75>-lo nas palavras que n<>o
|
|||
|
podem ser separadas. Coloque no pre<72>mbulo:
|
|||
|
|
|||
|
|
|||
|
\newlanguage\nohyphen
|
|||
|
\newcommand\nh[1]{{\language\nohyphen #1}}
|
|||
|
|
|||
|
|
|||
|
|
|||
|
E use com \nh{FOO BAR}. <20> melhor do que usar \mbox, que impede quebra
|
|||
|
no espaco em \mbox{FOO BAR}.
|
|||
|
|
|||
|
|
|||
|
6.1.18.2. Separa<72><61>o sil<69>bica
|
|||
|
|
|||
|
Normalmente apenas os suportes a separa<72><61>o sil<69>bica para Ingl<67>s e
|
|||
|
Alem<65>o s<>o carregados. Para configurar hifeniza<7A><61>o no teTeX, execute
|
|||
|
o utilit<69>rio texconfig, que na distribui<75><69>o Slackware deve ser o
|
|||
|
programa /usr/lib/teTeX/bin/texconfig e na Debian <20>
|
|||
|
/usr/bin/texconfig. Digite o comando
|
|||
|
|
|||
|
|
|||
|
texconfig hyphen
|
|||
|
|
|||
|
|
|||
|
|
|||
|
O editor usado normalmente <20> o vi. Se o seu editor predileto for
|
|||
|
outro, crie uma vari<72>vel de ambiente chamada EDITOR contendo o nome
|
|||
|
desse programa, como no exemplo a seguir:
|
|||
|
|
|||
|
|
|||
|
EDITOR=pico
|
|||
|
export EDITOR
|
|||
|
|
|||
|
|
|||
|
|
|||
|
O editor de texto ser<65> carregado, para editar o arquivo language.dat.
|
|||
|
Procure uma linha que come<6D>a por %portuges e remova o %. Grave o
|
|||
|
arquivo e saia do editor. O texconfig atualizar<61> diversos arquivos de
|
|||
|
configura<72><61>o (n<>o se assuste com a quantidade de mensagens que
|
|||
|
aparecem na tela).
|
|||
|
|
|||
|
Se o nome da tabela de hifeniza<7A><61>o que consta no seu language.dat <20>
|
|||
|
pthyph.tex ent<6E>o provavelmente trata-se da vers<72>o 1.0, de 1987. A
|
|||
|
vers<72>o 1.2, de 1996, pode ser obtida via FTP an<61>nimo em
|
|||
|
|
|||
|
<ftp://ftp.tex.ac.uk/tex-archive/language/por<6F>
|
|||
|
tuguese/pt8hyph.tex>
|
|||
|
|
|||
|
Copie-o para o mesmo diret<65>rio onde se encontra o pthyph.tex, que
|
|||
|
dependendo de sua distribui<75><69>o pode ser
|
|||
|
/usr/lib/texmf/tex/generic/hyphen /usr/share/texmf/tex/generic/hyphen
|
|||
|
ou /usr/lib/teTeX/texmf/tex/generic/hyphen. Execute o comando texcon<6F>
|
|||
|
fig~hash e na mesma linha mencionada anteriormente insira um `8' no
|
|||
|
nome do arquivo, de modo que fique pt8hyph.tex.
|
|||
|
|
|||
|
|
|||
|
6.1.18.3. Uso de Font Encoding T1
|
|||
|
|
|||
|
Se o conjunto de caracteres (encoding) de uma fonte n<>o prov<6F> acesso
|
|||
|
direto a caracteres acentuados, (como <20> o caso do OT1, padr<64>o do
|
|||
|
LaTeX) ent<6E>o o TeX gera estes caracteres sobrepondo o caracter base
|
|||
|
mais o acento. O algoritmo de hifeniza<7A><61>o, contudo, n<>o hifeniza
|
|||
|
palavras formadas dessa forma.
|
|||
|
|
|||
|
Se uma fonte j<> prov<6F> acesso direto a caracteres acentuados, como as
|
|||
|
de codifica<63><61>o T1, estes caracteres s<>o usados diretamente sem
|
|||
|
preju<6A>zo do algoritmo de hifeniza<7A><61>o. O uso de encoding T1 <20>
|
|||
|
fundamental para a correta hifeniza<7A><61>o em Portugu<67>s.
|
|||
|
|
|||
|
Note que trata-se da mesma fonte, por falta a Computer Modern, apenas
|
|||
|
o que muda <20> o seu encoding, isto <20>, a ordem/disponibilidade dos
|
|||
|
caracteres dentro da mesma. Para selecionar estas fontes, inclua no
|
|||
|
pre<72>mbulo do seu documento o comando
|
|||
|
|
|||
|
|
|||
|
\usepackage[T1]{fontenc}
|
|||
|
|
|||
|
|
|||
|
|
|||
|
O antigo pacote t1enc n<>o deve mais ser usado e existe hoje apenas por
|
|||
|
quest<73>es de compatibilidade com documentos antigos. O fontenc <20> mais
|
|||
|
atual, continua a ser mantido e <20> de uso mais geral, portanto
|
|||
|
prefer<65>vel.
|
|||
|
|
|||
|
|
|||
|
6.1.18.4. Edi<64><69>o de documentos
|
|||
|
|
|||
|
Normalmente a introdu<64><75>o de caracteres acentuados no texto exige o uso
|
|||
|
de seq<65><71>ncias de escape bastante trabalhosas. Para gerar um ``<60>''
|
|||
|
deve-se digitar \"o. Com babel pode-se digitar apenas "o, o que n<>o
|
|||
|
deixa de ser inconveniente para ler o fonte do documento. H<> um pacote
|
|||
|
chamado inputenc que permite especificar a codifica<63><61>o em que est<73>o os
|
|||
|
caracteres de um documento. Lembre-se por<6F>m que se o seu documento for
|
|||
|
enviado para outro usu<73>rio que n<>o possua o inputenc ele poder<65> n<>o
|
|||
|
conseguir process<73>-lo, mas esse recurso j<> est<73> dispon<6F>vel desde a
|
|||
|
libera<72><61>o do LaTeX2e em dezembro 1994. Todas as distribui<75><69>es de Linux
|
|||
|
atuais o incluem.
|
|||
|
|
|||
|
Sugest<73>o: uma configura<72><61>o do GNU Emacs para gerar caracteres
|
|||
|
acentuados, pr<70>pria para o uso com o pacote inputenc:
|
|||
|
|
|||
|
|
|||
|
(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)
|
|||
|
))
|
|||
|
|
|||
|
|
|||
|
|
|||
|
E outra que n<>o requer o inputenc. O uso da biblioteca `iso-cvt' faz
|
|||
|
a transforma<6D><61>o de ISO-8859-1 (no buffer do Emacs) para o padr<64>o do
|
|||
|
LaTeX (no arquivo).
|
|||
|
|
|||
|
|
|||
|
(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)
|
|||
|
))
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Muitas vezes o usuario j<> possui muitos arquivos num formato de acento
|
|||
|
do LaTeX e gostaria de passar tudo para o formato ISO, pr<70>prio para
|
|||
|
uso do pacote inputenc. Uma boa op<6F><70>o para isto <20> usar o programa
|
|||
|
recode. Se voc<6F> possui arquivos .tex e deseja converte-lo para formato
|
|||
|
ISO-8859-1 pode usar:
|
|||
|
|
|||
|
|
|||
|
recode -d LaTeX:l1 file.tex
|
|||
|
|
|||
|
|
|||
|
|
|||
|
O c<>digo-fonte do GNU recode pode ser obtido via FTP an<61>nimo em
|
|||
|
<ftp://prep.ai.mit.edu/pub/gnu/recode/recode-3.4.tar.gz> e em muitos
|
|||
|
espelhos do GNU mundo afora. A distribui<75><69>o Debian tem um pacote
|
|||
|
pronto e outras tamb<6D>m devem ter.
|
|||
|
|
|||
|
|
|||
|
6.1.18.5. Teste da configura<72><61>o do LaTeX
|
|||
|
|
|||
|
Para testar a nova configura<72><61>o copie o seguinte trecho para um
|
|||
|
arquivo chamado, digamos, exemplo.tex:
|
|||
|
|
|||
|
|
|||
|
\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<64><75>o}
|
|||
|
|
|||
|
Este documento pretende ser um guia de refer<65>ncia de configura<72><61>o
|
|||
|
do \textbf{Linux} e seus programas, teclados e fontes de
|
|||
|
caracteres, permitindo sua internacionaliza<7A><61>o/utiliza<7A><61>o confort<72>vel
|
|||
|
por pessoas que falem a L<>ngua Portuguesa.
|
|||
|
|
|||
|
\end{document}
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Esse texto cont<6E>m de prop<6F>sito uma ``palavra'' bastante longa para
|
|||
|
for<6F>ar a separa<72><61>o sil<69>bica. Ele est<73> dispon<6F>vel via WWW no arquivo
|
|||
|
exemplo.tex na p<>gina do Portuguese HOWTO. Para process<73>-lo, use o
|
|||
|
comando latex, conforme mostrado a seguir:
|
|||
|
|
|||
|
bash$ latex exemplo.tex
|
|||
|
This is TeX, Version 3.14159 (C version 6.1)
|
|||
|
(exemplo.tex
|
|||
|
LaTeX2e <1996/06/01>
|
|||
|
Hyphenation patterns for english, german, portuges, loaded.
|
|||
|
(/usr/lib/teTeX/texmf/tex/latex/base/article.cls
|
|||
|
Document Class: article 1996/05/26 v1.3r Standard LaTeX document class
|
|||
|
(/usr/lib/teTeX/texmf/tex/latex/base/size10.clo))
|
|||
|
(/usr/lib/teTeX/texmf/tex/latex/base/inputenc.sty beta test version
|
|||
|
(/usr/lib/teTeX/texmf/tex/latex/base/latin1.def))
|
|||
|
(/usr/lib/teTeX/texmf/tex/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.
|
|||
|
|
|||
|
|
|||
|
A mensagem ``Hyphenation patterns for english, german, portuges,
|
|||
|
loaded.'' indica que a configura<72><61>o foi bem sucedida. Se o seu com<6F>
|
|||
|
putador est<73> rodando o X o documento formatado poder<65> ser visto com o
|
|||
|
comando
|
|||
|
|
|||
|
xdvi exemplo.dvi
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Observe que o ``\today'' gera a data corrente. No ``portugues'' seria
|
|||
|
``17 de Julho de 1998'' mas no ``brazil'' seria ``17 de julho de
|
|||
|
1998''.
|
|||
|
|
|||
|
|
|||
|
6.1.18.6. Problemas com alguns pacotes do teTeX
|
|||
|
|
|||
|
H<> um problema com o pacote algorithm do LaTeX, que n<>o <20> 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<72>mbulo de
|
|||
|
seu documento LaTeX, ap<61>s o comando ``\usepackage{algorithm}'' o
|
|||
|
seguinte:
|
|||
|
|
|||
|
|
|||
|
\makeatletter
|
|||
|
\renewcommand{\ALG@name}}{Algoritmo}}
|
|||
|
\makeatother
|
|||
|
\renewcommand{\listalgorithmname}}{Lista de Algoritmos}}
|
|||
|
|
|||
|
|
|||
|
|
|||
|
No teTeX 0.4 (vers<72>o 1.2h do portuges.ldf) o t<>tulo do ambiente proof,
|
|||
|
encontrado nas classes amsbook, amsart, etc., sai como ``Proof.''.
|
|||
|
Para corrigir isso, coloque no pre<72>mbulo de seu documento o comando
|
|||
|
|
|||
|
|
|||
|
\renewcommand{\proofname}}{Demonstra\c{c}\~ao}
|
|||
|
|
|||
|
|
|||
|
|
|||
|
mas o mais recomend<6E>vel <20> que se atualize a vers<72>o do teTeX.
|
|||
|
|
|||
|
Usu<73>rios do LyX podem incluir esses comandos no pre<72>mbulo do documento
|
|||
|
usando o menu Layout/LaTeX Preamble. Pode-se resolver o problema
|
|||
|
alterando o arquivo portuges.ldf que cont<6E>m as defini<6E><69>es necess<73>rias
|
|||
|
ao Portugu<67>s, mas esta solu<6C><75>o n<>o <20> port<72>vel, pois exigir<69> que tal
|
|||
|
arquivo seja alterado em todas os computadores em que o documento deva
|
|||
|
ser processado.
|
|||
|
|
|||
|
A licen<65>a do Babel n<>o me permite distribuir o portuges.ldf separado
|
|||
|
do resto do pacote, mas para os interessados, coloquei <20> disposi<73><69>o na
|
|||
|
p<>gina do HOWTO um arquivo chamado portuges.ldf.patch que criei para o
|
|||
|
meu teTeX antigo (Slackware 3.4). Para aplicar a atualiza<7A><61>o, copie-o
|
|||
|
para o diret<65>rio /usr/lib/teTeX/texmf/tex/generic/babel (Slackware),
|
|||
|
fa<66>a uma c<>pia de reserva do portuges.ldf original e invoque o
|
|||
|
utilit<69>rio patch:
|
|||
|
|
|||
|
|
|||
|
cp -p portuges.ldf portuges.ldf.backup
|
|||
|
patch < portuges.ldf.patch
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Use o patch por sua conta e risco! Se voc<6F> deixar o backup no
|
|||
|
diret<65>rio original ele ser<65> inclu<6C>do no arquivo ls-R da pr<70>xima vez
|
|||
|
que o programa texhash for executado. Isso n<>o far<61> mal algum, mas
|
|||
|
pode-se mover o backup para algum lugar seguro (eu uso /usr/backup).
|
|||
|
|
|||
|
|
|||
|
6.1.18.7. Lista TeX-BR
|
|||
|
|
|||
|
H<> uma lista de discuss<73>o brasileira de usu<73>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
|
|||
|
<tex-br-request@listas.furg.br>. Esta lista <20> administrada por Rafael
|
|||
|
Rodrigues Obelheiro.
|
|||
|
|
|||
|
H<> uma p<>gina na WWW em <http://biquinho.furg.br/tex-br/> por meio da
|
|||
|
qual se pode ler o hist<73>rico de mensagens. Tamb<6D>m h<> refer<65>ncias para
|
|||
|
muitos documentos sobre LaTeX, alguns em Portugu<67>s e outros em Ingl<67>s.
|
|||
|
|
|||
|
|
|||
|
6.1.18.8. LaTeX-demo
|
|||
|
|
|||
|
Pode ser <20>til tamb<6D>m um documento de exemplo para ter onde come<6D>ar.
|
|||
|
Pensando nisso, Klaus Steding-Jessen preparou um pequeno documento em
|
|||
|
Portugu<67>s com o objetivo de ser um guia ``by example'' para o usu<73>rio
|
|||
|
de LaTeX iniciante e intermedi<64>rio, que pode ser obtido via WWW em
|
|||
|
<http://biquinho.furg.br/doc/LaTeX-demo/>.
|
|||
|
|
|||
|
Klaus ecreveu tamb<6D>m uma s<>rie tr<74>s artigos destinados a ``descrever o
|
|||
|
sistema LaTeX como uma alternativa mais eficiente aos processadores de
|
|||
|
texto WYSIWYG'' que podem ser lidos via WWW em
|
|||
|
<http://biquinho.furg.br/tex-br/doc/artigo-1-jessen/>.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
6.1.19. WordPerfect
|
|||
|
|
|||
|
O Corel Wordperfect para Linux vers<72>o 8 suporta a acentua<75><61>o por
|
|||
|
teclas mortas. N<>o <20> necess<73>rio nenhum procedimento especial. Como um
|
|||
|
entusiasta de software livre, entretanto, recomendo enfaticamente que
|
|||
|
se use o LyX, que j<> foi inclusive traduzido para nossa l<>ngua,
|
|||
|
conforme mencionado na se<73><65>o ``LyX''.
|
|||
|
|
|||
|
|
|||
|
6.1.20. Xemacs (antigo lucid emacs)
|
|||
|
|
|||
|
|
|||
|
Agrade<64>o a colabora<72><61>o de Judson Santos Santiago e Goedson
|
|||
|
Teixeira Paix<69>o que ajudaram a identificar os problemas com
|
|||
|
o Xemacs.
|
|||
|
|
|||
|
|
|||
|
O Xemacs j<> tem suporte <20> acentua<75><61>o direta no teclado usando ``dead
|
|||
|
keys'', mas h<> um erro na configura<72><61>o original que o impede de
|
|||
|
reconhecer o acento circunflexo. Este problema n<>o ocorre se for
|
|||
|
usada a biblioteca Xlib aterada por Thomas Quinot, mencionada na
|
|||
|
se<73><65>o ``Contornando os limites do X'', mas mesmo que n<>o a usemos,
|
|||
|
basta colocar os seguintes comandos no seu arquivo de configura<72><61>o
|
|||
|
.emacs:
|
|||
|
|
|||
|
;; Ajuste para fazer o acento circunflexo funcionar
|
|||
|
;; Contribui<75><69>o de Goedson Teixeira Paixao <gopaixao@dcc.ufmg.br>
|
|||
|
(require 'x-compose)
|
|||
|
(define-key global-map 'dead-circumflex compose-circumflex-map)
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Na distribui<75><69>o Debian 2.0 o Xemacs 20.4 executa todos os scripts
|
|||
|
contidos no diret<65>rio /etc/xemacs20/site-start.d ao ser carregado.
|
|||
|
Tudo que se tem a fazer <20> colocar esses comandos em um arquivo
|
|||
|
chamado, por exemplo, 01portugues-xemacs.el. N<>o <20> necess<73>rio instalar
|
|||
|
o xemacs20-mule, que possui extens<6E>es para l<>nguas que n<>o usam o
|
|||
|
alfabeto romano. Os pacotes a instalar s<>o os seguintes:
|
|||
|
|
|||
|
|
|||
|
<20> xemacs20-bin
|
|||
|
|
|||
|
<20> xemacs20-nomule
|
|||
|
|
|||
|
<20> xemacs20-support
|
|||
|
|
|||
|
<20> xemacs20-supportel
|
|||
|
|
|||
|
Se voc<6F> instalou o Xemacs no Slackware ou outro Unix, <20> moda antiga
|
|||
|
(dowload, compila<6C><61>o, insta<74><61>o), ent<6E>o o arquivo a alterar <20> o site-
|
|||
|
start.el, que deve estar no diret<65>rio /usr/lib/xemacs/site-lisp ou
|
|||
|
/usr/local/lib/xemacs/site-lisp, dependendo de sua instala<6C><61>o.
|
|||
|
|
|||
|
Observe que a partir da vers<72>o 20.3 o Xemacs usa uma vari<72>vel especial
|
|||
|
para controlar o comportamento da tecla ``Delete'', n<>o existente nos
|
|||
|
outros emacs chamada delete-key-deletes-forward. Para ativar este
|
|||
|
comportamento coloque no seu arquivo .emacs uma linha contendo
|
|||
|
|
|||
|
|
|||
|
(setq delete-key-deletes-forward t)
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Arquivos de configura<72><61>o prontos podem ser obtidos via WWW na p<>gina
|
|||
|
do Portuguese HOWTO. Para Slackware, h<> um site-start-xemacs.el, que
|
|||
|
deve ser copiado para o diret<65>rio correto com o nome de site-start.el.
|
|||
|
Para Debian, h<> um 01portugues-xemacs.el que deve ser copiado para o
|
|||
|
diret<65>rio /etc/xemacs20/site-start.d.
|
|||
|
|
|||
|
Certifique-se de estar usando a vers<72>o 24-out-1998 ou mais recente do
|
|||
|
arquivo de ``mapa de teclado'' para o X, pois ela possui uma corre<72><65>o
|
|||
|
no tratamento das teclas modificadoras Alt e Meta, que s<>o muito
|
|||
|
usadas pelo Xemacs.
|
|||
|
|
|||
|
|
|||
|
6.2. Rede local e Internet
|
|||
|
|
|||
|
|
|||
|
6.2.1. FTP (File Transfer Protocol)
|
|||
|
|
|||
|
Existem dois modos de transfer<65>ncia de arquivos: binary e ASCII, sendo
|
|||
|
este utilizado para textos. Deve-se tomar cuidado ao transferir um
|
|||
|
arquivo, pois o modo de transf<73>rencia ASCII remove o oitavo bit de
|
|||
|
cada caracter transmitido, o que ter<65> como conseq<65><71>ncia a perda de
|
|||
|
todos os caracteres acentuados. Desta forma <20> aconselhado o envio de
|
|||
|
documenta<74><61>o em modo binary de forma a manter a integridade da mesma.
|
|||
|
|
|||
|
Cuidado! Algumas vers<72>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<61> o modo de transfer<65>ncia para
|
|||
|
bin<69>rio automaticamente. Al<41>m disso, alguns servidores FTP tamb<6D>m n<>o
|
|||
|
fornecem a informa<6D><61>o corretamente. Certifique-se de digitar o
|
|||
|
comando bin antes de um get quando quiser que a transfer<65>ncia seja
|
|||
|
bin<69>ria!
|
|||
|
|
|||
|
|
|||
|
6.2.2. Correio eletr<74>nico
|
|||
|
|
|||
|
O mesmo tipo de restri<72><69>es do FTP se aplica ao envio de documentos
|
|||
|
contendo caracteres acentuados atrav<61>s de correio eletr<74>nico. Embora
|
|||
|
isto n<>o aconte<74>a em todos os sistemas em uso na internet, bastar<61> que
|
|||
|
o correio enviado passe no seu trajecto por um sistema que n<>o suporte
|
|||
|
8 bits de informa<6D><61>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<74><61>o em modo 8 bits.
|
|||
|
Exemplos de programas de correio eletr<74>nico com suporte para MIME, s<>o
|
|||
|
o Eudora e o Pine.
|
|||
|
|
|||
|
Se o destinat<61>rio da mensagem n<>o usa um agente com suporte para MIME,
|
|||
|
existe a op<6F><70>o de codificar os documentos com o utilit<69>rio UUENCODE.
|
|||
|
Para maiores informa<6D><61>es a esse respeito, leia a documenta<74><61>o usando
|
|||
|
os comandos
|
|||
|
|
|||
|
|
|||
|
man uuencode
|
|||
|
man uudecode
|
|||
|
|
|||
|
|
|||
|
|
|||
|
7. Ficheiros necess<73>rios
|
|||
|
|
|||
|
Aten<65><6E>o! Os mapas de teclado para o X fornecidos mapeiam a fun<75><6E>o das
|
|||
|
teclas segundo a lista a seguir:
|
|||
|
|
|||
|
<20> Alt esquerdo: Alt
|
|||
|
|
|||
|
<20> Alt direito: AltGr
|
|||
|
|
|||
|
<20> Control esquerdo: Control
|
|||
|
|
|||
|
<20> Control direito: Control
|
|||
|
|
|||
|
<20> ScrollLock: ScrollLock
|
|||
|
|
|||
|
<20> Janela esquerda: Meta
|
|||
|
|
|||
|
<20> Janela direita: Compose
|
|||
|
|
|||
|
<20> Menu: Menu
|
|||
|
|
|||
|
Se o seu teclado n<>o possuir as teclas para Windows 95 ent<6E>o pode ser
|
|||
|
melhor restabelecer a distribui<75><69>o padr<64>o: edite o mapa e coloque um
|
|||
|
ponto de exclama<6D><61>o no in<69>cio das linhas que definem os keycodes 64,
|
|||
|
113, 115, 116 e 117.
|
|||
|
|
|||
|
Foram elaborados mapas com suporte <20> acentua<75><61>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<69>rios da p<>gina do Portuguese HOWTO:
|
|||
|
|
|||
|
|
|||
|
<20> <http://linusp.usp.br/~casantos/>
|
|||
|
|
|||
|
Ao instalar um dos mapas fornecidos, lembre-se de ler os coment<6E>rios
|
|||
|
contidos neles, pois h<> informa<6D><61>es importantes sobre op<6F><70>es de
|
|||
|
configura<72><61>o e aproveitamento das teclas adicionais dos teclados
|
|||
|
padr<64>o Windows 95. As instru<72><75>es para instala<6C><61>o est<73>o nas se<73><65>es
|
|||
|
``Configura<72><61>o do console'' e ``Configura<72><61>o do X''.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
O mapa US+ (us+.map e Xmodmap.us+)
|
|||
|
Mapas para os teclados que seguem o padr<64>o americano. Como n<>o
|
|||
|
existem teclas especiais para gerar o c-cedilhado nem o trema,
|
|||
|
foi usado um pequeno truque: o c-cedilhado <20> gerado pela
|
|||
|
seq<65><71>ncia 'C. No console pode-se faz<61>-lo com a seq<65><71>ncia AltGR-
|
|||
|
C. O trema <20> gerado pela tecla ". Para gerar as aspas duplas <20>
|
|||
|
necess<73>rio digitar a seq<65><71>ncia "<espa<70>o> e no console pode-se
|
|||
|
usar ""; opcionalmente pode-se usar AltGR-", o que n<>o <20> uma
|
|||
|
solu<6C><75>o muito confort<72>vel, mas funciona...
|
|||
|
|
|||
|
Testados com teclados de v<>rias marcas (e alguns sem marca :-).
|
|||
|
|
|||
|
|
|||
|
O mapa Portugal (pt.map e Xmodmap.pt)
|
|||
|
Mapas para teclados com desenho portugu<67>s. Esses teclados s<>o os
|
|||
|
que possuem uma tecla com os caracteres <20> e <20>. N<>o s<>o muito
|
|||
|
confort<72>veis, porque para gerar o s<>mbolos @ [ ] { } e o trema <20>
|
|||
|
necess<73>rio usar a tecla Alt-GR.
|
|||
|
|
|||
|
Testado com um teclado da marca Key Tronic.
|
|||
|
|
|||
|
|
|||
|
O mapa ABNT-2 (abnt-2.map e Xmodmap.abnt2)
|
|||
|
Os computadores vendidos no Brasil fabricados pela IBM, Compaq e
|
|||
|
Itautec, entre outros, v<>m com esses teclados. Eles tamb<6D>m pode
|
|||
|
ser adquiridos avulsos e s<>o fabricados pela UIS e Keytec (n<>o
|
|||
|
confundir com Key Tronic). Este desenho <20> o mais confort<72>vel de
|
|||
|
todos, pois tem a mesma distribui<75><69>o dos acentos encontrada nas
|
|||
|
m<>quinas de escrever.
|
|||
|
|
|||
|
Testado com teclados das marcas UIS e IBM.
|
|||
|
|
|||
|
|
|||
|
Sun Type 4 e Type 5 (Xmodmap.Sun4+ e Xmodmap.Sun5c+)
|
|||
|
Encontrados nas m<>quinas fabricadas pela Sun. Estes mapas foram
|
|||
|
testados em SPARCstations modelos 1, 4, IPC e Classic rodando
|
|||
|
SunOS 4.1, Solaris 2.5.1 e Linux 2.0.33 (Red Hat 4.2). Como
|
|||
|
esses teclados n<>o possuem o c-cedilhado, foi usado o mesmo
|
|||
|
truque do mapa US+. Apenas o mapa para o X <20> fornecido.
|
|||
|
|
|||
|
|
|||
|
NCD+ (Xmodmap.NCD+)
|
|||
|
Este mapa <20> para o teclado modelo N107 e foi testado em
|
|||
|
terminais X modelo 16r fabricados pela Network Computing Devices
|
|||
|
Inc. (NCD). Embora a distribui<75><69>o de teclas seja id<69>ntica <20> do
|
|||
|
Sun Type 4, os keycodes das teclas s<>o diferentes. Esses
|
|||
|
teclados tamb<6D>m n<>o possuem o c-cedilhado, por isso foi usado o
|
|||
|
mesmo truque do mapa US+. Apenas o mapa para o X <20> fornecido.
|
|||
|
|
|||
|
A gera<72><61>o dos caracteres acentuados <20> feita de acordo com a tabela a
|
|||
|
seguir:
|
|||
|
|
|||
|
|
|||
|
Para gerar Digitar
|
|||
|
-------------------------------------------------
|
|||
|
<20> 'c ou compose-,-c
|
|||
|
<20> <20> <20> <20> <20> 'a 'e 'i 'o 'u
|
|||
|
<20> <20> <20> <20> <20> `a `e `i `o `u
|
|||
|
<20> <20> ~a ~o
|
|||
|
<20> <20> <20> <20> <20> ^a ^e ^i ^o ^u
|
|||
|
<20> <20> <20> <20> <20> "a "e "i "o "u
|
|||
|
" (aspas) "" ou AltGR-" no mapa US+
|
|||
|
<20> (trema) "-espa<70>o
|
|||
|
' (ap<61>strofo) '' ou AltGR-' no mapa US+
|
|||
|
` (grave) `` ou AltGR-` no mapa US+
|
|||
|
<20> compose-O-R
|
|||
|
<20> compose-O-C
|
|||
|
-------------------------------------------------
|
|||
|
|
|||
|
|
|||
|
|
|||
|
8. Informa<6D><61>es Adicionais
|
|||
|
|
|||
|
8.1. Fontes de informa<6D><61>o sobre Linux em Portugu<67>s
|
|||
|
|
|||
|
|
|||
|
Grupo de Investiga<67><61>o Linux
|
|||
|
Grupo de usu<73>rios de linux da Universidade do Minho, em Portugal
|
|||
|
que pode ser visitado em <http://gil.di.uminho.pt>.
|
|||
|
|
|||
|
Grupo de Utilizadores de Linux do ISCTE
|
|||
|
Pode ser visitado em
|
|||
|
<http://www.students.iscte.pt/~a12593/gul.html>.
|
|||
|
|
|||
|
Linux Brasil
|
|||
|
Servidor da Universidade Estadual de Campinas, Brasil, contendo
|
|||
|
informa<6D><61>es sobre Linux no Brasil, que absorveu o antigo projeto
|
|||
|
LDP-br. Pode ser visitado em <http://linux.unicamp.br>.
|
|||
|
|
|||
|
Projeto LinUSP
|
|||
|
Desenvolvido na Universidade de S<>o Paulo, Brasil, coordenado
|
|||
|
por Jorge L. deLyra. Pode ser visitado em
|
|||
|
<http://linusp.usp.br/>.
|
|||
|
|
|||
|
|
|||
|
8.2. Free Translation Project
|
|||
|
|
|||
|
Programadores que quiserem desenvolver aplica<63><61>es com suporte a mais
|
|||
|
de uma l<>ngua devem usar algum m<>todo de definir mensagens em tempo de
|
|||
|
execu<63><75>o, possivelmente usando uma biblioteca de fun<75><6E>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<61>logo que <20> lido pelo programa ao
|
|||
|
iniciar. H<> equipes de tradu<64><75>o respons<6E>veis por cada l<>ngua.
|
|||
|
|
|||
|
H<> uma lista de discuss<73>o via emeil para cada equipe de tradu<64><75>o,
|
|||
|
rodando em um servidor provido pela <Linux International>. Para fazer
|
|||
|
contato com a equipe de tradu<64><75>o para Portugu<67>s, envie um emeil para
|
|||
|
<pt@li.org> e para assinar a lista envie emeil para <pt-
|
|||
|
request@li.org> contendo apenas a palavra ``subscribe''. Assine a
|
|||
|
lista somente se voc<6F> quiser fazer parte da equipe de tradutores, pois
|
|||
|
ela n<>o se destina ao esclarecimento de d<>vidas de usu<73>rios!
|
|||
|
|
|||
|
Mais informa<6D><61>es podem ser encontradas na documenta<74><61>o do pacote
|
|||
|
gettext dispon<6F>vel via FTP an<61>nimo em qualquer reposit<69>rio de software
|
|||
|
do GNU. Provavelmente sua distribui<75><69>o j<> tem um pacote pronto para
|
|||
|
ser instalado, mas se voc<6F> desejar, os fontes da vers<72>o mais recentes
|
|||
|
podem ser encontrados em
|
|||
|
|
|||
|
<ftp://ftp.gnu.org/pub/gnu/>
|
|||
|
|
|||
|
|
|||
|
e o nome do arquivo a copiar <20> ``gettext-<vers<72>o>.tar.gz''.
|
|||
|
|
|||
|
|
|||
|
8.3. LIE-BR
|
|||
|
|
|||
|
|
|||
|
A informa<6D><61>o a seguir <20> baseada no conte<74>do da p<>gina de
|
|||
|
apresenta<74><61>o da lie-br, escrita por Jorge Godoy.
|
|||
|
|
|||
|
|
|||
|
A lie-br foi criada com o intuito de auxiliar a comunidade Linux
|
|||
|
brasileira a obter softwares e documenta<74><61>o em sua l<>ngua nativa: o
|
|||
|
portugu<67>s. Essa lista <20> uma ramifica<63><61>o de outra maior, a LIE que
|
|||
|
visa a internacionaliza<7A><61>o do Linux e sua posterior tradu<64><75>o para
|
|||
|
todos os idiomas (portugu<67>s incluso).
|
|||
|
|
|||
|
Resumo dos objetivos da lie-br:
|
|||
|
|
|||
|
<20> contribuir para o projeto de internacionaliza<7A><61>o do Linux fazendo a
|
|||
|
parte relativa ao portugu<67>s para o Brasil;
|
|||
|
|
|||
|
<20> internacionalizar programas, de modo a poderem ser usados nas
|
|||
|
l<>nguas nativas de cada pa<70>s, e n<>o ficar preso ao idioma original
|
|||
|
ou ao ingl<67>s;
|
|||
|
|
|||
|
<20> disponibilizar (sic) material em portugu<67>s para consulta e
|
|||
|
documenta<74><61>o;
|
|||
|
|
|||
|
<20> aumentar o acervo de documenta<74><61>o dispon<6F>vel e, indiretamente,
|
|||
|
auxiliar no desenvolvimento iniciado pelo projeto LDP-BR.
|
|||
|
|
|||
|
Mais informa<6D><61>es podem ser encontradas na p<>gina WWW da lie-br, no
|
|||
|
endere<72>o
|
|||
|
|
|||
|
<http://lie-br.conectiva.com.br/>
|
|||
|
|
|||
|
|
|||
|
Ainda h<> uma quantidade enorme de documentos por traduzir. Se voc<6F> tem
|
|||
|
bom dom<6F>nio do Ingl<67>s e deseja colaborar, ent<6E>o primeiro leia as
|
|||
|
instru<72><75>es na p<>gina mencionada e assine a lista ``lie-br'', enviando
|
|||
|
um emeil para <lie-br-subscribe@bazar.conectiva.com.br>. N<>o <20> preciso
|
|||
|
especificar o assunto (subject) nem colocar nada no corpo da mensagem.
|
|||
|
|
|||
|
|
|||
|
8.4. Vers<72>es de software testadas
|
|||
|
|
|||
|
Todas as informa<6D><61>es presentes neste documento foram testadas nas
|
|||
|
seguintes vers<72>es de software:
|
|||
|
|
|||
|
|
|||
|
<20> Distribui<75><69>es Slackware 3.2 (muito modificada), Debian 2.0, Red Hat
|
|||
|
5.2, Conectiva 3.0 (Guarani) e S.u.S.E. 5.6
|
|||
|
|
|||
|
<20> XFree86 vers<72>es 3.3 a 3.3.3.1
|
|||
|
|
|||
|
<20> Fvwm 2.0.46
|
|||
|
|
|||
|
<20> Rxvt vers<72>o 2.4.5
|
|||
|
|
|||
|
<20> Kernel vers<72>es 2.0.33 a 2.0.36
|
|||
|
|
|||
|
<20> Kbd vers<72>es 0.92 a 0.96
|
|||
|
|
|||
|
<20> GNU emacs vers<72>es 19.34 a 20.3
|
|||
|
|
|||
|
<20> Less vers<72>es 321 e 332
|
|||
|
|
|||
|
<20> GNU Bash vers<72>es 1.14.7 a 2.01.1
|
|||
|
|
|||
|
<20> tcsh vers<72>es 6.07.02 e 6.07.06
|
|||
|
|
|||
|
<20> LyX 0.12.0 a 1.0.0pre6
|
|||
|
|
|||
|
<20> XForms 0.88
|
|||
|
|
|||
|
<20> Joe 2.8
|
|||
|
|
|||
|
<20> Pine 3.96 e 4.0
|
|||
|
|
|||
|
<20> Pico 2.9
|
|||
|
|
|||
|
<20> teTeX vers<72>es 0.4 e 0.9-9
|
|||
|
|
|||
|
<20> XEmacs vers<72>es 20.3 e 20.4
|
|||
|
|
|||
|
|
|||
|
|
|||
|
9. Observa<76><61>es finais
|
|||
|
|
|||
|
9.1. Futuras adi<64><69>es a este documento
|
|||
|
|
|||
|
As pr<70>ximas vers<72>es do HOWTO dever<65>o conter, entre outros assuntos, os
|
|||
|
seguintes:
|
|||
|
|
|||
|
<20> suporte <20> distribui<75><69>o Caldera;
|
|||
|
|
|||
|
<20> informa<6D><61>es sobre compartilhamento de arquivos em rede usando NFS,
|
|||
|
SAMBA e Mars-NWE;
|
|||
|
|
|||
|
<20> configura<72><61>o de toolkits de interface gr<67>fica: Qt, GTK, XForms, Tk
|
|||
|
(Tcl) e os baseados em Xt, como Motif, Lesstif, Xaw (*international
|
|||
|
ainda n<>o est<73> funcionando);
|
|||
|
|
|||
|
<20> uma se<73><65>o sobre desenvolvimento de programas;
|
|||
|
|
|||
|
<20> refer<65>ncias ao Ispell (us<75>-lo para corrigir o pr<70>prio HOWTO :-);
|
|||
|
|
|||
|
<20> informa<6D><61>es sobre X/Open, XPG4 e POSIX, ou pelo menos ponteiros
|
|||
|
para elas.
|
|||
|
|
|||
|
Aceitam-se volunt<6E>rios para qualquer uma destas tarefas.
|
|||
|
|
|||
|
Parece cada vez mais claro que as informa<6D><61>es sobre configura<72><61>o de
|
|||
|
aplicativos devem ser movidas para outro documento, independente do
|
|||
|
HOWTO. Na forma como ele est<73> hoje j<> chega a quase quarenta p<>ginas
|
|||
|
impressas e com a adi<64><69>o de outras distribui<75><69>es e aplica<63><61>es em breve
|
|||
|
chegar<61> <20>s 50. Um documento t<>o grande foge ao esp<73>rito de um HOWTO,
|
|||
|
que deve ser sucinto e concentrado em um assunto espec<65>fico.
|
|||
|
9.2. Nota de Direitos de Autor
|
|||
|
|
|||
|
Este HOWTO teve como autor Jo<4A>o Carlos Rodrigues Pereira, baseado em
|
|||
|
documenta<74><61>o escrita por Jos<6F> Bandeira al<61>m dos restantes HOWTO's do
|
|||
|
Linux. Atualmente ele <20> mantido por Carlos Augusto Moreira dos
|
|||
|
Santos, com a colabora<72><61>o de muitos outros.
|
|||
|
|
|||
|
Os documentos HOWTO do Linux podem ser reproduzidos e distribu<62>dos em
|
|||
|
todo ou em parte, segundo qualquer meio f<>sico ou electr<74>nico, desde
|
|||
|
que esta Nota de Direitos de Autor se mantenha intacta em todas as
|
|||
|
c<>pias dos mesmos. A distribui<75><69>o comercial <20> autorizada e
|
|||
|
encorajada, no entanto, o autor gostaria de ser notificado de tais
|
|||
|
ocorr<72>ncias.
|
|||
|
|
|||
|
Todas as tradu<64><75>es, trabalhos derivados, ou trabalhos agregando
|
|||
|
qualquer dos documentos HOWTO do Linux dever<65>o estar abrangidos por
|
|||
|
esta Nota de Direitos de Autor, ou seja, n<>o poder<65> ser imposta
|
|||
|
qualquer restri<72><69>o adicional a trabalhos efectuados a partir de um dos
|
|||
|
documentos HOWTO do Linux nomeadamente no que diz respeito <20> sua
|
|||
|
distribui<75><69>o.
|
|||
|
|
|||
|
Exce<63><65>es a estas regras poderam ser obtidas. Para tal, dever-se-<2D>
|
|||
|
contactar o coordenador dos documentos HOWTO do Linux no endere<72>o
|
|||
|
<linux-howto@metalab.unc.edu>.
|
|||
|
|
|||
|
|
|||
|
9.3. Garantia (inexist<73>ncia de) e nota de responsabilidade
|
|||
|
|
|||
|
Apesar de ter sido feito o m<>ximo esfor<6F>o poss<73>vel para que o conte<74>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<63><61>o
|
|||
|
comercial, t<>cnica, educacional ou medicinal. O autor n<>o se
|
|||
|
responsabiliza por preju<6A>zos decorrentes do seu uso. Em resumo: se a
|
|||
|
informa<6D><61>o aqui contida quebrar seu computador em mil pedacinhos,
|
|||
|
junte tudo e cole, mas n<>o reclame para mim!
|
|||
|
|
|||
|
Documentos escritos por terceiros s<>o de responsabilidade exclusiva
|
|||
|
deles e sua refer<65>ncia neste HOWTO n<>o representa nenhum tipo de
|
|||
|
recomenda<64><61>o, abono ou garantia de suporte.
|
|||
|
|
|||
|
|
|||
|
9.4. Agradecimentos
|
|||
|
|
|||
|
Deixo aqui os meus agradecimentos a todos os que de alguma forma me
|
|||
|
ajudaram quer atrav<61>s das suas sugest<73>es quer atrav<61>s de contribui<75><69>es
|
|||
|
de outro tipo, em especial a
|
|||
|
|
|||
|
|
|||
|
Jo<4A>o Carlos Rodrigues Pereira
|
|||
|
Autor original deste documento que agora mantenho. Nunca tive
|
|||
|
contato com ele, nem sei por onde andar<61>. Sua p<>gina no
|
|||
|
Departamento de Inform<72>tica da Faculdade de Ci<43>ncias da
|
|||
|
Universidade de Lisboa (http://caravela.di.fc.ul.pt/~jcrp/) n<>o
|
|||
|
existe mais. Lembro-me de t<>-la visto, anos atr<74>s.
|
|||
|
|
|||
|
Greg Hankins
|
|||
|
Ex-coordenador dos Linux HOWTO, por me permitir assumir a
|
|||
|
manuten<65><6E>o deste documento e fornecer as primeiras dicas sobre
|
|||
|
autoria de documentos SGML.
|
|||
|
|
|||
|
As pessoas listadas a seguir enviaram mensagens diretamente para mim
|
|||
|
ou para as listas Linux-BR da UNICAMP e TeX-BR com informa<6D><61>es,
|
|||
|
sugest<73>es ou coment<6E>rios que foram inclu<6C>das neste texto. Se algu<67>m
|
|||
|
foi esquecido, por favor desculpe a falha.
|
|||
|
|
|||
|
|
|||
|
Andre Gerhard <andre@lme.usp.br>
|
|||
|
Arnaldo Carvalho de Melo <acme@conectiva.com.br>
|
|||
|
Bruno Barberi Gnecco <brunobg@geocities.com>
|
|||
|
Cees de Groot <cg@pobox.com>
|
|||
|
Francisco Semeraro <semeraro@sti.com.br>
|
|||
|
Goedson Teixeira Paixao <gopaixao@dcc.ufmg.br>
|
|||
|
Joao Carvalho <foxfire@fe.up.pt>
|
|||
|
Jorge Carvalho Pinto <jmcpinto@yahoo.com>
|
|||
|
Judson S Santiago <judson@costeira.dimap.ufrn.br>
|
|||
|
Ken MacLeod <ken@bitsko.slc.ut.us>
|
|||
|
Klaus Steding-Jessen <jessen@acm.org>
|
|||
|
Lamarque Vieira Souza <lamarque@dcc.ufmg.br>
|
|||
|
Marcelo Malheiros <malheiro@dca.fee.unicamp.br>
|
|||
|
Marcos Vinicius Lannes dos Santos <lannes@cnpgl.embrapa.br>
|
|||
|
Pedro Kr<4B>ger <kroger@e-net.com.br>
|
|||
|
Rafael Caetano dos Santos <rcaetano@linux.ime.usp.br>
|
|||
|
Rafael Rodrigues Obelheiro <obelix@biquinho.furg.br>
|
|||
|
Ramiro Morales <morales@siscard.com.ar>
|
|||
|
Raul Carvalho <rmpc@ip.pt>
|
|||
|
Ricardo Y. Igarashi <iga@originet.com.br>
|
|||
|
Roberto Mello <mello@internext.com.br>
|
|||
|
Wanderlei Antonio Cavassin <cavassin@conectiva.com.br>
|
|||
|
|
|||
|
|
|||
|
Os seguintes agradecimentos s<>o do primeiro autor:
|
|||
|
|
|||
|
Carlos Ferreira
|
|||
|
Pela luta que trava pela defesa da lingua portuguesa, bem
|
|||
|
patente na sua P<>gina Portuguesa dispon<6F>vel no URL:
|
|||
|
http://lila.dei.uc.pt/~cjrf/po/ [Nota do mantenedor atual: esta
|
|||
|
p<>gina n<>o existe]
|
|||
|
|
|||
|
Jo<4A>o C. Silva
|
|||
|
Pelo apoio e incentivo e criticas (bem como por me deixar testar
|
|||
|
os meus conhecimentos no SEU computador).
|
|||
|
|
|||
|
Jos<6F> Bandeira
|
|||
|
Autor dos ficheiros port.map e xmodmap. Pelo seu apoio e por
|
|||
|
ter escrito alguma da documenta<74><61>o mais elucidativa que eu j<> li
|
|||
|
sobre o assunto.
|
|||
|
|
|||
|
|
|||
|
10. Bibliografia comentada
|
|||
|
|
|||
|
Esta se<73><65>o ainda est<73> incompleta e deve ser melhorada nas pr<70>ximas
|
|||
|
vers<72>es. Os HOWTOs mencionados aqui geralmente s<>o distribu<62>dos nos
|
|||
|
CDs de instala<6C><61>o e todas as distribui<75><69>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<65>rio
|
|||
|
/usr/doc/faq/howto e na Debian o diret<65>rio <20> /usr/doc/HOWTO. Eles
|
|||
|
tamb<6D>m podem ser obtidos via WWW em
|
|||
|
<http://metalab.unc.edu/LDP/HOWTO/>.
|
|||
|
|
|||
|
|
|||
|
[BAL97] BALSA, Andr<64> D. Linux and X11 internationalization
|
|||
|
Dispon<6F>vel via WWW em
|
|||
|
<http://wauug.erols.com/~balsa/linux/deadkeys/>
|
|||
|
|
|||
|
Uma discuss<73>o sobre o problema da acentua<75><61>o no X. Tamb<6D>m cont<6E>m
|
|||
|
refer<65>ncias para outros documentos que tratam de
|
|||
|
internacionaliza<7A><61>o.
|
|||
|
|
|||
|
[BRO98] Brower Andries. The Linux Keyboard and Console HOWTO
|
|||
|
Dispon<6F>vel via WWW em
|
|||
|
<http://metalab.unc.edu/LDP/HOWTO/Keyboard-and-Console-
|
|||
|
HOWTO.html>.
|
|||
|
Descreve o tratamento teclado e console no Linux (kernel vers<72>o
|
|||
|
2.0) e tem v<>rias refer<65>ncias ao X. Leitura obrigat<61>ria para
|
|||
|
quem quer entender a base do assunto.
|
|||
|
|
|||
|
[GET94] Gettys, James et al. Xlib - C Language X Interface
|
|||
|
Cambridge, X Consortium, Inc., 1994. 473p.
|
|||
|
|
|||
|
Refer<65>ncia definitiva sobre programa<6D><61>o com Xlib.
|
|||
|
|
|||
|
[JON89] Jones, Oliver. Introduction to the X Window System
|
|||
|
Englewood Cliffs, Prentice Hall, 1990.
|
|||
|
|
|||
|
Um livro bastante antigo, mas contendo uma excelente e did<69>tica
|
|||
|
introdu<64><75>o ao X e <20> programa<6D><61>o com Xlib.
|
|||
|
|
|||
|
[McC94] McCormack, Joel et al.X Toolkit Intrinsics - C Language
|
|||
|
Interface
|
|||
|
Digital Equipment Corporation/X Consortium, 1994.
|
|||
|
|
|||
|
A refer<65>ncia b<>sica para programadores interessados em usar Xt.
|
|||
|
|
|||
|
[OSS92] Ossana, Joseph & Kernighan, Brian. Troff user's manual
|
|||
|
Computer Science Technical Report No. 54. Murray Hill, AT&T Bell
|
|||
|
Laboratories, 1992.
|
|||
|
|
|||
|
Descri<72><69>o detalhada de como usar o Troff para formata<74><61>o de
|
|||
|
documentos.
|
|||
|
|
|||
|
[KER82] Kernighan, Brian. A Typesetter-independent TROFF
|
|||
|
Murray Hill, AT&T Bell Laboratories, 1982.
|
|||
|
|
|||
|
O artigo de um dos pais do UNIX sobre o Troff.
|
|||
|
|
|||
|
[QUI98] Quinot, Thomas. Dead keys under X11
|
|||
|
Dispon<6F>vel via WWW em
|
|||
|
<http://www.fdn.fr/~tquinot/index.en.html>
|
|||
|
|
|||
|
A vers<72>o em ingl<67>s do artigo sobre a modifica<63><61>o da Xlib para
|
|||
|
dar suporte <20> acentua<75><61>o independente da aplica<63><61>o.
|
|||
|
|
|||
|
[RAY98] Raymond, Eric S. The Linux XFree86 HOWTO
|
|||
|
Dispon<6F>vel via WWW em
|
|||
|
<http://metalab.unc.edu/LDP/HOWTO/XFree86-HOWTO.html>.
|
|||
|
|
|||
|
Descreve como obter, instalar e configurar o XFree86. Todas as
|
|||
|
distribui<75><69>es de Linux j<> v<>m com pacotes do XFree86 prontos
|
|||
|
para instalar, mas as informa<6D><61>es sobre configura<72><61>o podem ser
|
|||
|
muito <20>teis.
|
|||
|
|
|||
|
[SCH86] Scheifler, Robert; Gettys, James. The X Window System
|
|||
|
ACM Transactions on Graphics, New York, ACM, 5 (2): 79-109,
|
|||
|
april, 1986.
|
|||
|
|
|||
|
O artigo seminal de Scheifler e Gettys descrevendo o X Window
|
|||
|
System.
|
|||
|
|
|||
|
[SUN90a] Sun Microsystems. Using NROFF & TROFF.
|
|||
|
Sun Microsystems, 1990.
|
|||
|
|
|||
|
Parte da documenta<74><61>o que acompanhava as esta<74><61>es de trabalho
|
|||
|
Sun<75> e o sistema SunOS<4F>, no tempo em que os fabricantes de
|
|||
|
computadores distribuiam documenta<74><61>o de verdade.
|
|||
|
|
|||
|
[SUN90b] Sun Microsystems. Formatting documents
|
|||
|
Sun Microsystems, 1990.
|
|||
|
|
|||
|
Veja o <20>tem anterior.
|
|||
|
|
|||
|
Arquivos cuja leitura pode ser <20>til:
|
|||
|
|
|||
|
|
|||
|
/usr/src/linux/Documentation/unicode.txt
|
|||
|
Explica como ativar os diversos tipos de fontes no console.
|
|||
|
Tamb<6D>m explica onde obter fontes para o alfabeto Klingon, o que
|
|||
|
pode ser muito <20>til se o leitor for um habitante daquele Imp<6D>rio
|
|||
|
ou admirador de Jornada nas Estrelas. Depois das recentes
|
|||
|
aventuras espaciais do Linux, n<>o duvido de mais nada...
|
|||
|
|
|||
|
A respeito deste assunto <20> de fundamental import<72>ncia saber que,
|
|||
|
segundo nosso consultor interestrelar Klaus Steding-Jessen,
|
|||
|
``Klingon <20> o nome da ra<72>a e do seu idioma. Kling <20> o nome do
|
|||
|
planeta. Mas note que o Imp<6D>rio Klingon <20> formado n<>o apenas
|
|||
|
por esse planeta, mas por v<>rias col<6F>nias, teoricamente todas
|
|||
|
falando Klingon''. Tenho certeza de que sua vida nunca mais ser<65>
|
|||
|
a mesma depois de saber disto.
|
|||
|
|
|||
|
/usr/src/linux/include/linux/keyboard.h
|
|||
|
Cont<6E>m as defini<6E><69>es de constantes, fun<75><6E>es e macros utilizadas
|
|||
|
por programas que fazem tratamento de teclado sob Linux.
|
|||
|
Normalmente esse arquivo <20> instalado com o pacote que cont<6E>m o
|
|||
|
c<>digo fonte do kernel. As distribui<75><69>es geralmente possuem um
|
|||
|
pacote apenas com os arquivos include e outros com o resto dos
|
|||
|
programas-fonte do kernel.
|
|||
|
|
|||
|
/usr/X11R6/include/X11/keysymdef.h
|
|||
|
Cont<6E>m as defini<6E><69>es de constantes, fun<75><6E>es e macros utilizadas
|
|||
|
por programas que fazem tratamento de teclado sob o X Window
|
|||
|
System. Normalmente esse arquivo <20> instalado com o pacote que
|
|||
|
cont<6E>m as bibliotecas de desenvolvimento de aplica<63><61>es para X.
|
|||
|
|
|||
|
|
|||
|
|