Linux Portuguese-HOWTO Configuraes do Linux para a Lngua Portuguesa Carlos A. M. dos Santos CPMet/UFPEL -- Pelotas, RS, Brasil v3.2, 24 May 1999 Este documento pretende ser um guia de referncia de configurao do LLiinnuuxx e seus programas, teclados e fontes de caracteres, permitindo sua utilizao mais confortvel por pessoas que falem a Lngua Portuguesa. ______________________________________________________________________ Table of Contents 1. Introduo 1.1 Finalidades deste HOWTO 1.2 Onde encontrar a verso mais atual 1.3 Pgina oficial na WWW 1.4 Como enviar colaboraes 2. Informaes gerais 2.1 Conjuntos de caracteres 2.2 Modo texto versus Sistema de Janelas X 3. Configurao do console (modo texto) 3.1 Mapas de teclado 3.2 Mapas de traduo 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 funes libc e aplicativos GNU 4.1 Configurando o suporte internacional 4.2 Problemas com a libc 5 5. Configurao do X 5.1 Configurao do xinit 5.2 Configurao do XDM 5.3 Compose 5.4 Locale 5.5 Gerao de mapas com o XKeyCaps 5.6 Contornando os limites do X 5.6.1 Alterao da biblioteca Xlib 5.6.2 Alterao no kernel do Linux 5.6.3 Comparao entre as duas solues 6. Configurao dos vrios 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 Separao silbica 6.1.18.3 Uso de Font Encoding T1 6.1.18.4 Edio de documentos 6.1.18.5 Teste da configurao 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 eletrnico 7. Ficheiros necessrios 8. Informaes Adicionais 8.1 Fontes de informao sobre Linux em Portugus 8.2 Free Translation Project 8.3 LIE-BR 8.4 Verses de software testadas 9. Observaes finais 9.1 Futuras adies a este documento 9.2 Nota de Direitos de Autor 9.3 Garantia (inexistncia de) e nota de responsabilidade 9.4 Agradecimentos 10. Bibliografia comentada ______________________________________________________________________ 11.. IInnttrroodduuoo semelhana de outras lnguas faladas na Europa, a Lngua Portuguesa tem caractersticas especiais, como a utilizao de caracteres acentuados, que tornam o seu suporte difcil, pouco intuitivo ou at mesmo impossvel, por parte do software utilizado nos nossos computadores. Nossa lngua assume particularidades em cada um dos pases em que falada e mesmo dentro de um nico pas como o Brasil, de dimenses continentais e com influncias culturais de muitos outros povos. Este documento foi originalmente escrito por um portugus, mas agora mantido por um brasileiro. H uma mistura de sotaques que deve se manter por um bom tempo, pois no h razo para alterar o texto original seno para fazer de adies e correes, at por respeito ao primeiro autor. Termos ``estrangeiros'' desnecessrios foram substitudos por correspondentes da Lngua Portuguesa, preservando-se apenas os que j fazem parte do jargo da informtica. 11..11.. FFiinnaalliiddaaddeess ddeessttee HHOOWWTTOO Este HOWTO um guia de referncia de configurao do sistema operativo Linux e seus programas, teclados e fontes de caracteres, permitindo sua utilizao mais confortvel por pessoas que falem a Lngua Portuguesa. Como os programas mais antigos no foram desenhados com suporte a caracteres acentuados ou internacionalizao, s vezes preciso usar algum artifcio que permita contornar o problema, mas o resultado nem sempre totalmente satisfatrio e em alguns casos chega ser frustrante. As dificuldades encontradas centram-se essencialmente em torno de quatro pontos: +o a introduo de caracteres acentuados atravs do teclado, como seja a escrita de jo~ao em vez da sua forma correcta: joo; +o a exibio dos mesmos na tela do computador. O suporte resume-se normalmente correcta localizao das teclas, nada mais; +o o correto tratamento de convenes nacionais de formato de datas, horas e valores monetrios; +o a exibio de mensagens, ttulos e demais informaes dos programas em outra lngua que no o Ingls, que a lngua original da maioria desses programas. Verses anteriores do Portuguese HOWTO concentravam-se em contornar as duas primeiras dificuldades mencionadas, de forma a fazer que, dentro do possvel, tanto o sistema operativo como os programas nele utilizados aceitassem os caracteres acentuados e usassem os teclados com suporte para o Portugus. Embora esse objetivo ainda seja perseguido, os problemas de teclado e caracteres j tm solues satisfatrias, pelo menos para as aplicaes mais usadas. As prximas verses devero se dedicar mais aos dois ltimos problemas. O texto contm uma j no to breve discusso sobre o tratamento do teclado e das fontes de caracteres do console pelo Linux, bem como do suporte a vrias lnguas nacionais. O Sistema de Janelas X tambm discutido, fazendo-se uma comparao entre ele e o modo de texto. Por fim, so fornecidas instrues para a configurao do sistema operativo e de diversos aplicativos importantes. O documento tem se tornado menos _s_l_a_c_k_w_a_r_i_a_n_o, incluindo cada vez mais informaes relativas a outras distribuies. Slackware e Caldera ainda se baseiam na verso 5 da biblioteca de funes do sistema para Linux (_l_i_b_c), enquanto Debian, Red Hat, TurboLinux, S.u.S.E e Stampede j suportam a verso 6 (que na verdade a glibc verso 2). Esta nova verso da biblioteca est um passo adiante no suporte a internacionalizao e localizao. A partir da verso 3.2 do Portuguese-HOWTO as particularidades de cada distribuio sero destacadas quando houver necessidade. A tentativa de tornar Debian uma distribuio ``de referncia'' a partir da verso 3.0 do HOWTO fracassou miseravelmente porque o nmero de diferenas entre as distribuies muito grande. A inteno original de no tentar concentrar toda a informao em um nico texto, tratando apenas de alguns temas essenciais e fornecendo referncias para outras fontes, tambm fracassou. O HOWTO em sua verso 3.1 j alcanava 38 pginas impressas em formato A4, o que est longe de poder ser chamado de sucinto. As principais razes para tal gigantismo so a necessidade de discutir diferenas entre as distribuies e a necessidade de fornecer informaes mais detalhadas sobre aplicativos. Excetuando-se aspectos muito especficos do Linux, como a configurao do modo texto e do _k_e_r_n_e_l, a maioria das informaes contidas neste documento pode ser aplicada a outros sistemas Unix. Exemplos so as configuraes do Sistema de Janelas X e de vrios aplicativos, que foram aplicadas em Solaris 2.{5,6,7} e Digital UNIX 3.2. Os mapas de teclado para terminais X e estaes de trabalho Sun foram criados e so usados em mquinas que rodam Solaris. O documento poder um dia se tornar o ``Unix Portuguese HOWTO'', embora no momento no se tenha inteno ou meios de faz-lo. 11..22.. OOnnddee eennccoonnttrraarr aa vveerrssoo mmaaiiss aattuuaall Os Linux HOWTO fazem parte do Projeto de Documentao Linux (Linux Documentation Project -- LDP). Os documentos do LDP so mantidos em servidores da Universidade da Carolina do Norte (UNC) e do Instituto de Tecnologia de Massachusetts (MIT), nos Estados Unidos da Amrica, e podem ser obtidos via FTP annimo nos seguintes endereos: +o (conhecida anteriormente como sunsite.unc.edu). +o Pode-se tambm folhear os documentos HOWTO em formato HTML no endereo +o Muitas localidades mantm cpias desses documentos. Deve-se dar preferncia ao acesso cpia mais prxima, para economizar o precioso trfego internacional na Internet e tambm evitar a sobrecarga da mquina metalab.unc.edu. Uma lista completa dessas localidades pode ser obtida em +o Eis uma lista dos endereos recomendados: Brasil +o +o +o +o +o Portugal +o +o +o +o +o +o +o +o Os Linux HOWTO esto disponveis em diversos formatos: texto simples, PostScript, DVI, HTML, RTF e Lyx. O formato original SGML e os demais so gerados usando o SGMLtools (maiores informaes em ). 11..33.. PPggiinnaa ooffiicciiaall nnaa WWWWWW A pgina oficial do Linux Portuguese-HOWTO, assim como os diversos arquivos de configurao do sistema e programas aplicativos mencionados no texto, podem ser encontrados nos seguintes endereos: +o Brasil: +o Portugal: 11..44.. CCoommoo eennvviiaarr ccoollaabboorraaeess Toda a formatao deste HOWTO, incluindo a numerao das sees feita pelo SGMLtools. Por isso, ao enviar sugestes ou correes, mencione ooss ttttuullooss ddaass sseeeess onde as alteraes sugeridas devem ocorrer e no os nmeros. Nunca refira-se a um pargrafo como sendo ``o terceiro da seo 3.1''; cite as palavras inicias do trecho a ser modificado. Envie sugestes e correes via correio eletrnico em texto simples, opcionalmente com acentuao no cdigo ISO-8859-1. Se o texto no for composto em um sistema *NIX, certifique-se de usar a codificao correta. Todas as mensagens recebidas sero lidas, mas nem todas recebero resposta direta, devido falta de tempo para tanto. No envie documentos no formato proprietrio 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 vdeo ou rede no sero respondidas. Para esse tipo de consulta aconselhvel procurar uma lista de discusso sobre Linux em Portugus ou acompanhar os grupos de discusso de Linux na USENET comp.os.linux.*. ``Flames'' tero o destino costumeiro: /dev/null. 22.. IInnffoorrmmaaeess ggeerraaiiss 22..11.. CCoonnjjuunnttooss ddee ccaarraacctteerreess Um conjunto de caracteres definido de acordo com os smbolos constantes no alfabeto utilizado para escrita em uma ou mais lnguas. A Organizao Internacional de Normas (_I_n_t_e_r_n_a_t_i_o_n_a_l _S_t_a_n_d_a_r_d_s _O_r_g_a_n_i_z_a_t_i_o_n - ISO) padronizou atravs da norma ISO-8859 vrios 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 cdigos zero a 127 correspondem ao conjunto ASCII (_A_m_e_r_i_c_a_n _S_t_a_n_d_a_r_d _C_o_d_e _f_o_r _I_n_f_o_r_m_a_t_i_o_n _I_n_t_e_r_c_h_a_n_g_e) e os cdigos 160 a 255 so usados para caracteres nacionais. Para a lngua portuguesa, recomenda-se o uso do conjunto ISO-8859-1, que compreende o alfabeto latino e letras acentuadas usadas pelas lnguas do oeste da Europa e Amrica. Este conjunto de caracteres tambm frequentemente chamado de Latin-1 ou ISO Latin-1. Um padro mais recente o Unicode, definido pela norma ISO-10646, que permite definir caracteres cuja representao interna no computador utiliza mais de um byte (ou _o_c_t_e_t_o na nomenclatura ISO). Todas as verses mais recentes de sistemas Unix suportam Unicode (ou pelo menos seus fabricantes alegam suportar). Alm dos caracteres alfanumricos e sinais de acentuao, possvel tambm gerar sinais _s_e_m_i_g_r_f_i_c_o_s para desenho de linhas e bordas. Esses sinais podem aproveitar cdigos no utilizados pelo conjunto oficial, tornando-os no portveis. O LLiinnuuxx foi desenhado internamente de modo a facilitar a sua fcil configurao e extenso em tempo de execuo, no constituindo o tratamento do teclado e fontes de caracteres excepo. Ele possui uma implementao ``nvel 1'' do padro 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 _m_a_n est configurado correta- mente, conforme mostrado na seo ``Man, groff, troff''. 22..22.. MMooddoo tteexxttoo vveerrssuuss SSiisstteemmaa ddee JJaanneellaass XX Alguns sistemas operativos, tais como MacOS, Microsoft Windows e NeXT, possuem interfaces grficas prprias. No Linux, assim como na maioria dos sistemas compatveis com Unix, de uso corrente um ambiente grfico criado para ser ``multiplataforma'': o X Window System, que tambm foi projetado para suportar diversos conjuntos de caracteres, idiomas e formatos de teclado, mas ainda nnoo suporta totalmente o padro Unicode e sim uma extenso do ISO-8859. A rigor o X Window System nnoo uma interface grfica com o usurio, mas a combinao de um protocolo de comunicao com uma interface com programas aplicativos (API) _s_o_b_r_e _a _q_u_a_l se construram vrias interfaces grficas. Tanto o protocolo quanto o Sistema de Janelas definem um conjunto de _m_e_c_a_n_i_s_- _m_o_s e no _p_o_l_t_i_c_a_s (elementos caractersticos da poltica de uma Interface Grfica com o Usurio so menus, botes e caixas de dilogo). O uso do termo ``XWindows'' incorreto e deve ser evitado, dando-se preferncia ao nome genrico ``X''. Existem muitas semelhanas entre os dois ambientes. Ambos se baseiam em padres internacionais para definio de conjuntos de caracteres. Tanto no X quanto no console do Linux pode-se definir uma tecla chamada _C_o_m_p_o_s_e cujo pressionamento seguido de duas outras gerar o caracter correspondente. Assim sendo, o pressionamento da seqncia ccoommppoossee--,,--cc gerar um c cedilhado. O tratamento do console feito diretamente pelo sistema operativo e aplicaes comuns no se envolvem com o processamento dos cdigos de varredura do teclado, recebendo um caracter ou uma seqncia 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 -- so controlados por uma aplicao especial chamada _s_e_r_v_i_d_o_r _X. O pressionamento de uma tecla gera uma mensagem (chamada de _e_v_e_n_t_o) que passada pelo servidor X aplicao _c_l_i_e_n_t_e. H um programa muito til chamado _x_e_v que permite observar cada evento a ele transmitido. Cliente e servidor se comunicam via rede usando um conjunto de regras chamado _p_r_o_t_o_c_o_l_o _X e podem rodar em mquinas diferentes. A mquina onde roda o servidor chamada _e_s_t_a_o _d_e _t_r_a_b_a_l_h_o ou _t_e_r_m_i_n_a_l _X e a mquina onde roda a aplicao (programa cliente) tambm chamada de _c_l_i_e_n_t_e. Foge ao escopo deste texto a discusso mais profunda do tratamento de eventos no X. Para maiores informaes, sugere-se a consulta aos documentos mencionados na seo ``Leituras recomendadas'', mas importante esclarecer que o evento enviado pelo servidor ao cliente no contm o cdigo numrico da tecla, chamado _k_e_y_c_o_d_e na terminologia do X. Ao invs disso, enviado um smbolo, chamado _k_e_y_s_y_m_b_o_l ou _k_e_y_s_y_m, obtido pela consulta a uma tabela de converso mantida na memria do servidor. Esta tabela pode ser modificada total ou parcialmente a qualquer momento por meio de requisies definidas no protocolo X. Existe um programa chamado _x_m_o_d_m_a_p capaz de ler um arquivo contendo uma tabela de converso _k_e_y_c_o_d_e-->_k_e_y_s_y_m e envi-la, tambm na forma de mensagens no protocolo X, ao servidor. responsabilidade do cliente e no do servidor interpretar o _k_e_y_s_y_m, o que significa que a aplicao deve saber esperar mais um caracter ao receber uma ``tecla morta'' para compor uma letra acentuada. Desde a reviso 5 do X existe na bibliotaca de funes (_X_l_i_b) um mecanismo sofisticado de suporte gerao de caracteres em diversos cdigos. A funo de tratamento de entrada de texto que j existia nas verses anteriores, chamada XXLLooookkuuppSSttrriinngg, entretanto, no processa as seqncias de acentos e letras de modo transparente s aplicaes. Ao invs disso foi includo um mtodo de composio usando _c_o_n_t_e_x_t_o_s _d_e _e_n_t_r_a_d_a (_i_n_p_u_t _c_o_n_t_e_x_t_s) por meio das funes XXmmbbLLooookkuuppSSttrriinngg e XXwwccLLooookkuuppSSttrriinngg, cujo uso responsabilidade da aplicao -- ou do seu programador, melhor dizendo -- mesmo no caso da tecla _C_o_m_p_o_s_e. Isto deve-se so fato de o _X _C_o_n_s_o_r_t_i_u_m ter chegado concluso de que o sistema de mapeamento de teclas no tratava de forma satisfatria toda a imensa variedade de lnguas escritas nas vrias partes do mundo. Deste modo, decidiu-se que o ``peso'' relativo gesto do teclado fosse transferido para as aplicaes X, o que cria uma dificuldade quando usamos aquelas mais antigas, que no usam o novo mtodo de tratar a entrada. Por essas razes normalmente mais difcil conseguir acrescentar suporte gerao de caracteres acentuados em aplicativos que rodam sob o X, principalmente quando no se possui o cdigo fonte. Aplicativos feitos para rodar apenas em modo texto, tais como vvii e mmiinniiccoomm dependero totalmente dos recursos do emulador de terminal em uso quando rodando em uma janela do X. Se for usada uma verso atual do _x_t_e_r_m ou _r_x_v_t o emulador far o tratamento correto dos acentos. O francs Thomas Quinot, cansado de esperar uma soluo melhor para o problema da acentuao no X, resolveu implementar uma modificao para a Xlib proposta por Andr D. Balsa, que adiciona suporte acentuao direta conforme mostrado na seo ``Contornando os limites do X''. Isso permite usar aplicaes como _x_f_i_g ou _x_e_d_i_t sem que seja necessrio alter-las. O truque parece funcionar apenas para caracteres do cdigo ISO-8859-1 mas suficiente para o Portugus e outras lnguas. Como bem observa Balsa, a longo prazo todos os programas devero ser modificados para usar os novos recursos do X, mas como a longo prazo estaremos todos mortos a soluo de curto prazo de Quinot torna-se bastante atraente... 33.. CCoonnffiigguurraaoo ddoo ccoonnssoollee ((mmooddoo tteexxttoo)) O documento de referncia sobre a configurao do console do Linux o Keyboard and Console HOWTO, de Andries Brouwer, que pode ser encontrado nos repositrios do LDP. Conforme l descrito, a configurao da fonte de caracteres e mapa de teclado feita usando o pacote KBD, encontrado em todas as distribuies de Linux. 33..11.. MMaappaass ddee tteeccllaaddoo Cada tecla do PC possui um cdigo numrico. Ao pressionarmos uma delas o processador controlador do teclado envia ao computador esse cdigo _d_e _v_a_r_r_e_d_u_r_a, tambm conhecido como _s_c_a_n_c_o_d_e, junto com um sinal de que a tecla foi pressionada ou solta. As seqncias de eventos so ento processadas pelo _d_r_i_v_e_r de teclado e armazenadas em uma fila de caracteres que lida pelas aplicaes por meio da chamada de funes do sistema operativo. Um mapa de teclado um arquivo de texto que estabelace as correspondncias entre o _s_c_a_n_c_o_d_e de tecla e o caracter (ou seqncia de caracteres) a gerar quando ela for pressionada, chamado _k_e_y_c_o_d_e. Por exemplo: # atribuio da tecla '-' do teclado numrico tecla com cdigo 74 keycode 74 = KP_Subtract # atribuio da tecla '4' do teclado numrico tecla com cdigo 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 Alm das teclas alfabticas, numricas e de smbolos, existem outras chamadas _m_o_d_i_f_i_c_a_d_o_r_a_s que permitem gerar cdigos que no correspondem a nenhum sinal grfico: _S_h_i_f_t _C_o_n_t_r_o_l _A_l_t e _M_e_t_a. Esta ltima normalmente no encontrada em teclados de PCs, apenas em estaes de trabalho de fabricantes como Sun, SGI, HP e Digital (eles no gostam de ser chamados de ``DEC''). O editor de texto Emacs usa muito a tecla _M_e_t_a. O arquivo de mapa permite tambm especificar teclas especiais chamadas ``teclas mortas'' (_d_e_a_d_k_e_y_s). Quando pressionadas elas no 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 aa, seja gerado um `'. 33..22.. MMaappaass ddee ttrraadduuoo ddee tteellaa Um mapa de traduo de tela permite especificar qual o caracter X a ser exibido na tela, quando um programa deseja exibir um caracter Y. Desta forma, poderamos fazer com que ao escrever o caracter com o cdigo do c-cedilhado na tela, fosse na realidade exibido um outro caracter de cdigo diferente mas cuja _i_m_a_g_e_m na nossa fonte de caracteres correspondesse imagem de um c-cedilhado. Este mapeamento necessrio apenas quando queremos usar uma fonte cujos caracteres no possuem cdigos diretamente correspondentes aos do conjunto usado no mapa de teclado. 33..33.. CCoommaannddooss ddoo ppaaccoottee KKBBDD LLooaaddkkeeyyss 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 SSeettffoonntt Permite o carregamento de uma fonte de caracteres de tela, possibilitando a alterao das fontes utilizadas em modo de texto. O comando a seguir, por exemplo, ir carregar uma fonte com o conjunto Latin-1: setfont lat1u-16.psf SShhoowwffoonntt mostra todos os caracteres existentes na fonte que est atualmente em uso no console. O X tambm tem um comanto chamado showfont, que serve para mostrar as caractersticas de uma determinada fonte, mas no os caracteres em si. Para esta ltima finalidade se usa o comando _x_f_d. Se o programa showfont do pacote KBD for invocado em um emulador de terminal X, como _x_t_e_r_m, ele gerar um erro ``GIO_SCRNMAP: Invalid argument'', mas no provocar nenhum dano. MMaappssccrr Permite carregar um mapa de traduo de tela. Suponhamos que exista o arquivo /etc/portugal.trad. Se executarmos o comando mapscrn /etc/portugal.trad ento a partir deste momento as tradues l definidas sero usadas. LLooaadduunniimmaapp Carrega um mapa de traduo de Unicode para a fonte de tela. O mapa padro, chamado ``def.uni'' considera que estamos usando a fonte normal do IBM-PC. Este comando nnoo necessrio quando usamos uma fonte com caracteres definidos no padro Unicode, pois o programa setfont carrega automaticamente a tabela de mapeamento adequada. O comando a seguir carregar o mapa de traduo para as fontes latin-1: loadunimap lat1 33..44.. CCaarrrreeggaammeennttoo ddee uummaa ffoonnttee ddee ccaarraacctteerreess O pacote KBD contm dois tipos de fontes com codificao latin-1: +o as que j possuem uma tabela de mapeamento unicode, carregada automaticamente pelo programa setfont. Estas fontes tm nomes lat1u-*.psf; +o as que no possuem tabela de mapeamento. Neste caso preciso carregar uma com o programa loadunimap. Estas tm nomes lat1-*.psf (o ``u'' indica Unicode). Nas verses mais novas do KBD os arquivos so comprimidos com gzip. preciso carregar uma fonte que tenha os caractres latinos acentuados no padro ISO 8859-1 e _t_a_m_b_m os smbolos semigrficos. As fontes de nome iso01.* no possuem esses smbolos. A fonte mais recomendada a lat1u-16.psf. As verses mais antigas do pacote KBD mantinham essas fontes no diretrio /usr/lib/kbd/consolefonts, que foi trocado depois da verso 0.92 por /usr/share/consolefonts. Dependendo da sua distribuio e do quanto ela esteja atualizada o diretrio poder ser um ou outro. 33..44..11.. SSllaacckkwwaarree 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 totalmente desnecessrio # com a fonte lat1u-16.psf. # loadunimap lat1u # Remova o comentrio da linha abaixo se estiver usando uma fonte sem # tabela de mapeamento de Unicode para tela: # loadunimap lat1 33..44..22.. DDeebbiiaann Edite o arquivo /etc/kbd/config e coloque uma linha contendo CONSOLE_FONT=lat1u-16.psf esse arquivo processado pelo script /etc/rc.boot/kbd. Execute-o para ativar a nova fonte sem ter que dar ``reboot''. Lembre-se sempre: Linux nnoo Windows! 33..44..33.. RReedd HHaatt Edite o arquivo /etc/sysconfig/i18n e veja se contm o seguinte: LANG=pt_BR LINGUAS=pt_BR LC_CTYPE=ISO-8859-1 LC_ALL=pt_BR SYSFONT=lat1u-16 SYSTERM=linux-lat 33..44..44.. CCoonneeccttiivvaa RReedd HHaatt LLiinnuuxx Se voc selecionar a lngua correta durante a instalao no h nada mais a fazer. A configurao feita extatamente como do Red Hat. 33..44..55.. SS..uu..SS..EE.. Edite o arquivo /etc/rc.config e procure uma linha que comea com ``FONT='' (linha 64, em minha mquina com S.u.S.E. vero 5.6) e coloque FONT=lat1u-16.psf Edite os scripts boot.setup e single contidos no diretrio /etc/rc.d. Procure a linha contendo o comando /usr/bin/loadunimap e remova-a ou ponha no seu incio um ``#'' para deix-la como comentrio. Veja comentrios sobre este comando na seo ``Carregamento de uma fonte de caracteres''. 33..44..66.. TTeessttaannddoo aa ffoonnttee Experimente algumas teclas como ``,.|!"#$%&/()=?'', etc. e use o comando showfont para mostrar a fonte em uso. 33..55.. CCaarrrreeggaannddoo uumm mmaappaa ddee tteeccllaaddoo A seguir necessrio carregar o mapa de teclado adequado. At a verso 0.92 do pacote KBD esses mapas ficavam no diretrio /usr/lib/kbd/keytables passando mais tarde para /usr/share/keytables. Dependendo da distribuio voc ter um diretrio ou outro. Os mapas para diversos tipos de teclados so apresentados mais adiante. 33..55..11.. SSllaacckkwwaarree.. 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 disponveis no diretrio # /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 33..55..22.. DDeebbiiaann.. Certifique-se de ter instalado o pacote _k_b_d e depois faa o seguinte: +o copie os arquivos com os mapas de teclado fornecidos (veja a seo ``Ficheiros necessrios'') para o diretrio /usr/share/keytables/. No necessrio descomprimi-los; +o copie o mapa correspondente ao seu teclado para o arquivo /etc/kbd/default.map.gz. +o rode o script /etc/init.d/keymaps.sh. 33..55..33.. RReedd HHaatt.. Certifique-se de ter instalado o pacote _k_b_d. Copie os arquivos com os mapas de teclado fornecidos (veja a seo ``Ficheiros necessrios'') para o diretrio /usr/lib/kbd/keytables/ (ou /usr/lib/kbd/keymaps/i386/qwerty/, a pertir do Red Hat 5.2). No necessrio descomprimi-los. Edite o arquivo /etc/sysconfig/keyboard e coloque o nome do mapa a usar na varivel KEYTABLE, como por exemplo KEYTABLE="abnt2" 33..55..44.. CCoonneeccttiivvaa RReedd HHaatt LLiinnuuxx.. O CRHL j vem com os mapas de teclado para Portugus. Se voc selecionou o teclado correto durante a instalao, no h mais nada a fazer. Caso contrrio, edite o arquivo /etc/sysconfig/keyboard e coloque KEYTABLE="nome" Onde ``nome'' _b_r_-_a_b_n_t_2, _p_t ou _u_s_-_a_c_e_n_t_o_s caso o desenho do seu teclado seja ABNT-2, portugus ou americano. 33..55..55.. SS..uu..SS..EE.... Certifique-se de ter instalado o pacote _k_b_d. Copie os arquivos com os mapas de teclado fornecidos (veja a seo ``Ficheiros necessrios'') para o diretrio /usr/lib/kbd/keytables/. No necessrio 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 33..55..66.. TTeessttaannddoo oo tteeccllaaddoo Experimente pressionar a tecla cc--cceeddiillhhaaddoo (se o teclado no tem esta tecla, digite 'c). Verifique se todas as letras acentuadas, maisculas e minsculas so 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 operaes foi mal sucedida. Se ao invs de c-cedilha minsculo aparecer um maisculo provvel que uma tabela de mapeamento Unicode incorreta esteja a ser carregada. Este problema ocorrer na distribuio S.u.S.E. se no se fizerem as alteraes nos scripts do sistema mencionadas anteriormente. 33..66.. VVeerriiffiiccaannddoo eerrrrooss Mas, e se alguns dos caracteres continuarem a no aparecer? Bem, antes de mais nada verifique se a fonte e o mapa de teclado adequados foram carregados. Um caso especial quando queremos usar uma fonte que no segue a codificao ISO Latin-1 ( o caso da fonte padro do console do PC). Teramos ento de _c_o_n_v_e_n_c_e_r a tela a mostrar os caracteres certos em cada caso. Poderamos recorrer ao comando _m_a_p_s_c_r_n. O arquivo com a tabela de traduo teria no entanto de ser criado por ns, seguindo um processo moroso de tentativa e erro at encontrar o caracter cuja imagem desejvamos. Ou, de uma forma mais fcil, poderamos usar o comando _s_h_o_w_f_o_n_t. Se usarmos a fonte de caracteres correta, o uso deste ltimo comando ser desnecessrio. at recomendvel que no se use tal recurso, pois embora ele permita criar uma tabela de caracteres ``personalizada'' em um computador, ser difcil que um documento acentuado produzido nessa mquina possa ser lido em outra que no tenha a mesma configurao. 44.. BBiibblliiootteeccaa ddee ffuunneess lliibbcc ee aapplliiccaattiivvooss GGNNUU A biblioteca padro de funes do Linux suporta Internacionalizao e Localizao segundo o padro POSIX (Portable Operating System Interface). Trata-se de uma norma estabelecida pelo IEEE (Institute of Electrical and Electronics Engineers) para intercomunicao entre diferentes sistemas operativos. Existe tambm um padro estabelecido pelo ANSI (American National Standards Institute) para a linguagem de programao C que permite escrever programas com suporte internacional. 44..11.. CCoonnffiigguurraannddoo oo ssuuppoorrttee iinntteerrnnaacciioonnaall Resumidamente, podemos dizer que as funes que tratam informaes dependentes da lngua ou do pas podem ter seu comportamento modificado, bastando para tanto estabelecer algumas variveis de ambiente. E que funes so essas? Podemos citar as de formatao de datas, valores monetrios e mensagens de erro do sistema. Se voc no sabe o que uma varivel de ambiente, sugiro que leia o manual com o comando man environ O padro POSIX permite usar diversas variveis de configurao, cada uma delas definindo o tratamento dado a um tipo de informao, a saber LLCC__CCOOLLLLAATTEE Define regras para comparao entre caracteres no alfabeto local. Por exemplo, a letra `' deve ser tratada como idntica ao `a' no Portugus quando ordenamos alfabeticamente. LLCC__CCTTYYPPEE Define regras para comparao entre caracteres maisculos e minsculos. Se estivermos trabalhando com o cdigo ASCII, sabemos que o cdigo numrico de uma letra minscula 32 a mais do que a maiscula correspondente, mas para uma letra acentuada esta regra no vlida! LLCC__MMOONNEETTAARRYY Muda o comportamento das funes de formatao de valores monetrios e permite descobrir, por exemplo, o smbolo da moeda local, ou se usa ponto ou vrgula como separador de milhares e de casas decimais. LLCC__MMEESSSSAAGGEESS Estabelece a lngua em que as mensagens sero apresentadas e como uma resposta afirmativa ou negativa (S/N). LLCC__NNUUMMEERRIICC Estabelece o comportamento das funes de leitura/escrita de valores numricos permitindo, por exemplo que usemos a vrgula decimal. LLCC__TTIIMMEE Define a formatao de datas e horas. LLCC__AALLLL Define de uma s vez todas as categorias. Se usarmos LC_ALL, no precisaremos definir nenhuma das outras, a no ser que queiramos um comportamento diferente para aquele tem especfico. LLAANNGG Define de uma s vez todas as categorias, se LC_ALL no estiver definida. Tambm usada pelo comando man para compor os caminhos pelos quais ele procurar as pginas do manual. Veja as observaes a respeito desta varivel nas sees ``Locale'', ``Locale'' e ``Locale''. Maiores informaes podem ser obtidas no manual do sistema com o comando man 7 locale O `7' no comando anterior necessrio para evitar confuso com uma funo homnima da linguagem Perl. Note que as configuraes acima afetam, em princpio, apenas as funes disponveis na biblioteca de funes da lin- guagem C. Na prtica, todos os programas que rodam em Linux usam aquela biblioteca, mas o sistema operativo no prov, catlogos de mensagens em diversas lnguas para todos os programas. A identificao da lngua e do local feita por dois cdigos de duas letras, separados por um sinal ``_''. Se omitirmos o cdigo de pas, assume-se o pas padro para a lngua informada, mas deve haver um catlogo correspondente. Deste modo, o cdigo ``pt_PT'' significa Portugus de Portugal, enquanto ``pt_BR'' significa Portugus do Brasil. Escolher uma combinao lngua/local basta ento colocar em seu arquivo /etc/profile uma linha contendo LC_ALL="pt_PT" export LC_ALL Usurios brasileiros devem usar ``pt_BR'' ao invs de ``pt_PT''. Teste o resultado com os comandos a seguir (/inexistente o nome de um arquivo que nnoo existe): echo | tr '[:upper:]' '[:lower:]' tar tf /inexistente ls -l / date cal 1 1999 O resultado do primeiro dever ser ``''. Os comandos tar e ls devem retornar mensagens em Portugus e cal deve mostrar um calendrio de janeiro de 1999, com _d_o _s_e _t_e _q_u _q_u _s_e _s no cabealho dos dias da sem- ana. Na distribuio Debian, certifique-se de ter instalado o pacote ``locales'', que pertence ao grupo ``admin''. O nome do arquivo que contm o pacote (na verso 2.0 da distribuio) locales_2.0.7t-1.deb e em meu CD est no diretrio debian/main/binary-i386/admin. 44..22.. PPrroobblleemmaass ccoomm aa lliibbcc 55 At meados de 1997 todas as distribuies de Linux usavam a mesma biblioteca _l_i_b_c, que estava na verso 5, desenvolvida a partir de uma verso mais antiga da libc do projeto GNU. Esta biblioteca possuia suporte muito limitado internacionalizao e normalmente nenhum dos catlogos de locais era includo na distribuio, ficando o ingls como lngua padro. A verso 6 da libc do Linux baseia-se na verso 2 da libc do projeto GNU. O suporte internacionalizao foi muito melhorado, alm de incluir outros atributos que no interessam para os fins deste HOWTO. Se sua distribuio for a Debian verso 2, Red Hat verso 5 ou qualquer outra que use a nova libc, ento no h mais nada a fazer alm do descrito na seo anterior. Mas se voc usa uma distribuio ainda baseada na libc 5 (Slackware, Caldera 1.x ou uma verso mais antiga de Debian ou Red Hat) preciso instalar a coleo de locais. No tente copiar a coleo de uma distribuio mais recente, pois os formatos dos arquivos so incompatveis. Pegue na pgina do Portuguese HOWTO o arquivo locales-pt.tgz. Para instal-lo na distribuio Slackware, basta (como usurio rroooott) usar o comando installpkg locales-pt.tgz e para outras distribuies use o comando tar xzf locales-pt.tgz -C / Verifique se h dois subdiretrios do /usr/share/locale chamados pt_BR e pt_PT. Basta ento configurar a varivel de ambiente LC_ALL, como j descrito. 55.. CCoonnffiigguurraaoo ddoo XX Quando o servidor X est ativo, ele coloca o teclado do computador em um modo de operao chamado _r_a_w (cru), em oposio ao modo normal, chamado _c_o_o_k_e_d (isto mesmo: cozido). No modo raw o sistema operativo no processa seqncias acento-letra. O servidor X uma daquelas raras aplicaes que, por dever de ofcio, tem que tratar o teclado ``em baixo nvel''. O X vem equipado com um utilitrio destinado configurao do teclado, chamado _x_m_o_d_m_a_p, que cumpre uma funo correspondente do comando _l_o_a_d_k_e_y_s, ou seja, l um arquivo de mapa de teclado do X, expecificando as equivalncias entre os _k_e_y_c_o_d_e_s e respectivos _k_e_y_s_y_m_b_o_l_s. 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 contrrio do loadkeys, o xmodmap no possui um diretrio padro onde o arquivo procurado. A configurao do X no interfere de forma alguma com a configurao do modo de texto. De facto, possvel ter o seu X bem configurado, e no entanto no ter realizado qualquer tipo de configurao ao modo de texto, e vice-versa. Outro ponto importante de se observar que os cdigos numricos das teclas no X no correspondem aos do console. A tecla BBaacckkssppaaccee, por exemplo, tem o nmero 14 no console, e 22 no X (em um computador do tipo IBM-PC). As verses 3.2 e posteriores do XFree86 permitam definir _d_e_a_d_-_k_e_y_s, mas o seu tratamento responsabilidade da aplicao, conforme visto na seo ``Modo texto versus Sistema de Janelas X''. H modos de contornar esta limitao e tornar o tratamento de _d_e_a_d_-_k_e_y_s transparente s aplicaes, conforme mostrado na seo ``Contornando os limites do X''. Dividimos a configurao em duas partes: Uma que deve ser feita antes do _l_o_g_i_n do usurio e outra depois. 55..11.. CCoonnffiigguurraaoo ddoo xxiinniitt Junto com este documento so fornecidos vrios mapas de teclado para uso no X. Para automatizar o processo de configurao do teclado basta copiar o arquivo adequado para o diretrio /usr/X11R6/lib/X11/xinit, onde normalmente ficam os arquivos de incio da seo de trabalho no X. Na distribuio Slackware esse diretrio um link simblico para /var/X11R6/lib/xinit e na Debian e na Red Hat para /etc/X11/xinit. Nas distribuies Slackware e Red Hat, verifique se no referido diretrio existe um arquivo chamado .Xmodmap. Se existir, copie o Xmodmap. para ele, ou faa um link. Normalmente o arquivo de configurao xinitrc possui os comandos para carreg-lo automaticamente. Veja o seguinte trecho: #!/bin/sh # $XConsortium: xinitrc.cpp,v 1.4 91/08/22 11:41:34 rws Exp $ userresources=$HOME/.Xresources usermodmap=$HOME/.Xmodmap sysresources=/usr/X11R6/lib/X11/xinit/.Xresources sysmodmap=/usr/X11R6/lib/X11/xinit/.Xmodmap # merge in defaults and keymaps if [ -f $sysresources ]; then xrdb -merge $sysresources fi if [ -f $sysmodmap ]; then xmodmap $sysmodmap fi Na distribuio Debian o mapa de teclado padro do X /etc/X11/Xmodmap, basta copiar o mapa desejado para aquele arquivo. Ele ser carregado pelo xinitrc, que por sua vez um link simblico para /etc/X11/Xsession, sempre que iniciar a seo de trabalho do usurio. 55..22.. CCoonnffiigguurraaoo ddoo XXDDMM Existe ainda um pequeno problema: no meu computador, por exemplo, o sistema carrega diretamente o X ao dar boot e o login feito pelo X Display Manager (xdm). Como o xdm faz o login aanntteess de iniciar a seo de trabalho, o mapa de teclado no ser carregado, o que pode criar problemas se o usurio usa caracteres como ``['' ou ``]'' em sua senha, pois nos teclados ABNT-2 e portugus esses smbolos so gerados por teclas cujos cdigos numricos no so os mesmos do teclado americano. preciso fazer uma pequena alterao no arquivo de configurao Xsetup_0. Esse arquivo deve estar no diretrio /usr/X11R6/lib/X11/xdm, que na Slackware um link simblico para /var/X11R6/lib/xdm e /etc/X11/xdm na Debian e -- sujeito a confirmao -- RedHat. Eis o contedo 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 distribuio 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 usurio tambm for feito sempre via xdm, no necessrio mexer no xinitrc, como mostrado na seo anterior, j que o mapa de teclado ser carregado antes do incio na seo do usurio. 55..33.. CCoommppoossee Uma das coisas mais importantes a definir quando vamos utilizar acentuao por meio de _d_e_a_d_-_k_e_y_s o conjunto de _r_e_g_r_a_s _d_e _c_o_m_p_o_s_i_o. Essas regras determinam, por exemplo que a composio do caracter '' com a letra ee gerar um . Ao contrrio do console, no qual podemos definir as regras de composio no prprio mapa de teclado, no X essas regras so colocadas no arquivo /usr/X11R6/lib/X11/locale/???/Compose, onde ??? a codificao em uso (no nosso caso, iso8859-1). Para facilitar o uso dos mapas para teclados que no tm o c-cedilhado, como o US+ (veja adiante) conveniente definirmos uma nova regra de composio, permitindo que o seja gerado pela seqncia 'C. Se no fizermos isso, seremos obrigados a digitar , sedo o _d_e_a_d___c_e_d_i_l_l_a produzido pela combinao AltGR-=, o que no nada confortvel. Alm disso, no teclado americano somos obrigados a usar as aspas duplas para gerar o trema. O arquivo Compose fornecido foi feito procurando imitar ao mximo o comportamento do console e possui as seguintes facilidades para gerao de caracteres: +o C-cedilha: tecla ou seqncia -C +o Apstrofo: tecla ' ou seqncias - e - +o Acento grave: seqncias - e - +o Aspas: tecla " ou seqncia - +o Trema: seqncia - +o Til: seqncias - e - +o Circumflexo: seqncias - e - Para incluirmos as novas regras, basta aplicar uma alterao definio original. O arquivo Compose.patch pode ser obtido via WWW na pgina do Portuguese HOWTO. Para aplicar a atualizao, copie-o para o diretrio /usr/X11R6/lib/X11/locale/iso8859-1/, faa uma cpia de reserva do Compose original e invoque o utilitrio _p_a_t_c_h: cp -p Compose Compose.backup patch < Compose.patch Caso voc prefira no aplicar o ``patch'', um arquivo Compose pronto tambm fornecido. Lembre-se de fazer cpia do original aanntteess de substitu-lo! 55..44.. LLooccaallee Para os usurios brasileiros, pode haver mais uma alterao a fazer no X. Conforme vimos na seo ``Biblioteca libc'', uma varivel de ambiente (LANG ou LC_ALL) configura o suporte internacional existente na biblioteca de funes padro do sistema (_l_i_b_c). A biblioteca de funes do X (_X_l_i_b) usa a varivel LANG para identificar a lngua em uso mas at a reviso 6.3, na qual baseado o XFree86, no era includa a combinao ``pt_BR'', correspondente a Portugus/Brasil. Como resultado, cada vez que executarmos um aplicativo X com LC_ALL definido como ``pt_BR'' ele emitir a mensagem ``Warning: locale not supported by Xlib, locale set to C''. Para incluir o local pt_BR no X11R6.3 basta alterar trs arquivos existentes no diretrio /usr/X11R6/lib/X11/locale. Pegue o arquivo Xlocale.patch via WWW na pgina do Portuguese HOWTO. Para aplicar a atualizao, copie-o para o diretrio /usr/X11R6/lib/X11/locale, faa uma cpia de reserva dos arquivos a serem alterados e invoque o utilitrio _p_a_t_c_h: cp -p compose.dir compose.dir.backup cp -p locale.alias locale.alias.backup cp -p locale.dir locale.dir.backup patch < Xlocale.patch Caso voc prefira no aplicar o ``patch'', arquivos prontos tambm so fornecidos. Lembre-se de fazer cpias dos originais aanntteess de substitu- los! Em setembro de 1998 o fix-2 da reviso 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 funes de tratamento de _i_n_p_u_t _c_o_n_t_e_x_t_s da Xlib que provoca violaes de acesso memria. Uma das aplicaes afetadas o processador de textos LyX. Uma correo provavelmente ser includa no fix-4. O X11R6.4 dever ser a base para a verso 4 do XFree86. 55..55.. GGeerraaoo ddee mmaappaass ccoomm oo XXKKeeyyCCaappss O programa XKeyCaps, criado por Jamie Zawinski uma interface grfica para o xmodmap, que mostra na tela o desenho de um teclado e permite modificar interativamente os smbolos gerados por cada tecla e gerar automaticamente o arquivo .Xmodmap correspondente. Ele pode ser obtido via WWW em e, a partir da verso 2.43, j incoropra tambm suporte para o desenho brasileiro (ABNT2), uma contribuio de Andre Gerhard. 55..66.. CCoonnttoorrnnaannddoo ooss lliimmiitteess ddoo XX Conforme foi explicado na seo ``Modo texto versus Sistema de Janelas X'', o tratamento de acentos deve ser feito pela aplicao, mas ainda h muitos programas que no levam isto em considerao, tais como Netscape Navigator/Communicator e Nedit. Como no possvel modificar muitos deles, preciso encontrar outro tipo de soluo. 55..66..11.. AAlltteerraaoo ddaa bbiibblliiootteeccaa XXlliibb Linux, assim como a maioria dos sistemas operacionais modernos, usa um sistema de vnculo de programas a bibliotecas de funes chamado ``ligao dinmica'' (_d_y_n_a_m_i_c _b_i_n_d_i_n_g). Deste modo, podemos modificar o comportamento de um programa alterando uma dessas bibliotecas. Maiores informaes 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 alterao para a biblioteca de funes do X (_X_l_i_b) introduzindo o tratamento de acentos na funo XXLLooookkuuppSSttrriinngg, Tudo que se tem a fazer substituir o arquivo contendo esta biblioteca por outro, que pode ser obtido via internet no endereo Existem duas verses do arquivo, uma para sistemas onde as bibliotecas do X suportam o uso seguro de _t_h_r_e_a_d_s (Debian 2.x, Red Hat 5.x, etc.) e outra para os sistemas que no possuem tal atributo (Slackware, Caldera 1.x). Se voc no sabe o que so threads no 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 _X_l_i_b rode o seguinte comando: nm --dynamic /usr/X11R6/lib/libXext.so.6|grep _Xglobal_lock Se aparecer ``U _Xglobal_lock'' seu sistema suporta threads e o arquivo a obter libX11-XF3.3.1-TS.tar.gz. Se no aparecer, seu sistema no suporta threads e o arquivo a obter libX11-XF3.3.1.tar.gz. Tendo obtido o arquivo, copie-o para um diretrio temporrio e extraia seu contedo. Mova o arquivo /usr/X11R6/libX11.so.6.1 para outro diretrio, para preserv-lo. No suficiente renome-lo! Remova-o para um diretrio cujo nome nnoo esteja contido no arquivo /etc/ld.so.conf. Depois, mova o novo arquivo para o lugar do antigo e rode o programa _l_d_c_o_n_f_i_g (isto deve ser feito pelo usurio rroooott): 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 aconselhvel que a operao seja realizada quando nenhuma aplicao X estiver rodando. A seguir, edite o arquivo de configurao do servidor X, chamado XF86Config. Este arquivo fica no diretrio /etc (Slackware) ou /etc/X11 (Debian, Red Hat). Procure a seo ``Keyboard'' e inclua a opo ``XkbDisable'', conforme mostrado a seguir: Section "Keyboard" Protocol "Standard" XkbDisable EndSection A opo XkbDisable inabilita a extenso XKEYBOARD do servidor X, o que neste caso serve para sinalizar funo XXLLooookkuuppSSttrriinngg que ela deve tratar os acentos. Se quisermos voltar ao comportamento normal, basta retirar a opo do XF86Config. Configure o mapa de teclado do X conforme explicado nas sees anteriores deste documento. Para testar o resultado, rode o programa _x_e_d_i_t e digite alguns caracteres acentuados. 55..66..22.. AAlltteerraaoo nnoo kkeerrnneell ddoo LLiinnuuxx Esta seo baseada em contribuio enviada por Bruno Barberi Gnecco e na documentao do diacrd. Podem haver ainda alguns erros e se algum 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 operao do teclado, chamados _r_a_w e _c_o_o_k_e_d. Estes modos de operao podem ser mudados com o programa kkbbdd__mmooddee, integrante do pacote kbd, o que no recomendvel fazer a no ser para restaurar o estado do console aps um desastre com o servidor X, por exemplo. No modo raw o kernel no processa os diacrticos (acentos). Cedric Adjih criou uma alterao para o kernel que permitia tratar os acentos mesmo em modo raw, inicialmente voltada para o teclado de desenho francs. Enas Queiroz, Andr D. Balsa e Claudemir Todo Bom fizeram melhorias e o adaptaram para os teclados internacional, portugus e ABNT. O tratemanto de acentos feito parte pelo kernel, parte por um processo que roda em retaguarda (_d_a_e_m_o_n) chamado ddiiaaccrrdd, conforme descrito a seguir: +o Uma modificao 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 _r_a_w. +o Os dados que o kernel grava no /dev/rawkbd so lidos pelo programa diacrd, que processa as seqncias acento-letra e reescreve no /dev/rawkbd os caracteres acentuados na forma de cdigos de varredura (_s_c_a_n_c_o_d_e_s) que normalmente no existem no teclado. +o O kernel l no /dev/rawkbd os cdigos gravados pelo diacrd e os passa aplicao, que no caso o servidor X. +o O servidor X mapeia os cdigos de varredura para caracteres. Um mapa de teclado especial permite ento gerar as letras acentuadas. O diacrd pode ser obtido via FTP annimo no endereo H verses diferentes, de acordo com o tipo de teclado e, pelo menos por enquanto, no se pode reconfigur-lo sem recompilar. Para fazer a insta- lao, de acordo com o arquivo ``README'', deve-se fazer o seguinte (pelo usurio rroooott): +o Obtenha o arquivo -.tar.gz correspondente a seu teclado. Extraia seu contedo, o que dever criar um diretrio chamado diacrd-. +o Edite o arquivo diacrd.c e remova os comentrios desejados, de acordo com suas preferncias. Pode-se incluir capacidade de rodar o programa xxmmooddmmaapp e ejetar o CD-ROM sob controle do pressionamento de uma combinao de teclas. +o Aplique a modificao no kernel. Para isto, execute o comando ``make patch-usr-src''. +o Crie o dispositivo /dev/rawkbd executando o comando ``make rawkbd''. +o Compile o diacrd e instale-o executando os comandos ``make'' e ``make install''. +o Compile e instale o kernel, com os comandos cd /usr/src/linux make config make zlilo Para maiores informaes sobre compilao/instalao do kernel, leia o Ker- nel-HOWTO, disponvel via Internet nos repositrios do LDP mencionados na seo ``Onde encontrar a verso mais atual''. +o 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 seo ``Configurao do console'' como carregar um mapa com suporte acentuao. O pacote diacrd vem com um arquivo chamada usintl.map, que corresponde ao nosso us+.map. Se seu teclado no for do tipo americano, use o pt.map ou abnt-2.map. +o Substitua o arquivo /usr/X11R6/lib/X11/xkb/keycodes/xfree86 pelo arquivo fornecido junto com o diacrd. +o Se tudo correr bem, rode o programa ddiiaaccrrdd. Depois ative o X e use o xxmmooddmmaapp para carregar o mapa xmodmap.diacrd. Se a gerao de acentos funcionar, preciso tornar permanentes as alteraes necessrias. Pode-se faz-lo incluindo a carga do diacrd no arquivo /etc/rc.d/rc.local (Slackware). Se algum dos leitores tiver criado um script de ativao do diacrd para a distribuio Debian ou Red Hat, por favor envie- o para que seja includo aqui. Mais informaes sobre o diacrd podem ser encontradas no ``Dead keys Mini-HOWTO'' de Claudemir Todo Bom, disponvel em . 55..66..33.. CCoommppaarraaoo eennttrree aass dduuaass ssoolluueess Em termos de resultados prticos, a Xlib modificada e o diacrd so equivalentes. H porm algumas diferenas entre as duas solues que merecem ateno. Diacrd exige uma alterao no kernel do Linux para resolver um problema que o kernel j resolve, o que no deixa de parecer um tanto redundante. A dependncia de um processo de usurio (o _d_a_e_m_o_n kerneld) uma desvantagem, pois se esse programa deixar de funcionar perde-se o suporte acentuao no X. Trata-se de uma soluo ainda em desenvolvimento e, segundo o contedo da documentao que o acompanha, o ideal seria que todo o tratamento fosse feito pelo kernel, sem depender de outro programa. At o momento da publicao deste HOWTO, o diacrd ainda no era compatvel com a verso 2.2 do kernel do Linux. A soluo via Xlib , pelo menos em teoria, totalmente transparente s aplicaes e permite reconfigurao em tempo de execuo, bastando alterar o mapa de teclado do X e as regras de composio. J o diacrd precisa ser recompilado se quisermos trocar o tipo de teclado, mas possvel que novas verses incorporem algum recurso de reconfigurao. O diacrd s funciona no teclado do prprio computador. Se quisermos usar um _d_i_s_p_l_a_y remoto, seja um terminal X, seja um outro computador, no teremos suporte acentuao. A troca da Xlib, por outro lado, enquadra- se plenamente na filosofia do X de que o servidor prov _m_e_c_a_n_i_s_m_o, deixando a cargo da aplicao a definio de _p_o_l_t_i_c_a_s. Exemplo da vantagem deste paradigma poder usar as tcnicas descritas na seo ``Configurao do X'' em outros sistemas operativos e com terminais X. A soluo via Xlib parece-me mais ``limpa'' e minha predileta, mas, como sempre, fica a critrio do usurio ou do administrador do sistema qual alternativa escolher. De qualquer modo, sempre bom lembrar qua ambas as solues so remendos. Considerando-se a rpida evoluo que est 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 mais necessrio. 66.. CCoonnffiigguurraaoo ddooss vvrriiooss pprrooggrraammaass 66..11.. AApplliiccaattiivvooss A maioria das aplicaes que rodam no Unix usa algum tipo de arquivo de configurao que o usurio coloca em seu diretrio de trabalho (home) e cujo nome normalmente .alguma-coisarc. Tanto quanto possvel, tentei evitar que isso fosse necessrio, pois alm de dar mais trabalho ao usurio (e ao administrador da rede ;-) pode dificultar um pouco as coisas. Por exemplo, aqui no CPMet temos o diretrio _h_o_m_e compartilhado entre um servidor Alpha rodando DEC UNIX com os PCs rodando Linux via NFS (at a maior parte do Linux est instalada no Alpha, os PCs s tm a partio raiz e uma rea de swap). Os arquivos podem necessitar algum ajuste dependendo da plataforma e nem todos os programas possuem flexibilidade bastante para isso. Uma opo que muitos programas tambm oferecem especificar em uma varivel de ambiente o nome do arquivo de configurao ou o uso de arquivos padro que normalmente ficam em um diretrio /usr/lib/alguma- coisa ou /etc/alguma-coisa. 66..11..11.. BBaasshh ((bbiibblliiootteeccaa GGNNUU rreeaaddlliinnee)) Os programas que utilizam a biblioteca GNU readline para ler a linha de comando procuram por um arquivo chamado .inputrc no diretrio ``HOME'' do usurio caso no exista uma varivel de ambiente INPUTRC contendo o caminho para um arquivo de configurao. Coloque uma linha no seu arquivo /etc/profile contendo INPUTRC="/etc/inputrc" export INPUTRC e crie um arquivo /etc/inputrc contendo set meta-flag on set convert-meta off set output-meta on Outra alternativa criar um arquivo .inputrc no diretrio _h_o_m_e do usu- rio com o contedo acima, mas muito difcil manter atualizados os arquivos de todos os usurios, principalmente quando eles so muitos. Um inputrc mais completo pode ser obtido via WWW na pgina do Por- tuguese HOWTO. Ele contm opes para vrios tipos de terminal e permite usar as teclas de movimento de cursor para percorrer o histrico de comandos (setas para cima e para baixo); ir para o primeiro e para o ltimo comandos do histrico (teclas PageUp e PageDown); posicionar o cursor na linha (setas para a esquerda e direita) e posicionar o cur- sor no incio e no fim da linha (teclas Home e End). Para maiores informaes leia os manuais do bbaasshh e da biblioteca rreeaaddlliinnee com os comandos man bash man readline 66..11..22.. EEmmaaccss O pai de todos os editores pode ser configurado criando-se um arquivo chamado .emacs no diretrio do usurio, contendo as seguintes linhas: (set-input-mode nil nil 1) (standard-display-european t) (require 'iso-syntax) Para tornar esta configurao global, na distribuio Slackware coloque os comandos no arquivo /usr/lib/emacs/site-lisp/site-start.el. Na distribuio Debian o emacs executa todos os scripts contidos no diretrio /etc/emacs/site-start.d ao ser carregado. Tudo que se tem a fazer colocar esses comandos em um arquivo chamado, por exemplo, 01portugues-emacs.el. Se o estimado leitor, assim como eu, no se agrada do tratamento dado pelo Emacs s teclas de _D_e_l_e_t_e, _H_o_m_e e _E_n_d, 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 configurao prontos podem ser obtidos via WWW na pgina do Portuguese HOWTO. Para Slackware, h um site-start-emacs.el, que deve ser copiado para o diretrio /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 diretrio /etc/emacs/site-start.d. Certifique-se de estar usando a verso 24-out-1998 ou mais recente do arquivo de mapa de teclado para o X, pois ela possui uma correo no tratamento das teclas modificadoras Alt e Meta, que so muito usadas pelo Emacs. 66..11..33.. fflleexx Especifique a opo --88 se o _p_a_r_s_e_r a gerar necessitar de ler dados de 8 bit. 66..11..44.. FFoorrttuunnee Fortune aquele programa que toda vez que invocado apresenta uma pequena mensagem, geralmente bem humorada. Ele inspirado nos biscoitos da fortuna chineses (em ingls _f_o_r_t_u_n_e _c_o_o_k_i_e_s, da o nome). Eis algumas mensagens tpicas: dROGA!!oNDE ESTA O cAPSLOCK?? Mouse no encontrado, bater no gato? (S/N) Que fio ess<=V++088.../NO CARRIER Quem ri por ltimo est conectado a 2400Bit/s. Tudo que o programa faz escolher aleatoriamente uma mensagem em um repositrio mantido no diretrio /usr/games/fortunes (Slackware) ou /usr/share/games/fortunes (Debian). Neste diretrio existem diversos arquivos com as ``fortunas'' e um arquivo ndice para cada um deles, que possui a extenso .dat. O formato dos arquivos muito simples: cada fortuna composta de uma srie de linhas de texto. As fortunas so sepa- radas umas das outras por linhas contendo apenas um caracter %%. Veja o trecho a seguir: O que so quatro pontos na parede? Four migas. Ugh! % Errar humano, botar a culpa no computador mais humano ainda. % A ela me disse: Ou eu ou o modem! Sinto muitas saudades dela... Tudo que temos a fazer criar um arquivo com as fortunas chamado, dig- amos fortunes com o formato descrito acima. Depois basta usar o pro- grama strfile para gerar o ndice: strfile fortunes e um arquivo chamado fortunes.dat ser criado. Claro que se quisermos que o fortune mostre apenas mensagens em Portugus, teremos que remover os arquivos existentes no diretrio original. Sugiro simplesmente renome-lo para fortunes-en (de _E_nglish) e criar outro vazio. Eu coletei algumas fortunas e as coloquei no arquivo fortunes-pt.tar.gz que pode ser obtido via WWW na pgina do Portuguese HOWTO. No esquea de colocar no seu /etc/profile algumas linhas contendo uma chamada ao fortune, por exemplo if [ -x /usr/games/fortune -a ! -e $HOME/.hushlogin ]; then echo /usr/games/fortune echo fi Uma ltima informao: se o nome de um arquivo termina com o sufixo -o o fortune s o consulta se for chamado com a opo -o. Esses arquivos so os que contm mensagens cujo contedo pode ser considerado ofensivo por algumas pessoas, tais como S no mando a sogra pro inferno, com pena do Diabo. Claro que existem coisas muito mais ofensivas por a, mas este um Linux HOWTO e no queremos realmente ofender ningum, certo? 66..11..55.. IIssppeellll Dicionrios para o Portugus de Portugal podem ser obtidos via WWW na pgina do _P_r_o_j_e_c_t_o _N_a_t_u_r_a em . Para o Brasil, h uma verso compilada pelo Ueda: . Eu gostaria de poder colocar maiores informaes, mas ainda no tenho conhecimento suficiente sobre o Ispell e no posso ensinar o que no sei. Preciso de ajuda aqui. 66..11..66.. JJDDKK ((iinncclluuii IICCQQJJaavvaa)) Esta informao baseada em uma mensagem da qual guardei o contedo mas no o remetente. Peo desculpas e espero que per- doe a falha. No testei pessoalmente a informao e peo que me escrevam confirmando tanto a correo quanto, se possvel, a identidade do autor. O JDK utiliza fontes padro que no suportam acentos. Isto quer dizer que letras com acentos so ignoradas e, geralmente, confundem o resto do texto. Resolver isto extremamente fcil: +o entre no diretrio jdk1.1.5/lib (no meu caso, /jdk1.1.5/lib); +o copie o arquivo font.properties.hu sobrescrevendo o font.properties atual (lembre-se de fazer backups!); +o entre no jdk e divirta-se! Fazendo isto, seu ICQ e todos os aplicativos que usem o jdk estaro aptos a lerem acentos! (fcil, no?) 66..11..77.. JJooee Invoque o joe com a opo -asis na linha de comando ou altere os arquivos de configurao para ativar tal opo. Na Slackware eles esto no diretrio /usr/lib/joe. Tudo que se tem a fazer remover o espao em branco existente no incio de cada linha. Outra alternativa acrescentar a seguinte linha ao arquivo /etc/profile: alias joe='joe -asis' Joe pode emular os editores Pico, emacs e WordStar. Um arquivo _j_o_e_r_c est disponvel via WWW na pgina do Portuguese HOWTO, contendo configuraes que permitem usar as teclas _H_o_m_e e _E_n_d para movimentar o cursor para o incio e fim da linha. 66..11..88.. LLeessss 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 seqncias de caracteres geradas por cada tecla e as aes 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 No esquea de torn-lo executvel: chmod 755 /usr/bin/lesspipe.sh Na distribuio Debian j existe um script /usr/bin/lesspipe (note a ausncia da extenso .sh). Para os curiosos a respeito da referncia a ``*.rpm'', embora na mquina em questo se use Slackware, possvel ter o utilitrio RPM instalado tambm, o que facilita tomar ``emprestados'' pacotes do Red Hat, Caldera e S.u.S.E.. Existe um _R_P_M_+_S_l_a_c_k_w_a_r_e _M_i_n_i_- _H_O_W_T_O que explica como fazer isso. 66..11..99.. llss Acrescente a seguinte linha ao arquivo /etc/profile : alias ls="ls -N" ou alias ls="ls -b" Se a sua distribuio de Linux usa o GNU ls (todas as que eu conheo usam) basta acrescentar ao arquivo /etc/profile ou .profile as seguintes linhas: # ----------------------------------------- # Set up the color-ls environment variables # ----------------------------------------- if [ "$SHELL" = "/bin/bash" -o \ "$SHELL" = "/bin/sh" ]; then eval `dircolors -b` elif [ "$SHELL" = "/bin/zsh" ]; then eval `dircolors -z` elif [ "$SHELL" = "/bin/ash" ]; then eval `dircolors -s` elif [ "$SHELL" = "/bin/ksh" -o \ "$SHELL" = "/bin/pdksh" ]; then eval `dircolors -k` elif [ "$SHELL" = "/bin/csh" -o \ "$SHELL" = "/bin/tcsh" ]; then eval `dircolors -c` else eval `dircolors -b` fi Se o seu shell o csh ou tcsh, acrescente a seguinte linha ao arquivo /etc/csh.login ou ~/.login: alias ls 'ls --color' 66..11..1100.. LLyyXX Para aqueles que acham trabalhoso escrever documentos para o LaTeX usando um simples editor de texto (e realmente ) LyX uma excelente opo. Este programa cria uma interface grfica atravs da qual editamos os documentos que sero depois formatados pelo LaTeX. O ambiente quase-WYSIWYG (What You See Is What You Get - O que tu vs o que tu obtns). LyX no roda apenas em Linux, mas em qualquer Unix. Maiores informaes podem ser obtidas em A partir da verso 1.0.1 do LyX j tem a interface com o usurio em Portugus, traduzida por Pedro Krger, que tambm est traduzindo os manuais, junto com Roberto Mello. Estas tradues j fazem parte da distribuio oficial do LyX. Tendo o LyX instalado, muito fcil criar documentos com acentuao em Portugus. Seguindo as seguintes regras: +o Se o teclado foi configurado para ter _d_e_a_d _k_e_y_s usando um dos mapas aqui fornecidos, no necessrio fazer mais nada. Basta digitar o texto normalmente usando as seqncias de acentuao. A nica exceo o c- cedilha que no pode ser gerado usando a seqncia 'c, pois o LyX gera um c com acento. Temos que usar a seqncia Compose-vrgula-c. +o Se o teclado nnoo foi configurado para ter _d_e_a_d _k_e_y_s ainda assim possvel acentuar no LyX. Selecione o _m_e_n_u Options/Keyboard. Na caixa de dilogo ``Key Mappings'', selecione no tem Language/Primary a opo ``American''. Com isto o LyX far a composio dos caracteres acentuados usando regras semelhantes s das _d_e_a_d _k_e_y_s. +o A vrgula ser tratada como cedilha. Para obter um `'digite ,C e para obter uma vrgula digite ,,. Cuidado! A seqncia , gerar uma cedilha isolada e no uma vrgula! +o ~ ^ ' e ` sero tratados como acentos. Vale a mesma regra anterior: para obter apenas o acento, pressione a tecla duas vezes consecutivas. +o : ; . / ? e - tambm sero tratados como acentos. ?a gerar um `aa' e assim por diante. Para o LyX imprimir corretamente, necessrio que, ao criar um novo documento, sejam selecionados a lngua e a codificao de caracteres adequadas. Crie um documento selecionando o _m_e_n_u File/New. Depois selecione o _m_e_n_u Layout/Document. Na caixa de dilogo ``Document Layout'' selecione no tem Language a opo ``brazil'' ou ``portuges'' (sem o _u mesmo); no tem Encoding selecione ``latin1''. Veja a observao sobre o pacote _a_l_g_o_r_i_t_h_m na seo ``TeX e LaTeX'' Uma observao final sobre o LyX: a verso atual (1.0.x) utiliza a biblioteca XForms para construir a interface com o usurio. Como essa biblioteca no tem suporte para acentuao, no possvel digitar letras acentuadas nas caixas de dilogo, somente no corpo do documento editado. Segundo os desenvolvedores, nas novas verses do LyX ser possvel escolher o tipo de interface ao compilar o programa, o que permitir o uso de _t_o_o_l_k_i_t_s mais flexveis. J existe uma verso de LyX portada para o toolkit Qt, usado no KDE, chamada KLyX. Os autores so Matthias Ettrich -- autor original do LyX -- e Kalle Dalheimer. Para maiores informaes, consulte via WWW: . 66..11..1111.. MMaann,, ggrrooffff,, ttrrooffff Pode-se usar a opo de linha de comando -Tlatin1 para o groff, mas mais simples colocar uma linha no seu arquivo /etc/profile contendo GROFF_TYPESETTER="latin1" export GROFF_TYPESETTER Para maiores informaes leia o manual do groff com o comando man groff No Linux, o comando _m_a_n usa o _g_r_o_f_f para formatar os manuais e deve ser configurado para usar o conjunto Latin 1, ou no ser possvel formatar satisfatoriamente manuais que contenham caracteres no pertencentes ao conjunto ASCII, como o caso do ``man iso_8859_1''. Na distribuio Slackware, preciso editar o arquivo /usr/lib/man.config e alterar as definies NROFF e NEQN, trocando a opo ``-Tascii'' para ``-Tlatin1'': NROFF /usr/bin/groff -Tlatin1 -mandoc NEQN /usr/bin/geqn -Tlatin1 ou, se usarmos a varivel de ambiente GROFF_TYPESETTER, podemos sim- plesmente eliminar a opo -Tascii. Na distribuio Debian no necessrio fazer nenhuma configurao para o man, bastando configurar GROFF_TYPE- SETTER e na Red Hat (incluindo Conectiva) o arquivo /etc/man.config Groff tambm pode ser configurado para fazer a separao silbica em portugus, o que muito til se tivermos pginas de manual em Portugus. Isto bastante simples, porque quando James Clarck ps suporte a hifenizao no groff ele usou o mesmo algoritmo de hifenizao do TeX. Para ter hifenizao em portugus, basta copiar o arquivo de regras do TeX e fazer o groff us-lo. O arquivo hyphen.pt pode ser obtido junto com os demais na pgina do HOWTO. Trata-se do arquivo pt8hyph.tex (ver seo ``TeX e LaTeX'') ao qual foi adicionado apenas um comentrio. Ele deve ser copiado para o diretrio /usr/share/groff/tmac/ ou /usr/lib/groff/tmac/, dependendo da distribuio. conveniente criar um ``link'' simblico para hyphen.br. Para usar esse arquivo, basta colocar no incio do seu documento troff/groff as linhas a seguir: .if \n(.g \{\ .hla pt .hpf hyphen.pt .\} O .if no necessrio para a acentuao, mas ele testa se o processador usado o groff. Deste modo pode-se usar o mesmo documento em outros UNIX nos quais se use o troff normal sem que ele gere mensagens de erro sobre comandos desconhecidos. 66..11..1122.. MMiiddnniigghhtt CCoommaannddeerr ((mmcc)) No menu Options sub-menu Display bits... ligue a opo ``Full 8 bits'' ou ``ISO 8859-1''. Na verso 3.2.11 isso permite que sejam mostrados nomes de arquivos contendo caracteres acentuados, mas no foi possvel digitar tais caracteres na linha de comando ou nas caixas de dilogo. 66..11..1133.. MMiinniiccoomm Coloque uma linha no seu arquivo /etc/profile contendo MINICOM="-m -c on" export MINICOM Isso permitir usar a tecla Alt para ativar os comandos (exatamente como o Telix) e tambm usar cores. Para maiores informaes, leia o man- ual do Minicom usando o comando man minicom Mais uma dica sobre o Minicom: para faz-lo usar usar corretamante a tecla _M_e_t_a para ativao dos comandos rodando dentro de um _x_t_e_r_m, deve- se invoc-lo com a opo ``-m'' e passar a opo ``-xrm "*eightBitInput: false"'' para o xterm. Se usarmos o _r_x_v_t ento o minicom deve ser chamado com a opo ``-m'' e a tecla de ativao dos comandos ser _A_l_t. Fiz uma adaptao no script xminicom que pode ser obtido via WWW na pgina do Portuguese HOWTO. Segundo Arnaldo Carvalho de Melo, as verses mais recentes do Minicom suportam internacionalizao. Suporte para o Portugus foi acrescentado pelo pessoal da Conectiva. O cdigo fonte pode ser obtido na pgina do Jukka (atual mantenedor do Minicom) em 66..11..1144.. NNeettssccaappee CCoommmmuunniiccaattoorr O Communicator, assim como muitas aplicaes que utilizam _t_o_o_l_k_i_t_s baseados no X Toolkit (Xt), permite que se modifiquem muitas de suas caractersticas por meio de arquivos de configurao (X Resources). No caso especfico do Communicator, pode-se criar um arquivo chamado Netscape no diretrio /usr/X11R6/lib/X11/app-defaults contendo estas opes. Na distribuio 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 cpia do Netscape.ad.pt_BR pode ser obtida na pgina oficial do Portuguese-HOWTO. Para us-lo, simplesmente copie-o para /usr/X11R6/lib/X11/app-defaults/Netscape, se sua distribuio no o possuir, mas fique atento que seu uso pode criar problemas com novas verses do programa. Maiores informaes sobre ``X Resources'' podem ser obtidas em [GET94], [McC94] e no manual do programa xrdb, com o comando man xrdb 66..11..1155.. nnnn Al, al, algum usa nn? Informao mais atualizada ser bem rece- bida. Acrescente a seguinte linha ao arquivo ~/.nn/init: set data-bits 8 66..11..1166.. PPiinnee ee PPiiccoo Para o Pine utilizar o conjunto de caracteres Latin 1, coloque uma linha no arquivo .pinerc, no diretrio do usurio, contendo character-set=ISO-8859-1 ou crie um arquivo geral de configurao contendo tal linha. Esse arquivo normalmente /usr/local/lib/pine.conf ou /usr/lib/pine.conf A configurao tambm pode ser feita usando o prprio programa. No _m_e_n_u de entrada selecione as opes Setup/Configuration. V at o tem ``character- set'' e preencha-o com ``ISO-8859-1''. Para maiores informaes leia o manual do pine com o comando man pine 66..11..1177.. ttccsshh Nenhuma medida especial necessria se for feita a correta configurao das variveis de ambiente ``LANG'' e ``LC_ALL'', conforme mostrado mostrado na seo ``Biblioteca libc''. Tcsh tem suporte a internacionalizao e na distribuio Debian h um pacote chamado tcsh-i18n com suporte para French, German, Greek and Spanish. 66..11..1188.. TTeeXX ee LLaaTTeeXX Esta seo foi escrita com ajuda de Klaus Steding-Jessen. 66..11..1188..11.. OO ppaaccoottee BBaabbeell O pacote _B_a_b_e_l, criado por Johannes Braams prov suporte a um grande nmero de idiomas para o LaTeX. De acordo com o idioma selecionado ele define muitas coisa como, por exemplo, os ttulos dos captulos (Chapter, Captulo, Kapitel) e o ttulo das tabelas (Tabela, Table, Tabelle). Para usar o pacote, basta incluir no prembulo de seu documento LaTeX o comando \usepackage[portuges]{babel} ou \usepackage[brazil]{babel} H diferenas 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 maiscula ou minscula. Pode-se misturar mais de um idioma no mesmo documento. Para Alemo e Portugus ficaria: \usepackage[german,brazil]{babel} Nesse caso a ltima opo (brazil) fica sendo o idioma corrente. Para mudar ao longo do texto, entre um e outro, use: \selectlanguage{german} [...] \selectlanguage{brazil} Isto muito til tambm quando queremos que uma palavra no seja separada. Basta definir um novo idioma e us-lo nas palavras que no podem ser separadas. Coloque no prembulo: \newlanguage\nohyphen \newcommand\nh[1]{{\language\nohyphen #1}} E use com \nh{FOO BAR}. melhor do que usar \mbox, que impede quebra no espaco em \mbox{FOO BAR}. 66..11..1188..22.. SSeeppaarraaoo ssiillbbiiccaa Normalmente apenas os suportes a separao silbica para Ingls e Alemo so carregados. Para configurar hifenizao no tteeTTeeXX, execute o utilitrio _t_e_x_c_o_n_f_i_g, que na distribuio Slackware deve ser o programa /usr/lib/teTeX/bin/texconfig e na Debian /usr/bin/texconfig. Digite o comando texconfig hyphen O editor usado normalmente o vvii. Se o seu editor predileto for outro, crie uma varivel de ambiente chamada EEDDIITTOORR contendo o nome desse programa, como no exemplo a seguir: EDITOR=pico export EDITOR O editor de texto ser carregado, para editar o arquivo language.dat. Procure uma linha que comea por %%ppoorrttuuggeess e remova o %%. Grave o arquivo e saia do editor. O texconfig atualizar diversos arquivos de configurao (no se assuste com a quantidade de mensagens que aparecem na tela). Se o nome da tabela de hifenizao que consta no seu language.dat pthyph.tex ento provavelmente trata-se da verso 1.0, de 1987. A verso 1.2, de 1996, pode ser obtida via FTP annimo em Copie-o para o mesmo diretrio onde se encontra o pthyph.tex, que dependendo de sua distribuio 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- fig~hash e na mesma linha mencionada anteriormente insira um `8' no nome do arquivo, de modo que fique pt8hyph.tex. 66..11..1188..33.. UUssoo ddee FFoonntt EEnnccooddiinngg TT11 Se o conjunto de caracteres (_e_n_c_o_d_i_n_g) de uma fonte no prov acesso direto a caracteres acentuados, (como o caso do OT1, padro do LaTeX) ento o TeX gera estes caracteres sobrepondo o caracter base mais o acento. O algoritmo de hifenizao, contudo, no hifeniza palavras formadas dessa forma. Se uma fonte j prov acesso direto a caracteres acentuados, como as de codificao T1, estes caracteres so usados diretamente sem prejuzo do algoritmo de hifenizao. O uso de _e_n_c_o_d_i_n_g T1 fundamental para a correta hifenizao em Portugus. Note que trata-se da mesma fonte, por falta a Computer Modern, apenas o que muda o seu _e_n_c_o_d_i_n_g, isto , a ordem/disponibilidade dos caracteres dentro da mesma. Para selecionar estas fontes, inclua no prembulo do seu documento o comando \usepackage[T1]{fontenc} O antigo pacote t1enc no deve mais ser usado e existe hoje apenas por questes de compatibilidade com documentos antigos. O fontenc mais atual, continua a ser mantido e de uso mais geral, portanto prefervel. 66..11..1188..44.. EEddiioo ddee ddooccuummeennttooss Normalmente a introduo de caracteres acentuados no texto exige o uso de _s_e_q_n_c_i_a_s _d_e _e_s_c_a_p_e bastante trabalhosas. Para gerar um ``'' deve-se digitar \"o. Com _b_a_b_e_l pode-se digitar apenas "o, o que no deixa de ser inconveniente para ler o fonte do documento. H um pacote chamado iinnppuutteenncc que permite especificar a codificao em que esto os caracteres de um documento. Lembre-se porm que se o seu documento for enviado para outro usurio que no possua o iinnppuutteenncc ele poder no conseguir process-lo, mas esse recurso j est disponvel desde a liberao do LaTeX2e em dezembro 1994. Todas as distribuies de Linux atuais o incluem. Sugesto: uma configurao do GNU Emacs para gerar caracteres acentuados, prpria 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 no requer o inputenc. O uso da biblioteca `iso-cvt' faz a transformao de ISO-8859-1 (no buffer do Emacs) para o padro 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, prprio para uso do pacote inputenc. Uma boa opo para isto usar o programa recode. Se voc possui arquivos .tex e deseja converte-lo para formato ISO-8859-1 pode usar: recode -d LaTeX:l1 file.tex O cdigo-fonte do GNU recode pode ser obtido via FTP annimo em e em muitos espelhos do GNU mundo afora. A distribuio Debian tem um pacote pronto e outras tambm devem ter. 66..11..1188..55.. TTeessttee ddaa ccoonnffiigguurraaoo ddoo LLaaTTeeXX Para testar a nova configurao 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{Introduo} Este documento pretende ser um guia de referncia de configurao do \textbf{Linux} e seus programas, teclados e fontes de caracteres, permitindo sua internacionalizao/utilizao confortvel por pessoas que falem a Lngua Portuguesa. \end{document} Esse texto contm de propsito uma ``palavra'' bastante longa para forar a separao silbica. Ele est disponvel via WWW no arquivo exemplo.tex na pgina do Portuguese HOWTO. Para process-lo, use o comando latex, conforme mostrado a seguir: bash$ latex exemplo.tex This is TeX, Version 3.14159 (C version 6.1) (exemplo.tex LaTeX2e <1996/06/01> Hyphenation patterns for english, german, portuges, loaded. (/usr/lib/teTeX/texmf/tex/latex/base/article.cls Document Class: article 1996/05/26 v1.3r Standard LaTeX document class (/usr/lib/teTeX/texmf/tex/latex/base/size10.clo)) (/usr/lib/teTeX/texmf/tex/latex/base/inputenc.sty beta test version (/usr/lib/teTeX/texmf/tex/latex/base/latin1.def)) (/usr/lib/teTeX/texmf/tex/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, ppoorrttuuggeess, loaded.'' indica que a configurao foi bem sucedida. Se o seu computa- dor est rodando o X o documento formatado poder 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''. 66..11..1188..66.. PPrroobblleemmaass ccoomm aallgguunnss ppaaccootteess ddoo tteeTTeeXX H um problema com o pacote _a_l_g_o_r_i_t_h_m do LaTeX, que no suportado pelo babel, fazendo com que a lista de algoritmos saia com o ttulo ``List of Algorithms'' e o ttulo de cada um deles seja impresso como ``Algorithm #''. Para evitar esse problema, coloque no prembulo de seu documento LaTeX, aps o comando ``\usepackage{algorithm}'' o seguinte: \makeatletter \renewcommand{\ALG@name}}{Algoritmo}} \makeatother \renewcommand{\listalgorithmname}}{Lista de Algoritmos}} No teTeX 0.4 (verso 1.2h do portuges.ldf) o ttulo do ambiente _p_r_o_o_f, encontrado nas classes _a_m_s_b_o_o_k, _a_m_s_a_r_t, etc., sai como ``Proof.''. Para corrigir isso, coloque no prembulo de seu documento o comando \renewcommand{\proofname}}{Demonstra\c{c}\~ao} mas o mais recomendvel que se atualize a verso do teTeX. Usurios do LyX podem incluir esses comandos no prembulo do documento usando o menu Layout/LaTeX Preamble. Pode-se resolver o problema alterando o arquivo portuges.ldf que contm as definies necessrias ao Portugus, mas esta soluo no portvel, pois exigir que tal arquivo seja alterado em todas os computadores em que o documento deva ser processado. A licena do Babel no me permite distribuir o portuges.ldf separado do resto do pacote, mas para os interessados, coloquei disposio na pgina do HOWTO um arquivo chamado portuges.ldf.patch que criei para o meu teTeX antigo (Slackware 3.4). Para aplicar a atualizao, copie-o para o diretrio /usr/lib/teTeX/texmf/tex/generic/babel (Slackware), faa uma cpia de reserva do portuges.ldf original e invoque o utilitrio patch: cp -p portuges.ldf portuges.ldf.backup patch < portuges.ldf.patch Use o patch por sua conta e risco! Se voc deixar o backup no diretrio original ele ser includo no arquivo ls-R da prxima vez que o programa _t_e_x_h_a_s_h for executado. Isso no far mal algum, mas pode-se mover o backup para algum lugar seguro (eu uso /usr/backup). 66..11..1188..77.. LLiissttaa TTeeXX--BBRR H uma lista de discusso brasileira de usurios 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 . Esta lista administrada por Rafael Rodrigues Obelheiro. H uma pgina na WWW em por meio da qual se pode ler o histrico de mensagens. Tambm h referncias para muitos documentos sobre LaTeX, alguns em Portugus e outros em Ingls. 66..11..1188..88.. LLaaTTeeXX--ddeemmoo Pode ser til tambm um documento de exemplo para ter onde comear. Pensando nisso, Klaus Steding-Jessen preparou um pequeno documento em Portugus com o objetivo de ser um guia ``by example'' para o usurio de LaTeX iniciante e intermedirio, que pode ser obtido via WWW em . Klaus ecreveu tambm uma srie trs artigos destinados a ``descrever o sistema LaTeX como uma alternativa mais eficiente aos processadores de texto WYSIWYG'' que podem ser lidos via WWW em . 66..11..1199.. WWoorrddPPeerrffeecctt O Corel Wordperfect para Linux verso 8 suporta a acentuao por teclas mortas. No necessrio nenhum procedimento especial. Como um entusiasta de software livre, entretanto, recomendo enfaticamente que se use o LyX, que j foi inclusive traduzido para nossa lngua, conforme mencionado na seo ``LyX''. 66..11..2200.. XXeemmaaccss ((aannttiiggoo lluucciidd eemmaaccss)) Agradeo a colaborao de Judson Santos Santiago e Goedson Teixeira Paixo que ajudaram a identificar os problemas com o Xemacs. O Xemacs j tem suporte acentuao direta no teclado usando ``dead keys'', mas h um erro na configurao original que o impede de reconhecer o acento circunflexo. Este problema no ocorre se for usada a biblioteca _X_l_i_b aterada por Thomas Quinot, mencionada na seo ``Contornando os limites do X'', mas mesmo que no a usemos, basta colocar os seguintes comandos no seu arquivo de configurao .emacs: ;; Ajuste para fazer o acento circunflexo funcionar ;; Contribuio de Goedson Teixeira Paixao (require 'x-compose) (define-key global-map 'dead-circumflex compose-circumflex-map) Na distribuio Debian 2.0 o Xemacs 20.4 executa todos os scripts contidos no diretrio /etc/xemacs20/site-start.d ao ser carregado. Tudo que se tem a fazer colocar esses comandos em um arquivo chamado, por exemplo, 01portugues-xemacs.el. No necessrio instalar o _x_e_m_a_c_s_2_0_-_m_u_l_e, que possui extenses para lnguas que no usam o alfabeto romano. Os pacotes a instalar so os seguintes: +o xemacs20-bin +o xemacs20-nomule +o xemacs20-support +o xemacs20-supportel Se voc instalou o Xemacs no Slackware ou outro Unix, moda antiga (dowload, compilao, instao), ento o arquivo a alterar o site- start.el, que deve estar no diretrio /usr/lib/xemacs/site-lisp ou /usr/local/lib/xemacs/site-lisp, dependendo de sua instalao. Observe que a partir da verso 20.3 o Xemacs usa uma varivel especial para controlar o comportamento da tecla ``Delete'', no existente nos outros emacs chamada ddeelleettee--kkeeyy--ddeelleetteess--ffoorrwwaarrdd. Para ativar este comportamento coloque no seu arquivo .emacs uma linha contendo (setq delete-key-deletes-forward t) Arquivos de configurao prontos podem ser obtidos via WWW na pgina do Portuguese HOWTO. Para Slackware, h um site-start-xemacs.el, que deve ser copiado para o diretrio correto com o nome de site-start.el. Para Debian, h um 01portugues-xemacs.el que deve ser copiado para o diretrio /etc/xemacs20/site-start.d. Certifique-se de estar usando a verso 24-out-1998 ou mais recente do arquivo de ``mapa de teclado'' para o X, pois ela possui uma correo no tratamento das teclas modificadoras Alt e Meta, que so muito usadas pelo Xemacs. 66..22.. RReeddee llooccaall ee IInntteerrnneett 66..22..11.. FFTTPP ((FFiillee TTrraannssffeerr PPrroottooccooll)) Existem dois modos de transferncia de arquivos: _b_i_n_a_r_y e _A_S_C_I_I, sendo este utilizado para textos. Deve-se tomar cuidado ao transferir um arquivo, pois o modo de transfrencia ASCII remove o oitavo bit de cada caracter transmitido, o que ter como conseqncia a perda de todos os caracteres acentuados. Desta forma aconselhado o envio de documentao em modo binary de forma a manter a integridade da mesma. Cuidado! Algumas verses mais antigas do pacote net-tools do Linux tm um cliente FTP que no reconhece corretamente quando o servidor remoto roda Unix. Deste modo ele no comutar o modo de transferncia para binrio automaticamente. Alm disso, alguns servidores FTP tambm no fornecem a informao corretamente. Certifique-se de digitar o comando bin antes de um get quando quiser que a transferncia seja binria! 66..22..22.. CCoorrrreeiioo eelleettrrnniiccoo O mesmo tipo de restries do FTP se aplica ao envio de documentos contendo caracteres acentuados atravs de correio eletrnico. Embora isto no acontea em todos os sistemas em uso na internet, bastar que o correio enviado passe no seu trajecto por um sistema que no suporte 8 bits de informao para que o nosso documento seja deturpado. Para que no 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 documentao em modo 8 bits. Exemplos de programas de correio eletrnico com suporte para MIME, so o Eudora e o Pine. Se o destinatrio da mensagem no usa um agente com suporte para MIME, existe a opo de codificar os documentos com o utilitrio UUENCODE. Para maiores informaes a esse respeito, leia a documentao usando os comandos man uuencode man uudecode 77.. FFiicchheeiirrooss nneecceessssrriiooss AAtteennoo!! Os mapas de teclado para o X fornecidos mapeiam a funo das teclas segundo a lista a seguir: +o Alt esquerdo: Alt +o Alt direito: AltGr +o Control esquerdo: Control +o Control direito: Control +o ScrollLock: ScrollLock +o Janela esquerda: Meta +o Janela direita: Compose +o Menu: Menu Se o seu teclado no possuir as teclas _p_a_r_a _W_i_n_d_o_w_s _9_5 ento pode ser melhor restabelecer a distribuio padro: edite o mapa e coloque um ponto de exclamao no incio das linhas que definem os _k_e_y_c_o_d_e_s 64, 113, 115, 116 e 117. Foram elaborados mapas com suporte acentuao para seis modelos de teclado, tanto para uso no console quanto para o X. Eles podem ser obtidos via WWW em um dos repositrios da pgina do Portuguese HOWTO: +o Ao instalar um dos mapas fornecidos, lembre-se de ler os comentrios contidos neles, pois h informaes importantes sobre opes de configurao e aproveitamento das teclas adicionais dos teclados padro _W_i_n_d_o_w_s _9_5. As instrues para instalao esto nas sees ``Configurao do console'' e ``Configurao do X''. OO mmaappaa UUSS++ ((uuss++..mmaapp ee XXmmooddmmaapp..uuss++)) Mapas para os teclados que seguem o padro americano. Como no existem teclas especiais para gerar o c-cedilhado nem o trema, foi usado um pequeno truque: o c-cedilhado gerado pela seqncia 'C. No console pode-se faz-lo com a seqncia AltGR-C. O trema gerado pela tecla ". Para gerar as aspas duplas necessrio digitar a seqncia " e no console pode-se usar ""; opcionalmente pode-se usar AltGR-", o que no uma soluo muito confortvel, mas funciona... Testados com teclados de vrias marcas (e alguns sem marca :-). OO mmaappaa PPoorrttuuggaall ((pptt..mmaapp ee XXmmooddmmaapp..pptt)) Mapas para teclados com desenho portugus. Esses teclados so os que possuem uma tecla com os caracteres e . No so muito confortveis, porque para gerar o smbolos @@ [[ ]] {{ }} e o trema necessrio usar a tecla AAlltt--GGRR. Testado com um teclado da marca Key Tronic. OO mmaappaa AABBNNTT--22 ((aabbnntt--22..mmaapp ee XXmmooddmmaapp..aabbnntt22)) Os computadores vendidos no Brasil fabricados pela IBM, Compaq e Itautec, entre outros, vm com esses teclados. Eles tambm pode ser adquiridos avulsos e so fabricados pela UIS e Keytec (no confundir com Key Tronic). Este desenho o mais confortvel de todos, pois tem a mesma distribuio dos acentos encontrada nas mquinas de escrever. Testado com teclados das marcas UIS e IBM. SSuunn TTyyppee 44 ee TTyyppee 55 ((XXmmooddmmaapp..SSuunn44++ ee XXmmooddmmaapp..SSuunn55cc++)) Encontrados nas mquinas 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 no possuem o c-cedilhado, foi usado o mesmo truque do mapa US+. Apenas o mapa para o X fornecido. NNCCDD++ ((XXmmooddmmaapp..NNCCDD++)) Este mapa para o teclado modelo N107 e foi testado em terminais X modelo 16r fabricados pela Network Computing Devices Inc. (NCD). Embora a distribuio de teclas seja idntica do Sun _T_y_p_e _4, os _k_e_y_c_o_d_e_s das teclas so diferentes. Esses teclados tambm no possuem o c-cedilhado, por isso foi usado o mesmo truque do mapa US+. Apenas o mapa para o X fornecido. A gerao dos caracteres acentuados feita de acordo com a tabela a seguir: Para gerar Digitar ------------------------------------------------- 'c ou compose-,-c 'a 'e 'i 'o 'u `a `e `i `o `u ~a ~o ^a ^e ^i ^o ^u "a "e "i "o "u " (aspas) "" ou AltGR-" no mapa US+ (trema) "-espao ' (apstrofo) '' ou AltGR-' no mapa US+ ` (grave) `` ou AltGR-` no mapa US+ compose-O-R compose-O-C ------------------------------------------------- 88.. IInnffoorrmmaaeess AAddiicciioonnaaiiss 88..11.. FFoonntteess ddee iinnffoorrmmaaoo ssoobbrree LLiinnuuxx eemm PPoorrttuugguuss GGrruuppoo ddee IInnvveessttiiggaaoo LLiinnuuxx Grupo de usurios de linux da Universidade do Minho, em Portugal que pode ser visitado em . GGrruuppoo ddee UUttiilliizzaaddoorreess ddee LLiinnuuxx ddoo IISSCCTTEE Pode ser visitado em . LLiinnuuxx BBrraassiill Servidor da Universidade Estadual de Campinas, Brasil, contendo informaes sobre Linux no Brasil, que absorveu o antigo projeto LDP-br. Pode ser visitado em . PPrroojjeettoo LLiinnUUSSPP Desenvolvido na Universidade de So Paulo, Brasil, coordenado por Jorge L. deLyra. Pode ser visitado em . 88..22.. FFrreeee TTrraannssllaattiioonn PPrroojjeecctt Programadores que quiserem desenvolver aplicaes com suporte a mais de uma lngua devem usar algum mtodo de definir mensagens em tempo de execuo, possivelmente usando uma biblioteca de funes 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 catlogo que lido pelo programa ao iniciar. H equipes de traduo responsveis por cada lngua. H uma lista de discusso via emeil para cada equipe de traduo, rodando em um servidor provido pela . Para fazer contato com a equipe de traduo para Portugus, envie um emeil para e para assinar a lista envie emeil para contendo apenas a palavra ``subscribe''. Assine a lista somente se voc quiser fazer parte da equipe de tradutores, pois ela nnoo se destina ao esclarecimento de dvidas de usurios! Mais informaes podem ser encontradas na documentao do pacote _g_e_t_t_e_x_t disponvel via FTP annimo em qualquer repositrio de software do GNU. Provavelmente sua distribuio j tem um pacote pronto para ser instalado, mas se voc desejar, os fontes da verso mais recentes podem ser encontrados em e o nome do arquivo a copiar ``gettext-.tar.gz''. 88..33.. LLIIEE--BBRR A informao a seguir baseada no contedo da pgina de apresen- tao 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 documentao em sua lngua nativa: o por- tugus. Essa lista uma ramificao de outra maior, a LIE que visa a internacionalizao do Linux e sua posterior traduo para todos os idiomas (portugus incluso). Resumo dos objetivos da lie-br: +o contribuir para o projeto de internacionalizao do Linux fazendo a parte relativa ao portugus para o Brasil; +o internacionalizar programas, de modo a poderem ser usados nas lnguas nativas de cada pas, e no ficar preso ao idioma original ou ao ingls; +o disponibilizar (sic) material em portugus para consulta e documentao; +o aumentar o acervo de documentao disponvel e, indiretamente, auxiliar no desenvolvimento iniciado pelo projeto LDP-BR. Mais informaes podem ser encontradas na pgina WWW da lie-br, no endereo Ainda h uma quantidade enorme de documentos por traduzir. Se voc tem bom domnio do Ingls e deseja colaborar, ento pprriimmeeiirroo leia as instrues na pgina mencionada e assine a lista ``lie-br'', enviando um emeil para . No preciso especi- ficar o assunto (subject) nem colocar nada no corpo da mensagem. 88..44.. VVeerrsseess ddee ssooffttwwaarree tteessttaaddaass Todas as informaes presentes neste documento foram testadas nas seguintes verses de software: +o Distribuies Slackware 3.2 (muito modificada), Debian 2.0, Red Hat 5.2, Conectiva 3.0 (Guarani) e S.u.S.E. 5.6 +o XFree86 verses 3.3 a 3.3.3.1 +o Fvwm 2.0.46 +o Rxvt verso 2.4.5 +o Kernel verses 2.0.33 a 2.0.36 +o Kbd verses 0.92 a 0.96 +o GNU emacs verses 19.34 a 20.3 +o Less verses 321 e 332 +o GNU Bash verses 1.14.7 a 2.01.1 +o tcsh verses 6.07.02 e 6.07.06 +o LyX 0.12.0 a 1.0.0pre6 +o XForms 0.88 +o Joe 2.8 +o Pine 3.96 e 4.0 +o Pico 2.9 +o teTeX verses 0.4 e 0.9-9 +o XEmacs verses 20.3 e 20.4 99.. OObbsseerrvvaaeess ffiinnaaiiss 99..11.. FFuuttuurraass aaddiieess aa eessttee ddooccuummeennttoo As prximas verses do HOWTO devero conter, entre outros assuntos, os seguintes: +o suporte distribuio Caldera; +o informaes sobre compartilhamento de arquivos em rede usando NFS, SAMBA e Mars-NWE; +o configurao de _t_o_o_l_k_i_t_s de interface grfica: Qt, GTK, XForms, Tk (Tcl) e os baseados em Xt, como Motif, Lesstif, Xaw (*international ainda no est funcionando); +o uma seo sobre desenvolvimento de programas; +o referncias ao Ispell (us-lo para corrigir o prprio HOWTO :-); +o informaes sobre X/Open, XPG4 e POSIX, ou pelo menos ponteiros para elas. Aceitam-se voluntrios para qualquer uma destas tarefas. Parece cada vez mais claro que as informaes sobre configurao de aplicativos devem ser movidas para outro documento, independente do HOWTO. Na forma como ele est hoje j chega a quase quarenta pginas impressas e com a adio de outras distribuies e aplicaes em breve chegar s 50. Um documento to grande foge ao esprito de um HOWTO, que deve ser sucinto e concentrado em um assunto especfico. 99..22.. NNoottaa ddee DDiirreeiittooss ddee AAuuttoorr Este HOWTO teve como autor Joo Carlos Rodrigues Pereira, baseado em documentao escrita por Jos Bandeira alm dos restantes HOWTO's do Linux. Atualmente ele mantido por Carlos Augusto Moreira dos Santos, com a colaborao de muitos outros. Os documentos HOWTO do Linux podem ser reproduzidos e distribudos em todo ou em parte, segundo qualquer meio fsico ou electrnico, desde que esta Nota de Direitos de Autor se mantenha intacta em todas as cpias dos mesmos. A distribuio comercial autorizada e encorajada, no entanto, o autor gostaria de ser notificado de tais ocorrncias. Todas as tradues, trabalhos derivados, ou trabalhos agregando qualquer dos documentos HOWTO do Linux devero estar abrangidos por esta Nota de Direitos de Autor, ou seja, no poder ser imposta qualquer restrio adicional a trabalhos efectuados a partir de um dos documentos HOWTO do Linux nomeadamente no que diz respeito sua distribuio. Excees a estas regras poderam ser obtidas. Para tal, dever-se- contactar o coordenador dos documentos HOWTO do Linux no endereo . 99..33.. GGaarraannttiiaa ((iinneexxiissttnncciiaa ddee)) ee nnoottaa ddee rreessppoonnssaabbiilliiddaaddee Apesar de ter sido feito o mximo esforo possvel para que o contedo deste documento esteja correto, no h nenhuma garantia de que ele no possua erros, nem de que tenha algum tipo de utilidade ou aplicao comercial, tcnica, educacional ou medicinal. O autor no se responsabiliza por prejuzos decorrentes do seu uso. Em resumo: se a informao aqui contida quebrar seu computador em mil pedacinhos, junte tudo e cole, mas nnoo rreeccllaammee ppaarraa mmiimm! Documentos escritos por terceiros so de responsabilidade exclusiva deles e sua referncia neste HOWTO no representa nenhum tipo de recomendao, abono ou garantia de suporte. 99..44.. AAggrraaddeecciimmeennttooss Deixo aqui os meus agradecimentos a todos os que de alguma forma me ajudaram quer atravs das suas sugestes quer atravs de contribuies de outro tipo, em especial a JJoooo CCaarrllooss RRooddrriigguueess PPeerreeiirraa Autor original deste documento que agora mantenho. Nunca tive contato com ele, nem sei por onde andar. Sua pgina no Departamento de Informtica da Faculdade de Cincias da Universidade de Lisboa (http://caravela.di.fc.ul.pt/~jcrp/) no existe mais. Lembro-me de t-la visto, anos atrs. GGrreegg HHaannkkiinnss Ex-coordenador dos LLiinnuuxx HHOOWWTTOO, por me permitir assumir a manuteno 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 informaes, sugestes ou comentrios que foram includas neste texto. Se algum foi esquecido, por favor desculpe a falha. Andre Gerhard Arnaldo Carvalho de Melo Bruno Barberi Gnecco Cees de Groot Francisco Semeraro Goedson Teixeira Paixao Joao Carvalho Jorge Carvalho Pinto Judson S Santiago Ken MacLeod Klaus Steding-Jessen Lamarque Vieira Souza Marcelo Malheiros Marcos Vinicius Lannes dos Santos Pedro Krger Rafael Caetano dos Santos Rafael Rodrigues Obelheiro Ramiro Morales Raul Carvalho Ricardo Y. Igarashi Roberto Mello Wanderlei Antonio Cavassin Os seguintes agradecimentos so do primeiro autor: CCaarrllooss FFeerrrreeiirraa Pela luta que trava pela defesa da lingua portuguesa, bem patente na sua _P_g_i_n_a _P_o_r_t_u_g_u_e_s_a disponvel no URL: http://lila.dei.uc.pt/~cjrf/po/ [Nota do mantenedor atual: esta pgina no existe] JJoooo CC.. SSiillvvaa Pelo apoio e incentivo e criticas (bem como por me deixar testar os meus conhecimentos no SEU computador). JJooss BBaannddeeiirraa Autor dos ficheiros port.map e xmodmap. Pelo seu apoio e por ter escrito alguma da documentao mais elucidativa que eu j li sobre o assunto. 1100.. BBiibblliiooggrraaffiiaa ccoommeennttaaddaa Esta seo ainda est incompleta e deve ser melhorada nas prximas verses. Os HOWTOs mencionados aqui geralmente so distribudos nos CDs de instalao e todas as distribuies possuem pelo menos alguns deles em pacotes prontos para instalar. Na Slackwre esses pacotes so os da srie F e os documentos ficam instalados no diretrio /usr/doc/faq/howto e na Debian o diretrio /usr/doc/HOWTO. Eles tambm podem ser obtidos via WWW em . [[BBAALL9977]] BBAALLSSAA,, AAnnddrr DD.. LLiinnuuxx aanndd XX1111 iinntteerrnnaattiioonnaalliizzaattiioonn Disponvel via WWW em Uma discusso sobre o problema da acentuao no X. Tambm contm referncias para outros documentos que tratam de internacionalizao. [[BBRROO9988]] BBrroowweerr AAnnddrriieess.. TThhee LLiinnuuxx KKeeyybbooaarrdd aanndd CCoonnssoollee HHOOWWTTOO Disponvel via WWW em . Descreve o tratamento teclado e console no Linux (kernel verso 2.0) e tem vrias referncias ao X. Leitura obrigatria para quem quer entender a base do assunto. [[GGEETT9944]] GGeettttyyss,, JJaammeess eett aall.. XXlliibb -- CC LLaanngguuaaggee XX IInntteerrffaaccee Cambridge, X Consortium, Inc., 1994. 473p. Referncia definitiva sobre programao com Xlib. [[JJOONN8899]] JJoonneess,, OOlliivveerr.. IInnttrroodduuccttiioonn ttoo tthhee XX WWiinnddooww SSyysstteemm Englewood Cliffs, Prentice Hall, 1990. Um livro bastante antigo, mas contendo uma excelente e didtica introduo ao X e programao com Xlib. [[MMccCC9944]] MMccCCoorrmmaacckk,, JJooeell eett aall..XX TToooollkkiitt IInnttrriinnssiiccss -- CC LLaanngguuaaggee IInntteerrffaaccee Digital Equipment Corporation/X Consortium, 1994. A referncia bsica para programadores interessados em usar Xt. [[OOSSSS9922]] OOssssaannaa,, JJoosseepphh && KKeerrnniigghhaann,, BBrriiaann.. TTrrooffff uusseerr''ss mmaannuuaall Computer Science Technical Report No. 54. Murray Hill, AT&T Bell Laboratories, 1992. Descrio detalhada de como usar o Troff para formatao de documentos. [[KKEERR8822]] KKeerrnniigghhaann,, BBrriiaann.. AA TTyyppeesseetttteerr--iinnddeeppeennddeenntt TTRROOFFFF Murray Hill, AT&T Bell Laboratories, 1982. O artigo de um dos pais do UNIX sobre o Troff. [[QQUUII9988]] QQuuiinnoott,, TThhoommaass.. DDeeaadd kkeeyyss uunnddeerr XX1111 Disponvel via WWW em A verso em ingls do artigo sobre a modificao da _X_l_i_b para dar suporte acentuao independente da aplicao. [[RRAAYY9988]] RRaayymmoonndd,, EErriicc SS.. TThhee LLiinnuuxx XXFFrreeee8866 HHOOWWTTOO Disponvel via WWW em . Descreve como obter, instalar e configurar o XFree86. Todas as distribuies de Linux j vm com pacotes do XFree86 prontos para instalar, mas as informaes sobre configurao podem ser muito teis. [[SSCCHH8866]] SScchheeiifflleerr,, RRoobbeerrtt;; GGeettttyyss,, JJaammeess.. TThhee XX WWiinnddooww SSyysstteemm _A_C_M _T_r_a_n_s_a_c_t_i_o_n_s _o_n _G_r_a_p_h_i_c_s, New York, ACM, _5 (2): 79-109, april, 1986. O artigo seminal de Scheifler e Gettys descrevendo o X Window System. [[SSUUNN9900aa]] SSuunn MMiiccrroossyysstteemmss.. UUssiinngg NNRROOFFFF && TTRROOFFFF.. Sun Microsystems, 1990. Parte da documentao que acompanhava as estaes de trabalho Sun e o sistema SunOS, no tempo em que os fabricantes de computadores distribuiam documentao de verdade. [[SSUUNN9900bb]] SSuunn MMiiccrroossyysstteemmss.. FFoorrmmaattttiinngg ddooccuummeennttss Sun Microsystems, 1990. Veja o tem anterior. Arquivos cuja leitura pode ser til: /usr/src/linux/Documentation/unicode.txt Explica como ativar os diversos tipos de fontes no console. Tambm explica onde obter fontes para o alfabeto Klingon, o que pode ser muito til se o leitor for um habitante daquele Imprio ou admirador de Jornada nas Estrelas. Depois das recentes aventuras espaciais do Linux, no duvido de mais nada... A respeito deste assunto de fundamental importncia saber que, segundo nosso consultor interestrelar Klaus Steding-Jessen, ``Klingon o nome da raa e do seu idioma. Kling o nome do planeta. Mas note que o Imprio Klingon formado no apenas por esse planeta, mas por vrias colnias, teoricamente todas falando Klingon''. Tenho certeza de que sua vida nunca mais ser a mesma depois de saber disto. /usr/src/linux/include/linux/keyboard.h Contm as definies de constantes, funes e macros utilizadas por programas que fazem tratamento de teclado sob Linux. Normalmente esse arquivo instalado com o pacote que contm o cdigo fonte do kernel. As distribuies geralmente possuem um pacote apenas com os arquivos _i_n_c_l_u_d_e e outros com o resto dos programas-fonte do kernel. /usr/X11R6/include/X11/keysymdef.h Contm as definies de constantes, funes e macros utilizadas por programas que fazem tratamento de teclado sob o X Window System. Normalmente esse arquivo instalado com o pacote que contm as bibliotecas de desenvolvimento de aplicaes para X. .