Linux Portuguese-HOWTO Carlos Augusto Moreira dos Santos, casan­ tos@cpmet.ufpel.tche.br v2.1, 17 July 1997 Este documento pretende ser um guia de referência de configuração do Linux e seus programas, teclados e fontes de caracteres, permitindo sua utilização mais confortável por pessoas que falem a Língua Por­ tuguesa. ______________________________________________________________________ Índice geral 1. Introdução 1.1 Características deste HOWTO 1.2 Onde encontrar a versão mais atual 1.3 Como enviar colaborações 1.4 Particularidades da Língua Portuguesa em diferentes países 1.5 Dificuldades encontradas pelos utilizadores de computador 1.6 Diferenças e semelhanças entre o modo texto e o X Window System 2. Leituras recomendadas 3. A configuração no modo texto (console) 3.1 O quê é um mapa de teclado? 3.2 Comandos da package KBD 3.3 Configuração do console 4. A configuração do Sistema de Janelas X (X Window System) 4.1 Configuração do xinit 4.2 Configuração do XDM 4.3 Compose 5. Configuração dos vários programas 5.1 Bash (e todos os programas que utilizam a biblioteca GNU readline) 5.2 csh / tcsh (versão 6.04 ou superior) 5.3 Joe 5.4 Less 5.5 ls 5.6 Man, groff, troff 5.7 Midnight Comander (mc) 5.8 Minicom 5.9 nn 5.10 Emacs 5.11 lemacs (lucid emacs) 5.12 flex 5.13 Pine e Pico 5.14 TeX, LaTeX 5.15 Ispell 5.16 LyX 5.17 Fortune 6. Rede local e Internet 6.1 FTP (File Transfer Protocol) 6.2 E-MAIL 7. Ficheiros necessários 8. Informações Adicionais 8.1 Versões de software testadas 8.2 Futuro 9. Agradecimentos, Nota de Direitos de Autor e Responsabilidade 9.1 Termos e Condições 9.2 Garantia (inexistência de) e nota de responsabilidade 9.3 Agradecimentos ______________________________________________________________________ 1. Introdução Em que outra língua ``pois não'' quer dizer sim e ``pois sim'' quer dizer não? 1.1. Características deste HOWTO Este documento pretende ser um guia de referência de configuração do Linux e seus programas, teclados e fontes de caracteres, permitindo sua utilização mais confortável por pessoas que falem a Língua Portuguesa. Ao contrário de procurar juntar toda a informação em um único lugar, optei por concentrar-me em alguns temas, fornecendo as referências para outros textos. É feita uma breve discussão sobre o tratamento do teclado e das fontes de caracteres do console pelo Linux, bem como do suporte a várias línguas nacionais. 1.2. Onde encontrar a versão mais atual Os Linux HOWTO podem ser obtidos via FTP anônimo nos seguintes endereços: · · Pode-se também folhear os documentos HOWTO em formato HTML no URL · · sendo este último residente no espelho da Rede Nacional de Pesquisa do Brasil. Muitas localidades mantêm cópias desses documentos. Deve-se dar preferência ao acesso à cópia mais próxima, para economizar o precioso tráfego internacional na Internet e também evitar a sobrecarga da máquina sunsite.unc.edu. Uma lista completa dessas localidades pode ser obtida em (-- Eu gostaria muito de ser informado de outros lugares onde o LDP seja espelhado, tanto no Brasil quanto em outros países de língua portuguesa. Quem tiver maiores informações por favor escreva.--) · Os Linux HOWTO estão disponíveis em diversos formatos: simples texto, PostScript, DVI, e HTML. O formato original é SGML e os demais são obtidos por meio de conversão por utilitários adequados. Para saber mais sobre SGML consulte a página do pacote SGML-tools em . Durante o período em que eu estiver cursando a Pós Graduação na Universidade Federal do Rio Grande do Sul, o Portuguese-HOWTO, assim como os vários arquivos de configuração mencionados estarão à disposição na mais feia e mal-feita página pessoal de toda a Internet: Não espere muito, por enquanto. Eu não tenho tempo para atualizá-la. Talvez no futuro seja possível colocar algumas dicas de Linux e administração de Unix em geral, mas isto não é prioridade, lamento. ATENÇÃO! Não procure por este documento nos servidores WWW ou FTP do Centro de Pesquisas Meteorológicas da Universidade Federal de Pelotas, pois será pura perda de tempo. As versões mais atuais deste documento são publicadas no sunsite.unc.edu! 1.3. Como enviar colaborações Em primeiro lugar o mais importante: o formato original deste documento não é texto simples, nem HTML. Toda a formatação, incluindo numeração das seções é feita automaticamente depois que o original é enviado para o sunsite.unc.edu. Por isso, quando for enviar sugestões ou correções, faça-o mencionando os títulos das seções onde as alterações sugeridas devem ocorrer e não os números. Nunca refira-se a um parágrafo como sendo ``o terceiro da seção 3.1''; cite as palavras inicias do trecho a ser modificado. Envie suas sugestões para casantos@cpmet.ufpel.tche.br. Todas as mensagens serão lidas, mas nem todas receberão resposta direta, devido à falta de tempo para tanto. 1.4. Particularidades da Língua Portuguesa em diferentes países Embora seja falada em Portugal e todas as suas ex-colônias, a Língua Portuguesa assume particularidades em cada um desses lugares e mesmo dentro de um mesmo país, como no caso do Brasil, país de dimensões continentais e com influências culturais de muitos outros povos. Este documento foi originalmente escrito por um português, mas está agora sendo mantido por um brasileiro. Por isso existe nele uma certa mistura de sotaques. É provável que se mantenha assim por um bom tempo, pois não há razão para alterar o texto original a não ser no caso de adições e correções, até mesmo por respeito ao primeiro autor. 1.5. Dificuldades encontradas pelos utilizadores de computador À semelhança de outras línguas faladas na Europa, a língua portuguesa reveste-se de algumas características especiais, tais como a utilização de caracteres acentuados, que tornam o seu suporte difícil, pouco intuitivo ou até mesmo impossível, por parte do software utilizado nos nossos computadores. As dificuldades encontradas centram-se essencialmente em torno de dois pontos fundamentais: · A introdução de caracteres acentuados através do teclado, como seja a escrita de jo~ao em vez da sua forma correcta: joão. · A exibição dos mesmos no écran do computador, o suporte resume-se normalmente à correcta localização das teclas, nada mais. O presente HOWTO pretende, pois, ajudar o utilizador do sistema Linux a configurar o mesmo de modo a que, dentro do possível, tanto o sistema operativo, como os programas nele utilizados, venham a suportar os caracteres acentuados e teclados com suporte para o português. Este esforço pode não ser suficiente, uma vez que existem alguns programas que não foram desenhados com vista a suportar os caracteres acentuados. Em alguns casos, pode-se contornar o problema por meio de algum artifício, mas o resultado nem sempre é totalmente satisfatório. Às vezes chega ser frustrante... São explicadas as configurações dos seguintes tipos de teclados em conjunto com o sistema operacional Linux: · Os que seguem o padrão IBM PC dos Estados Unidos, aos quais é possível adicionar suporte à acentuação por meio de redefinição das funções de algumas teclas. · Os de desenho português, usados nos computadores em Portugal e também encontrados em alguns computadores comercializados no Brasil. · Os que seguem padrão ABNT-2, encontrados em diversas marcas de computadores vendidos no Brasil (Itautec, Compaq, IBM). Além disso, também são dadas sugestões sobre o uso das teclas adicionais encontradas nos teclados para Windows 95. 1.6. Diferenças e semelhanças entre o modo texto e o X Window System O Linux foi desenhado internamente de modo a facilitar a sua fácil configuração e extensão em tempo de execução, não constituindo o tratamento do teclado e fontes de caracteres excepção. Isto foi feito seguindo um padrão internacional de definição de caracteres acentuados chamado Unicode. Esse padrão permite definir caracteres cuja representação interna no computador utiliza mais de um byte (ou octeto na nomenclatura ISO). O X Window System (ou simplesmente X, mas nunca X-Windows) também foi projetado para suportar diversos conjuntos de caracteres, idiomas e formatos de teclado. O X não usa o padrão Unicode e sim o ISO-8859. Um conjunto de caracteres é definido de acordo com os símbolos constantes no alfabeto utilizado por uma determinada língua. Esses conjuntos são identificados com um código ISO-8859-x onde o x corresponde a um determinado alfabeto. Para a língua portuguesa, recomenda-se o uso do conjunto ISO-8859-1, que corresponde ao alfabeto latino e às letras acentuadas usadas pelas línguas do oeste da Europa e América. Além dos caracteres alfanuméricos e sinais de acentuação, é possível também gerar sinais semigráficos que são úteis no desenho de linhas e bordas. Existem muitas semelhanças entre os dois ambientes. Ambos se baseiam em padrões internacionais para definição de conjuntos de caracteres. Tanto no X quanto no console é possível definir uma tecla chamada Compose cujo pressionamento seguido de duas outras teclas irá gerar o caractere correspondente. Assim sendo, o pressionamento da seqüência compose-,-c gerará um c cedilhado. Existem também grandes diferenças entre os tratamentos dados nesses dois ambientes. Em primeiro lugar, o tratamento do console é feito diretamente pelo sistema operativo e normalmente as aplicações não se envolvem com o processamento dos códigos de varredura do teclado, recebendo um caractere, ou uma seqüência deles, ao ser pressionada cada tecla. A partir da revisão 5 do X, foi incorporado à bibliotaca padrão (Xlib) um mecanismo sofisticado de suporte à geração de caracteres em diversos códigos. Isto é feito por meio da função XmbLookupString. No X, o pressionamento de uma tecla gera uma mensagem que é passada à aplicação e recebe o nome de evento. Existe até um programa muito útil chamado xev que permite observar cada um dos eventos a ele transmitido. Foge ao escopo deste texto a discussão do tratamento de eventos no X. Para maiores informações, sugiro a consulta aos documentos mencionados mais adiante. As novas versões do X (X11, revisão 6) não fazem mais o tratamento das seqüências de acentos e letras, deixando esta responsabilidade para a aplicação, mesmo no caso do uso da tecla Compose. Isto cria uma dificuldade quando usamos aplicações mais antigas, que não tenham sido desenvolvidas com suporte ao novo método de tratar a entrada. Por essas razões é normalmente mais difícil conseguir acrescentar suporte à geração de caracteres acentuados em aplicativos que rodam sob o X, principalmente quando não se possui o código fonte. É importante lembrar que aplicativos feitos para rodar apenas em modo texto, tais como vi e minicom irão depender totalmente dos recursos do emulador de terminal em uso quando rodando em uma janela do X. Se for usada uma versão atual do xterm ou rxvt (meu predileto) o emulador fará o tratamento correto dos acentos. 2. Leituras recomendadas Aquele que nunca perdeu um arquivo, que atire o primeiro disquete. Os Linux HOWTO aqui mencionados geralmente são distribuídos nos CDs de instalação e todas as distribuições possuem pelo menos alguns deles em pacotes prontos para instalar. No Slackwre esses pacotes são os da série F e os documentos ficam instalados no diretório /usr/doc/faq/howto. The Linux Keyboard and Console HOWTO Este documento descreve o tratamento teclado e console no Linux (kernel versão 2.0) e tem várias referências ao X. Leitura obrigatória para quem quer entender a base do assunto. Pode ser obtido em . The Linux XFree86 HOWTO Descreve como obter, instalar e configurar o XFree86. Pode ser obtido em . Todas as ditribuições de Linux já vêm com pacotes do XFree86 prontos para instalar, mas as informações sobre configuração podem ser muito úteis. Dead keys under Linux and X11 Este texto de Andrew D. Balsa, disponível via WWW em discute os aspectos de internacionalização no X, além de conter referências para outros documentos que tratam de internacionalização. Dead keys under X11 O francês Thomas Quinot, cansado de esperar uma solução melhor para o problema das aplicações X, resolver criar uma modificação para a biblioteca padrão do X Window System que implementa a acentuação direta. Isso permite usar aplicações como xfig ou xedit sem que seja necessário alterá-las. A versão em inglês está disponível via WWW em Testei a referida biblioteca, e o resultado me pareceu satisfatório, exceto pelo fato de a geração de caracteres semigráfigos por meio da combinação AltGr-tecla não funcionar, o que dificulta a digitação dos símbolos de seção (§), Libra (£), e outros disponíveis no teclado ABNT. /usr/src/linux/Documentation/unicode.txt Este arquivo de documentação do kernel explica como ativar os diversos tipos de fontes no console. Também explica onde obter fontes para o alfabeto Klingon, o que pode ser muito útil se o leitor for um habitante daquele planeta ou admirador de Guerra nas Estrelas. Depois das recentes aventuras espaciais do Linux, não duvido de mais nada... /usr/src/linux/include/linux/keyboard.h ou /usr/include/linux/keyboard.h" Este arquivo contém as definições de constantes, funções e macros utilizadas por programas que fazem tratamento de teclado sob Linux. Normalmente esse arquivo é instalado com o pacote que contém o código fonte do kernel. As distribuições normalmente possuem um pacote apenas com os arquivos include e outros com o resto dos programas-fonte do kernel. /usr/X11R6/include/X11/keysymdef.h ou /usr/include/X11/keysymdef.h" Este arquivo contém as definições de constantes, funções e macros utilizadas por programas que fazem tratamento de teclado sob o X Window System. Normalmente esse arquivo é instalado com o pacote que contém as bibliotecas de desenvolvimento de aplicações para X. 3. A configuração no modo texto (console) Este espaço deveria ser preenchido por uma frase inteligente e espirituosa. A configuração do teclado é conseguida redefinindo as tabelas de tradução de códigos gerados pelas teclas em caracteres e carregando fontes de caracteres de écran. Conforme descrito no Keyboard and Console HOWTO, a configuração da fonte de caracteres e mapa de teclado é feita usando o pacote KBD. Esse pacote é encontrado em todas as distribuições de Linux. 3.1. O quê é um mapa de teclado? Cada tecla do PC possui um código numérico. Ao pressionarmos uma tecla o processador controlador do teclado envia ao computador esse código de varredura, também conhecido como scancode, junto com um sinal de que a tecla foi pressionada ou solta. Essas seqüências de eventos são então processadas pelo driver de teclado e armazenadas em uma fila de caracteres que é lida pelas aplicações por meio da chamada de funções do sistema operativo. Um mapa de teclado é um ficheiro de texto onde se colocam as correspondências entre o scancode de tecla e o caractere (ou seqüência de caracteres), que será gerado quando ela for pressionada, chamado keycode. Por exemplo : # atribuição da tecla '-' do teclado numérico à tecla com código 74 keycode 74 = KP_Subtract # atribuição da tecla '4' do teclado numérico à tecla com código 75 keycode 75 = KP_4 # etc... keycode 76 = KP_5 # tecla 5 keycode 77 = KP_6 # tecla 6 keycode 78 = KP_Add # soma keycode 79 = KP_1 # tecla 1 keycode 80 = KP_2 # tecla 2 Além das teclas alfabéticas, numéricas e de símbolos, existem outras chamadas modificadoras que permitem gerar códigos que não correspondem a nenhum sinal gráfico. Essas teclas são Shift Control Alt e Meta, sendo que essa última normalmente não é encontrada em teclados de PCs. apenas em estações de trabalho de fabricantes como Sun, SGI, HP e DEC. 3.2. Comandos da package KBD Loadkeys O comando loadkeys permite especificar a equivalência entre a tecla que se pressiona no teclado e o código (keycode) que os programas recebem. Isto é conseguido através do carregamento de um mapa de teclado. Por exemplo, o comando loadkeys /usr/lib/kbd/keytables/portugal.map carrega o mapa do teclado português. É importante observar que o sistema tem como formato padrão de teclado o americano. O mapa não precisa obrigatoriamente definir todas as teclas, apenas aquelas cujo tratamento deve ser feito de modo diferente do normal. Ao atribuirmos um caractere não padrão a uma tecla, precisamos definir também o efeito de todos os modificadores, o que não é necessário no X. Por outro lado, podemos definir regras de composição de caracteres, recurso que foi usado nos mapas aqui sugeridos para permitir que o Ç fosse gerado pela seqüência 'C. Os mapas de teclado para o console, portanto, são mais trabalhosos de elaborar (mas não muito :-) sendo esse o preço a pagar pela flexibilidade. Mapscr Além do comando anterior que opera no sentido teclado <-> aplicação, temos o comando mapscrn que opera no sentido aplicação <-> écran. Suponhamos que exista o arquivo /etc/portugal.trad contendo a seguinte linha: 123 200 Se executarmos o comando mapscrn /etc/portugal.trad então a partir deste momento se uma aplicação envia o caracter com o código 123 para o ecran, é o caracter com o código 200 será mostrado. Embora esse recurso possa realmente ser útil, é muito mais simples (e seguro) carregar uma fonte de caracteres que tenha os caracteres acentuados seguindo o padrão ISO-8859-1 e programar o console para que opere no modo Unicode Latin 1. Veremos como se faz isso logo a seguir. Setfont O comando setfont permite o carregamento de uma fonte de caracteres de ecran, possibilitando a alteração das fontes utilizadas em modo de texto. O comando a seguir, por exemplo, irá carregar uma fonte com o conjunto Latin-1: setfont lat1u-16.psf Showfont O comando showfont mostra todos os caracteres existentes na fonte que está atualmente em uso no console. O X Window System também tem um comanto chamado showfont, que serve para mostrar as características de uma determinada fonte, mas não os caracteres em si. Para esta última finalidade se usa o comando xfontsel. Se o programa showfont do pacote KBD for invocado em um emulador de terminal X, como xterm, ele gerará um erro ``GIO_SCRNMAP: Invalid argument'', mas isso não resultará em nenhum dano. 3.3. Configuração do console Para colocar o console no modo Latin-1 permitindo o uso dos acentos e caracteres semigráficos, pode ser usado o comando echo -n -e '\033B' Atenção! Versões anteriores deste documento recomendavam o uso do comando echo -n -e "\\033(K" mas nas versões 2.* do kernel do Linux esta seqüência não porá o console no nodo Latin-1, mas no modo definido pelo utilizador, o que pode não ter o mesmo resultado. A ativação do modo Latin-1 dever ser feita para cada terminal virtual, mas é muito mais fácil criar um arquivo /etc/issue que contenha as seqüências de configuração. Isso pode ser feito usando este pequeno script: #!/bin/sh ESC=`echo -n -e '\033'` echo "${ESC}(B${ESC}[H${ESC}[J${ESC}[37m${ESC}[44m${ESC}[K" > /etc/issue echo " Welcome to \n (\s \m \r) \l${ESC}[K" >> /etc/issue echo " \d \t (\U)${ESC}[K" >> /etc/issue echo "${ESC}[K${ESC}[37m${ESC}[40m" >> /etc/issue echo >> /etc/issue Esse arquivo contém seqüências de escape para o agetty, que é usado no Slackware, e faz apresentar no topo da tela um quadro colorido com várias informações úteis. No meu computador, por exemplo, aparece a seguinte mensagem em letras brancas sobre um fundo azul: Welcome to doncarlo (Linux i586 2.0.33) tty5 Fri Jul 17 1998 03:12:37 (4 users) Outras distribuições usam programas diferentes para ativar o login do usuário, o que pode obrigar a fazer alterações. Se algum dos leitores tiver um arquivo adequado para outros getty (mingetty, getty-ps, mgetty, etc.) por favor envie-me uma cópia para que seja incluida neste documento. No Slackware é importante também editar o arquivo /etc/rc.d/rc.S e comentar as linhas com os comandos que geram um novo /etc/issue cada vez que o o sistema é iniciado. Uma alternativa ao método anterior é colocar no início do /etc/rc.d/rc.S a seguinte seqüência de comandos: # Inicializacao das consolas # # activacao do modo de mapeamento Latin-1 # for tty in /dev/tty[1-9]* do echo -n -e "\\033(B" > $tty done A seguir é preciso carregar uma fonte que tenha os caractres latinos acentuados no padrão ISO 8859-1 e também os símbolos semigráficos. Isso pode ser feito com o comando setfont lat1u-16.psf No Slackware, essas fontes estão no diretório /usr/lib/kbd/consolefonts. Dependendo da distribuição esse diretório poderá ser outro. (-- Alguém que use Debian, Red Hat ou outra distribuição por favor mande uma mensagem esclarecendo-me!--) Para automatizar o processo de carga da fonte 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 A seguir é necessário carregar o mapa de teclado adequado, o que pode ser feito com o comando # loadkeys abnt2 No Slackware, esses mapas de teclado estão no diretório /usr/lib/kbd/keytables. Dependendo da distribuição esse diretório poderá ser outro. Os mapas para diversos tipos de teclados são apresentados mais adiante. Para automatizar o processo de configuração do teclado foi criado o script /etc/rc.d/rc.keyboard, contendo o seguinte: #!/bin/sh # # /etc/rc.d/rc.keyboard # # Seleciona um dos mapas de teclado disponíveis no diretório # /usr/lib/kbd/keytables # loadkeys abnt2 e acrescentei as seguintes linhas ao /etc/rc.d/rc.S, imediatamente antes do tratamento do /etc/rc.d/rc.keyboard: # Carrega uma fonte de caracteres se existe um script rc.font. if [ -x /etc/rc.d/rc.font ]; then /etc/rc.d/rc.font start fi # Carrega um mapa de teclado se sexiste um script rc.keyboard. if [ -x /etc/rc.d/rc.keyboard ]; then /etc/rc.d/rc.keyboard start fi Experimente algumas teclas como ",.|!"#$%&/()=?", etc... Muito bem, agora já temos as teclas no sítio certo (incluindo !#$%&/()=?'{} etc) mas, e os c-cedilhados, a com ~ e outros caracteres acentuados? Bem, felizmente para nós, o ficheiro de mapa de teclado permite também especificar teclas especiais chamadas deadkeys. Deadkeys são teclas, que, quando presionadas não têm como resultado o aparecimento de um caracter no écran, limitando-se a alterar o comportamento da tecla pressionada a seguir para que, por exemplo, ao ser pressionada a tecla ~ seguida da tecla a, seja provocado o aparecimento de um a-com-til (ã). (-- Ao contrário do que possa imaginar algum leitor incauto, deadkeys não são aquelas usadas para escrever ghostscripts.--) Eis a linha do ficheiro portugal.map responsável pela definição da tecla c-cedilhado: # atribuição da tecla O ficheiro com a tabela de tradução teria no entanto de ser criado por nós, seguindo um processo moroso de tentativa e erro até encontrar o caracter cuja imagem nós pretendíamos. Ou, de uma forma mais fácil, poderiamos usar o comando showfont. No entanto nas versões de software por mim testado, o uso deste ultimo comando revelou-se desnecessário. É até recomendável que não se use esse recurso, pois embora ele permita criar uma tabela de caracteres ``personalizada'' em um computador, será difícil que um documento acentuado produzido nessa máquina possa ser lido em outra que não tenha a mesma configuração. 4. A configuração do Sistema de Janelas X (X Window System) -------> Não corte aqui, ou vai destruir seu monitor. O Sistema de Janelas X vem equipado com um utilitário destinado à configuração do teclado, chamado xmodmap, que cumpre uma função idêntica ao comando loadkeys, ou seja, lê um ficheiro de mapa de teclado de X, expecificando as equivalencias entre os scancodes e respectivos keycodes. Eis um excerto deste ficheiro: keycode 47 = Ccedilla keycode 48 = masculine ordfeminine keycode 51 = Dtilde Dcircumflex_accent Observem que, ao contrário do loadkeys, o xmodmap não possui um diretório padrão onde o arquivo é procurado. A configuração do Sistema de Janelas X não interfere de forma alguma com a configuração do modo de texto. De facto, é possível ter o seu X bem configurado, e no entatanto não ter realizado qualquer tipo de configuração ao modo de texto, e vice-versa. Outro ponto importante de se observar é que os códigos numéricos das teclas no X não correspondem aos do console. A tecla Backspace, por exemplo, tem o número 14 no console, e 22 no X. As versões antigas deste documento afirmavam que na versão XFree 3.1.x não é possível a utilização de dead-keys. Eu nunca fiz esta experiência e não tenho como confirmar a informação. É certo, porém, que embora as versões 3.2 e pos­ teriores do XFree permitam a definição de dead-keys, o tratamento dessas teclas é responsabilidade da aplicação. Isto deve-se so facto de o X Consortium ter chegado à con­ clusão de que o sistema de mapeamento de teclas não tratava de forma satisfatória toda a imensa variedade de línguas escritas nas várias partes do mundo. Deste modo, decidiu-se que o ``peso'' relativo à gestão do teclado fosse trans­ ferido para as aplicações X. 4.1. Configuração do xinit Junto com este documento são fornecidos três mapas de teclado para uso no X. Para automatizar o processo de configuração do teclado basta copiar um desses arquivos para o diretório /usr/X11R6/lib/X11/xinit, onde normalmente ficam os arquivos de iníco da seção de trabalho no X. No Slackware esse diretório é um link simbólico para /var/X11R6/lib/xinit e no Red Hat para /etc/X11/xinit. Verifique se no referido diretório existe um arquivo chamado .Xmodmap. Se existir, copie o Xmodmap. para ele, ou faça um link. Normalmente o arquivo de configuração xinitrc possui os comandos para carregá-lo automaticamente. Veja o seguinte trecho: #!/bin/sh # $XConsortium: xinitrc.cpp,v 1.4 91/08/22 11:41:34 rws Exp $ userresources=$HOME/.Xresources usermodmap=$HOME/.Xmodmap sysresources=/usr/X11R6/lib/X11/xinit/.Xresources sysmodmap=/usr/X11R6/lib/X11/xinit/.Xmodmap # merge in defaults and keymaps if [ -f $sysresources ]; then xrdb -merge $sysresources fi if [ -f $sysmodmap ]; then xmodmap $sysmodmap fi 4.2. Configuração do XDM Existe ainda um pequeno problema: no meu computador, por exemplo, o sistema carrega diretamente o X ao dar boot e o login é feito pelo X Display Manager (xdm). Como o xdm faz o login antes de iniciar a seção de trabalho, o mapa de teclado não será carregado, o que pode criar problemas se o usuário usa caracteres como ``['' ou ``]'' em sua senha, pois nos teclados ABNT-2 e português esses símbolos são gerados por teclas cujos códigos numéricos não são os mesmos do teclado americano. Para resolver isso é necessário fazer uma pequena alteração no arquivo de configuração Xsetup_0. Esse arquivo deve estar no diretório /usr/X11R6/lib/X11/xdm, que no Slackware é um link simbólico para /var/X11R6/lib/xdm e /etc/X11/xdm no RedHat (sujeito a confirmação). Eis o conteúdo completo desse arquivo: #!/bin/sh # $XConsortium: Xsetup_0,v 1.3 93/09/28 14:30:31 gildea Exp $ 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 xconsole -geometry 480x130-0-0 -daemon -notify -verbose \ -fn fixed -exitOnFail 4.3. Compose Uma das coisas mais importantes a definir quando vamos utilizar acentuação por meio de dead-keys é o conjunto de regras de composição. Essas regras determinam, por exemplo que a composição do caractere ' com a letra e gerará um é. Ao contrário do console, no qual podemos definir as regras de composição no mapa de teclado, no X essas regras são colocadas no arquivo /usr/X11R6/lib/X11/locale/iso8859-1/Compose. Para facilitar o uso do teclado US+ (veja adiante) é conveniente definirmos uma nova regra de composição, permitindo que o Ç seja gerado pela seqüência 'C. Se não fizermos isso, seremos obrigados a digitar , sedo o dead_cedilla produzido pela combinação AltGR-=, o que não é nada confortável. Para incluirmos as novas regras, basta aplicar a seguinte alteração usando o utilitário patch: *** Compose.orig Tue Jun 3 23:39:14 1997 --- Compose Sun Dec 28 02:07:41 1997 *************** *** 209,212 **** --- 209,216 ---- : "\345" aring : "\346" ae + : "\307" Ccedilla + : "\307" Ccedilla + : "\347" ccedilla + : "\347" ccedilla : "\307" Ccedilla : "\307" Ccedilla *************** *** 380,383 **** --- 384,389 ---- : "\343" atilde : "\344" adiaeresis + : "\307" Ccedilla + : "\347" ccedilla : "\307" Ccedilla : "\347" ccedilla *************** *** 626,629 **** --- 632,639 ---- Ctrl : "\345" aring Ctrl : "\346" ae + Ctrl : "\307" Ccedilla + Ctrl : "\307" Ccedilla + Ctrl : "\347" ccedilla + Ctrl : "\347" ccedilla Ctrl : "\307" Ccedilla Ctrl : "\307" Ccedilla O arquivo Compose.patch pode ser obtido em minha página pessoal. Para aplicar a atualização, copie-o para o diretório /usr/X11R6/lib/X11/locale/iso8859-1/ e invoque o utilitário patch: patch < Compose.patch 5. Configuração dos vários programas Se um cão bater à sua porta, não atenda, pois cão não bate à porta. A maioria das aplicações que rodam no Unix usam algum tipo de arquivo de configuração que o usuário coloca em seu diretório de trabalho (home) e cujo nome normalmente é .alguma-coisarc. Tanto quanto possível, tentei evitar que isso fosse necessário, pois além de dar mais trabalho ao usuário (e ao administrador da rede ;-) pode dificultar um pouco as coisas. Por exemplo, aqui no CPMet temos o diretório home compartilhado entre um servidor Alpha rodando DEC UNIX com os PCs rodando Linux via NFS (até a maior parte do Linux está instalada no Alpha, os PCs só têm a partição raiz e uma área de swap). Os arquivos podem necessitar algum ajuste dependendo da plataforma e nem todos os programas possuem flexibilidade bastante para isso. Uma opção que muitos programas também oferecem é especificar em uma variável de ambiente o nome do arquivo de configuração ou o uso de arquivos padrão que normalmente ficam em um diretório /usr/lib/alguma- coisa. 5.1. Bash (e todos os programas que utilizam a biblioteca GNU read­ line) Para os programas que utilizam a biblioteca GNU readline para ler a linha de comando pode-se criar um arquivo .inputrc ou definir um arquivo de configuração global, informando seu nome às aplicações por meio da variável de ambiente INPUTRC. Coloque uma linha no seu arquivo /etc/profile contendo export INPUTRC="/etc/inputrc" e crie um arquivo /etc/inputrc contendo set meta-flag on set convert-meta off set output-meta on $if term=vt100 "\C-?":delete-char $endif $if term=xterm "\C-?":delete-char $endif $if term=xterm-color "\C-?":delete-char $endif "\e[1~":beginning-of-line "\e[3~":delete-char "\e[4~":end-of-line "\e[5~":beginning-of-history "\e[6~":end-of-history "\e[7~":beginning-of-line "\e[8~":end-of-line "\e[\C-@":beginning-of-line "\e[A":previous-history "\e[B":next-history "\e[C":forward-char "\e[D":backward-char "\e[E":beginning-of-line "\e[H":beginning-of-line "\eOH":beginning-of-line "\e[F":end-of-line "\eOF":end-of-line "\e[e":end-of-line Outra alternativa é criar um arquivo .inputrc no diretório home do usuário com o conteúdo acima, mas é muito difícil manter atualizados os arquivos de todos os usuários, principalmente quando eles são muitos. A configuração mostrada acima permitirá usar as teclas de movimentação de cursor para percorrer o histórico de coman­ dos (setas para cima e para baixo); ir para o primeiro e para o último comandos do histórico (teclas PageUp e Page­ Down); posicionar o cursor na linha (setas para a esquerda e direita) e posicionar o cursor no início e no fim da linha (teclas Home e End). Isso não tem nada a ver com acentuação, mas que facilita a vida, facilita! Para maiores informações leia os manuais do bash e da biblioteca readline com os comandos man bash man readline 5.2. csh / tcsh (versão 6.04 ou superior) Inclua as seguintes linhas no ficheiro /etc/profile, /etc/csh.login ou ~/.login: export LANG=C export LC_CTYPE=iso_8859_1 5.3. Joe Invoque o joe com a opção -asis na linha de comando ou altere os arquivos de configuração para ativar tal opção. No Slackware eles estão no diretório /usr/lib/joe. Tudo que se precisa fazer é remover o espaço em branco que existe no início de cada linha. Uma característica interessante do Joe é que ele é capaz de emular Pico, emacs e WordStar. Uma outra alternativa é acrescentar a seguinte linha ao ficheiro /etc/profile : alias joe='joe -asis' Finalmente consegui fazê-lo usar as teclas Home e End para movimentar o cursor para o início e fim da linha! Um arquivo joerc está disponível em minha página pessoal, junto com este HOWTO. 5.4. Less Coloque as seguintes linhas no seu arquivo /etc/profile: export LESS="-MM -i" export LESSCHARSET="latin1" export LESSKEY="/etc/lesskey" export LESSOPEN='|lesspipe.sh "%s"' Para criar o arquivo /etc/lesskey, crie primeiro o arquivo /etc/lesskey.in contendo as seguintes linhas: \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 \eOH goto-line \eOF goto-end \e[H goto-line \e[F goto-end :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 ;; # View contents of .rpm files *.tar) tar tvvf "$1" 2>/dev/null ;; # View contents of .tar and .tgz files *.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) # compressed groff src 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 ;; # *) FILE=`file -L "$1"` ; # Check to see if binary, if so -- view with 'strings' # FILE1=`echo "$FILE" | cut -d ' ' -f 2` # FILE2=`echo "$FILE" | cut -d ' ' -f 3` # if [ "$FILE1" = "Linux/i386" -o "$FILE2" = "Linux/i386" \ # -o "$FILE1" = "ELF" -o "$FILE2" = "ELF" ]; then # strings "$1" # fi ;; esac Não esqueça de torná-lo executável: chmod 755 /usr/bin/lesspipe.sh Essa parte do lesspipe.sh também não tem nada a ver com acentuação, mas não deixa de ser útil. Para os curiosos a respeito da referência a ``*.rpm'', embora na máquina em questão se use Slackware, é possível ter o utilitário RPM instalado também, o que facilita tomar emprestados pacotes do Red Hat, Caldera, etc. Existe um RPM+Slackware Mini-HOWTO que explica como fazer isso. 5.5. ls Acrescente a seguinte linha ao ficheiro /etc/profile : alias ls="ls -N" ou alias ls="ls -b" Se a sua distribuição de Linux usa o GNU ls (todas as que eu conheço usam) basta acrescentar ao arquivo /etc/profile ou .profile as seguintes linhas: # ----------------------------------------- # Set up the color-ls environment variables # ----------------------------------------- if [ "$SHELL" = "/bin/bash" -o \ "$SHELL" = "/bin/sh" ]; then eval `dircolors -b` elif [ "$SHELL" = "/bin/zsh" ]; then eval `dircolors -z` elif [ "$SHELL" = "/bin/ash" ]; then eval `dircolors -s` elif [ "$SHELL" = "/bin/ksh" -o \ "$SHELL" = "/bin/pdksh" ]; then eval `dircolors -k` elif [ "$SHELL" = "/bin/csh" -o \ "$SHELL" = "/bin/tcsh" ]; then eval `dircolors -c` else eval `dircolors -b` fi Se o seu shell é o csh ou tcsh, acrescente a seguinte linha ao arquivo /etc/csh.login ou ~/.login: alias ls 'ls --color' 5.6. Man, groff, troff Pode-se usar a opção de linha de comando -Tlatin1 para o groff, mas é mais simples colocar uma linha no seu arquivo /etc/profile contendo export GROFF_TYPESETTER="latin1" Para maiores informações leia o manual do groff com o comando man groff 5.7. Midnight Comander (mc) No menu Options sub-menu Configuration ligue a opção 8 bit clean. (-- Esta informação deve estar desatualizada. Alguma alma caridosa pode fornecer uma mais atual?--) 5.8. Minicom Coloque uma linha no seu arquivo /etc/profile contendo export MINICOM="-m -c on" Isso permitirá usar a tecla Alt para ativar os comandos (exatamente como o Telix) e também usar cores. Para maiores informações, leia o manual do Minicom usando o comando man minicom Uma dica sobre o Minicom: eu não consegui fazê-lo usar corretamante a tecla Alt Quando rodando sob o xterm mas sim com o rxvt. Para isso há um script chamado xminicom que pode ser obtido em minha página pessoal. Há uma versão recente do Minicom traduzida para o português pelo pessoal da Conectiva, que pode ser obtida na página pessoal de Arnaldo Carvalho de Melo: . 5.9. nn Acrescente a seguinte linha ao ficheiro ~/.nn/init: (-- Alô, alô, alguém usa nn? Informação mais atualizada será bem recebida.--) set data-bits 8 5.10. Emacs O pai de todos os editores pode ser configurado criando-se um arquivo chamado .emacs no diretório do usuário, contendo as seguintes linhas: (set-input-mode nil nil 1) (standard-display-european t) (require 'iso-syntax) Para tornar esta configuração global, coloque os comandos no arquivo /usr/lib/emacs/site-lisp/site-start.el Se ele não existir, crie-o. Se o estimado leitor, assim como eu, não se agrada do tratamento dado pelo Emacs às teclas de Delete, Home e End, aproveite a oportunidade e acrescente ao mesmo arquivo o seguinte: (global-unset-key [backspace] ) (global-set-key [backspace] 'delete-backward-char) (global-unset-key [delete] ) (global-set-key [delete] 'delete-char) (define-key global-map [home] 'beginning-of-line) (define-key global-map [C-home] 'beginning-of-buffer) (define-key global-map [end] 'end-of-line) (define-key global-map [C-end] 'end-of-buffer) 5.11. lemacs (lucid emacs) Coloque no seu /.emacs as linhas : (load-file "/usr/lib/lemacs-19.27.1/lisp/x11/x-iso8859-1.el") (load-file "/usr/lib/lemacs-19.27.1/lisp/x11/x-compose.el") Esta informação está desatualizada. O Lucid Emacs já nem tem mais esse nome; agora se chama XEmacs. Os arquivos men­ cionados existem mas, pelo menos no teste que fiz, não obtive sucesso. Com certeza é algum problema na interface entre a cadeira e o teclado... 5.12. flex Especifique a opção -8 se o parser a gerar necessitar de ler dados de 8 bit. 5.13. Pine e Pico Para o Pine utilizar o conjunto de caracteres Latin 1, coloque uma linha no arquivo .pinerc, no diretório do usuário, contendo character-set=ISO-8859-1 ou crie um arquivo geral de configuração contendo tal linha. Esse arquivo normalmente é /usr/local/lib/pine.conf ou /usr/lib/pine.conf Para maiores informações leia o manual do pine com o comando man pine Ainda não consegui fazer nem o Pine nem o Pico usarem as teclas Home e End para movimentar o cursor para o início e fim da linha. Uma solução intermetiária seria mapear essas teclas para gerarem ^A e ^E, como era feito na versão original do mapa ABNT-2, mas isso atrapalhava outras aplicações, principalmente no X. Talvez a versão 4 do PINE trate melhor o problema, mas ainda nao a testei. 5.14. TeX, LaTeX O pacote Babel, criado por Johannes Braams provê suporte a um grande número de línguas para o LaTeX. Normalmente apenas o suporte a separação silábica para Inglês e Alemão são carregados. Para configurar a separação silábica no teTeX, execute o utilitário texconfig, que deve ser o programa /usr/lib/teTeX/bin/texconfig. Selecione a opção ``HYPHEN''. O editor de texto será carregado, para editar o arquivo /usr/lib/teTeX/texmf/tex/generic/config/language.dat. Procure uma linha que começa por %portuges e remova o %. Grave o arquivo e saia do editor. O texconfig atualizará diversos arquivos de configuração (não se assuste com a quantidade de mensagens que aparecerão na tela). (-- O editor carregado normalmente é o vi. Se o seu editor predileto for outro, crie uma variável de ambiente chamada EDITOR contendo o nome desse programa.--) Normalmente a introdução de caracteres acentuados no texto exige o uso de seqüências de escape bastante trabalhosas. Para gerar um ``ö'' deve-se digitar \"o. Com babel pode-s digitar apenas "o, o que não deixa de ser inconveniente para ler o fonte do documento. Há um pacote chamado inputenc que permite especificar a codificação em que estão os caracteres de um documento. Lembre-se porém que se o seu documento for enviado para outro usuário que não possua o inputenc ele poderá não conseguir processá-lo, mas esse recurso já está disponível desde a liberação do LaTeX2e em dezembro 1994. Todas as distribuições de Linux atuais o incluem. Para testar a nova configuração copie o seguinte trecho para um arquivo chamado, digamos, exemplo.tex: \documentclass[a4paper,portuguese]{article} \usepackage[latin1]{inputenc} \usepackage{babel} \begin{document} \title{Linux Portuguese-HOWTO} \author{Carlos Augusto Moreira dos Santos} \date{17 de julho de 1998} \maketitle \section{Introdução} Este documento pretende ser um guia de referência de configuração do \textbf{Linux} e seus programas, teclados e fontes de caracteres, permitindo sua internacionalização/utilização confortável por pessoas que falem a Língua Portuguesa. \end{document} Esse texto propositadamente contém uma palavra bastante longa para forçar a separação silábica. Ele está disponível no arquivo exemplo.tex em minha página pessoal. Para processá-lo, use o comando latex, conforme mostrado a seguir: bash$ latex exemplo.tex This is TeX, Version 3.14159 (C version 6.1) (exemplo.tex LaTeX2e <1996/06/01> Hyphenation patterns for english, german, portuges, loaded. (/usr/lib/teTeX/texmf/tex/latex/base/article.cls Document Class: article 1996/05/26 v1.3r Standard LaTeX document class (/usr/lib/teTeX/texmf/tex/latex/base/size10.clo)) (/usr/lib/teTeX/texmf/tex/latex/base/inputenc.sty beta test version (/usr/lib/teTeX/texmf/tex/latex/base/latin1.def)) (/usr/lib/teTeX/texmf/tex/generic/babel/babel.sty (/usr/lib/teTeX/texmf/tex/generic/babel/portuges.ldf (/usr/lib/teTeX/texmf/tex/generic/babel/babel.def))) (exemplo.aux) [1] (exemplo.aux) ) Output written on exemplo.dvi (1 page, 892 bytes). Transcript written on exemplo.log. A mensagem ``Hyphenation patterns for english, german, portuges, loaded.'' indica que a configuração foi bem sucedida. Se o seu computador está rodando o X Window System o documento formatado poderá ser visto com o comando xdvi exemplo.dvi Há uma lista de discussão brasileira de usuários de TeX/LaTeX, chamada TeX-BR, que roda no servidor de listas da FURG. Para entrar da lista mande um mail contendo apenas a palavra ``subscribe'' no corpo para tex-br-request@listas.furg.br. Esta lista é administrada por Rafael Rodrigues Obelheiro . Pode ser útil também um documento de exemplo para ter onde comecar. Pensando nisso, Klaus Steding-Jessen preparou um pequeno documento em Português com o objetivo de ser um guia ``by example'' para o usuário de LaTeX iniciante e intermediário, que pode ser obtido via WWW em . 5.15. Ispell Dicionários para o Português de Portugal podem ser obtidos via WWW na página do Projecto Natura em . Para o Brasil, há uma versão compilada pelo Ueda: . (-- Eu gostaria de poder colocar maiores informações, mas ainda não tenho conhecimento suficiente sobre o Ispell e não posso ensinar o que não sei. Preciso de ajuda aqui.--) 5.16. LyX Para aqueles que acham trabalhoso escrever documentos para o LaTeX usando um simples editor de texto (e realmente é) LyX é uma excelente opção. Este programa cria uma interface gráfica através da qual editamos os documentos que serão depois formatados pelo LaTeX. O ambiente é quase-WYSIWYG (What You See Is What You Get - O que tu vês é o que tu obténs). LyX não roda apenas em Linux, mas em qualquer Unix. Maiores informações podem ser obtidas em Tendo o LyX instalado, é muito fácil criar documentos com acentuação em Português. Seguindo as seguintes regras: · Se o teclado foi configurado para ter dead keys usando um dos mapas aqui fornecidos, não é necessário fazer mais nada. Basta digitar o texto normalmente usando as seqüências de acentuação. · Se o teclado não foi configurado para ter dead keys ainda assim é possível acentuar no LyX. Selecione o menu Options/Keyboard. Na caixa de diálogo ``Key Mappings'', selecione no ítem Language/Primary a opção ``American''. Com isto o LyX fará a composição dos caracteres acentuados usando regras semelhantes às das dead keys. · A vírgula será tratada como cedilha. Para obter um Ç digite ,C e para obter uma vírgula digite ,,. Cuidado! A seqüência , gerará uma cedilha isolada e não uma vírgula! · ~ ^ ' e ` serão tratados como acentos. Vale a mesma regra anterior: para obter apenas o acento, pressione a tecla duas vezes consecutivas. · : ; . / ? e - também serão tratados como acentos. ?a gerará um å e assim por diante. Para que o LyX consiga imprimir corretamente, é necessário que, ao criar um novo documento, sejam selecionados a língua e a codificação de caracteres adequadas. Crie um documento selecionando o menu File/New. Depois selecione o menu Layout/Document. Na caixa de diálogo ``Document Layout'' selecione no ítem Language a opção ``brazil'' ou ``portuges'' (sem o u mesmo); no ítem Encoding selecione ``latin1''. Uma observação final sobre o LyX: até a versão 0.12 ele utiliza a biblioteca XForms para construir a interface com o usuário. Como essa biblioteca não tem suporte para acentuação, não é possível digitar letras acentuadas nas caixas de diálogo. Segundo os desenvolvedores, nas novas versões do LyX será possível escolher o tipo de interface ao compilar o programa, o que permitirá o uso de toolkits mais flexíveis. Já existe uma versão de LyX portada para o KDE por Matthias Ettrich -- autor original do LyX -- e Kalle Dalheimer, chamada KLyX. Para maiores informações, consulte via WWW: . 5.17. Fortune Fortune é aquele programa que toda vez que é invocado apresenta uma pequena mensagem, geralmente bem humorada. Ele é inspirado nos biscoitos da fortuna chineses (em inglês fortune cookies, daí o nome). Eis algumas mensagens típicas: dROGA!!oNDE ESTA O cAPSLOCK?? Mouse não encontrado, bater no gato? (S/N) Que fio é ess<=V++088.../NO CARRIER Quem ri por último está conectado a 2400Bit/s. Tudo que o programa faz é escolher aleatoriamente uma mensagem em um repositório mantido no diretorio /usr/games/fortunes. Neste diretório existem diversos arquivos com as ``fortunas'' e um arquivo índice para cada um deles, que possui a extensão .dat. O formato dos arquivos é muito simples: cada fortuna é composta de uma série de linhas de texto. As fortunas são separadas umas das outras por linhas contendo apenas um caracter %. Veja o trecho a seguir: O que são quatro pontos na parede? Four migas. Ugh! % Errar é humano, botar a culpa no computador é mais humano ainda. % Aí ela me disse: Ou eu ou o modem! Sinto muitas saudades dela... Tudo que temos a fazer é criar um arquivo com as fortunas chamado, digamos fortunes com o formato descrito acima. Depois basta usar o programa strfile para gerar o índice: strfile fortunes e um arquivo chamado fortunes.dat será criado. Claro que se quisermos que o fortune mostre apenas mensagens em Português, teremos que remover os arquivos existentes no diretório /usr/games/fortunes. Sugiro simplesmente renomeá-lo para fortunes-en (de English) e criar outro vazio. Eu coletei algumas fortunas e as coloquei no arquivo fortunes-pt.tar.gz que pode ser obtido em minha página pessoal. Não esqueça de colocar no seu /etc/profile algumas linhas contendo uma chamada ao fortune, por exemplo # ---------------------------------------------------------------------- # Send a funny message... # ---------------------------------------------------------------------- if { -x /usr/games/fortune -a ! -e $HOME/.hushlogin }; then echo /usr/games/fortune echo fi Uma última informação: se o nome de um arquivo termina com o sufixo -o o fortune só o consulta se for chamado com a opção -o. Esses arquivos são os que contém mensagens cujo conteúdo pode ser considerado ofensivo por algumas pessoas, tais como Só não mando a sogra pro inferno, com pena do Diabo. Claro que existem coisas muito mais ofensivas por aí, mas este é um Linux-HOWTO e não queremos realmente ofender ninguém, certo? 6. Rede local e Internet Eu antes me achava muito indeciso, mas agora não tenho certeza. 6.1. FTP (File Transfer Protocol) Como sabemos, o modo de transferencia de ficheiros binarios é o binary, sendo o modo ASCII utilizado para textos. No entanto, o modo de transfêrencia ASCII remove o oitavo bit de cada caracter transmitido, o que terá como consequencia a perda de todos os caracteres acentuados. Desta forma é aconselhado o envio de documentação em modo binary de forma a manter a integridade da mesma. Cuidado! Algumas versões mais antigas do pacote net-tools do Linux têm um cliente FTP que não reconhee corretamente quando o servidor remoto roda Unix. Deste modo ele não comutará o modo de transferência para binário automaticamente. Além disso, alguns servidores FTP também não fornecem a informação corretamente. Certifique-se de digitar o comando bin antes de um get quando quiser que a transferência seja binária! 6.2. E-MAIL O mesmo tipo de restrições do FTP se aplica ao envio de documentos contendo caracteres acentuados, através de E-MAIL. Embora isto não aconteça en todos os sistemas em uso na internet, bastará que o correio enviado passe no seu trajecto por um sistema que não suporte 8 bits de informação para que o nosso documento seja deturpado. Para que não hajam problemas, deve-se utilizar um programa de mail, que suporte o formato MIME (Multipurpose Internet Mail Extensions), formato este que permite o envio de documentação em modo 8 bits. Exemplos de programas de correio eletrônico com suporte para MIME, são o Eudora e o Pine. Se o destinatário da mensagem não usa um agente com suporte para MIME, existe a opção de codificar os documentos com o utilitário UUENCODE. Para maiores informações a esse respeito, leia a documentação usando os seguintes comandos: man uuencode man uudecode 7. Ficheiros necessários A verdade está lá fora, alguém sabe a URL? Foram elaborados mapas com suporte à acentuação para três tipos de teclados, tanto para uso no console quanto para o X. A seguir é dada uma breve explicação sobre cada um deles. As versões anteriores deste HOWTO incluiam a listagem completa dos mapas de teclado. A partir da versão 2.1, isso não é mais feito, pois estava tornando o texto final muito longo. Eles podem ser obtidos via WWW em minha página pessoal: Ao instalar um dos mapas fornecidos, lembre-se de ler os comentários contidos neles, pois há informações importantes sobre opções de configuração e aproveitamento das teclas adicionais dos teclados padrão Windows 95. O mapa US+ (us+.map) Esse mapa é para os teclados que seguem o padrão americano. Como não existem teclas especiais para gerar o c-cedilhado nem o trema, foi usado um pequeno truque: o c-cedilhado é gerado pela seqüência 'C. Opcionalmente, pode-se fazê-lo com a seqüência AltGR-C. O trema é gerado pela tecla ". Para gerar as aspas duplas no console é necessário digitar a seqüência " ou ""; opcionalmente (obrigatoriamente no X) pode-se usar AltGR-", o que não é uma solução muito confortável, mas funciona... Testado com teclados de várias marcas (e alguns sem marca :-). Salve este mapa com o nome de /usr/lib/kbd/keytables/us+.map e coloque no /etc/rc.d/rc.keyboard uma linha contendo loadkeys us+ O mapa Portugal (pt.map) Para aqueles que possuem um teclado com desenho português. Esses teclados possuem uma tecla com os caracteres « e ». Eu não os considero muito confortáveis, porque para gerar o símbolos @ [ ] { } e o trema é necessário usar a tecla Alt-GR. Para escrever programas em C é uma tortura. O criador desse desenho certamente programava apenas em FORTRAN... Testado com um teclado da marca Key Tronic. Salve este mapa com o nome de /usr/lib/kbd/keytables/pt.map e coloque no /etc/rc.d/rc.keyboard uma linha contendo loadkeys pt O mapa ABNT-2 (abnt-2.map) Os computadores vendidos no Brasil fabricados pela IBM, Compaq e Itautec, entre outros, vêm com esses teclados. Eles também pode ser adquiridos avulsos e são fabricados pela UIS e Keytec (não confundir com Key Tronic). Eu considero esse desenho o mais confortável de todos, pois tem a mesma distribuição dos acentos encontrada nas máquinas de escrever. Testado com teclados das marcas UIS e IBM. Salve este mapa com o nome de /usr/lib/kbd/keytables/abnt2.map e coloque no /etc/rc.d/rc.keyboard uma linha contendo loadkeys abnt2 Xmodmap.us+ Este mapa não define uma tecla para gerar o C-cedilha. Se fizéssemos isso, teríamos que ``roubar'' uma tecla e ela faria falta. O mais conveniente é definirmos uma regra de composição para facilitar a geração do C-cedilha com a seqüência 'C. Salve este mapa com o nome de /usr/X11R6/lib/X11/xinit/Xmodmap.us+ e copie-o para o .Xmodmap no mesmo diretório. Xmodmap.pt Salve este mapa com o nome de /usr/X11R6/lib/X11/xinit/Xmodmap.pt e copie-o para o .Xmodmap no mesmo diretório. Xmodmap.abnt2 Salve este mapa com o nome de /usr/X11R6/lib/X11/xinit/Xmodmap.abnt2 e copie-o para o .Xmodmap no mesmo diretório. 8. Informações Adicionais Seraqueochefevaidescobrirqueeuderrubeicafénoteclado? 8.1. Versões de software testadas Todas as informacões presentes neste documento foram testadas nas seguintes versões de software: · Distribuição Slackware 3.2 (muito modificada) · XFree86 3.3 · Fvwm95 2.0.43 · Rxvt 2.4.5 · Kernel 2.0.33 · Kbd 0.92 · GNU emacs 19.34 · Less 321 · GNU Bash 1.14.7 · LyX 0.12.0 · Joe 2.8 · Pine 3.96 · Pico 2.9 · teTeX 0.4 · XEmacs 20.3 8.2. Futuro Futuras adições a este documento: · Acrescentar mais referências a documentos sobre configuração do Linux e suas aplicações. · Melhorar o hiperdocumento, com mais ligações internas e externas, para tornas as versões Texinfo e HTML mais fáceis de pesquisar. · Suporte para outras distribuições. O documento ainda está muito Slackwariano. Mencionar a Conectiva. · Informações sobre compartilhamento de arquivos em rede usando NFS, SAMBA e Mars-NWE. · Informações sobre recursos de i18n da Glibc 2 e distribuições que a usam (Red Hat 5.x, Debian 2, Conectiva). · Incluir informações sobre configuração de toolkits: Qt, GTK, XForms, Tk (Tcl) e os baseados em Xt, como Motif, Lesstif, Xaw (*international ainda não está funcionando). · Mencionar o projeto de internacionalização das aplicações GNU. Incluir uma seção sobre desenvolvimento de programas. · Aumentar o número de colaboradores não só no Brasil, mas em Portugal e outros países de língua portuguesa. · Melhorar as referências ao Ispell e usá-lo para corrigir o próprio HOWTO :-). · Incluir mais informações sobre ISO-8859, Unicode, X/Open, XPG4 e POSIX, ou pelo menos ponteiros para elas. 9. Agradecimentos, Nota de Direitos de Autor e Responsabilidade Alf^H^Hgué,^Hm sag^Hbe como fas^Hzer funcu^Hionar o bakspace nestt^He terminal? Este HOWTO teve como autor João Carlos Rodrigues Pereira, baseado em documentação escrita por José Bandeira além dos restantes HOWTO's do Linux. Atualmente ele é mantido por Carlos Augusto Moreira dos Santos. 9.1. Termos e Condições Os documentos HOWTO do Linux podem ser reproduzidos e distribuídos em todo ou em parte, segundo qualquer meio físico ou electrónico, desde que esta Nota de Direitos de Autor se mantenha intacta em todas as cópias dos mesmos. A distribuição comercial é autorizada e encorajada, no entanto, o autor gostaria de ser notificado de tais ocorrências. Todas as traduções, trabalhos derivados, ou trabalhos agregando qualquer dos documentos HOWTO do Linux deverão estar abrangidos por esta Nota de Direitos de Autor, ou seja, não poderá ser imposta qualquer restrição adicional a trabalhos efectuados a partir de um dos documentos HOWTO do Linux nomeadamente no que diz respeito à sua distribuição. Excepções a estas regras poderam ser obtidas. Para tal, dever-se-á contactar o coordenador dos documentos HOWTO do Linux no endereço linux-howto@sunsite.unc.edu. 9.2. Garantia (inexistência de) e nota de responsabilidade Não é garantido que as informações aqui contidas sejam totalmente corretas ou que tenham algum tipo de utilidade ou aplicação comercial, técnica, educacional ou medicinal. O autor não se responsabiliza por prejuízos decorrentes do seu uso. Documentos escritos por terceiros são de responsabilidade exclusiva deles e sua referência neste HOWTO não representa nenhum tipo de recomendação, abono ou garantia de suporte. Se a informação aqui contida quebrar seu computador em mil pedacinhos, junte tudo e cole, mas não reclame para mim! Dúvidas, sugestões, correções e garrafas de bom vinho devem ser enviadas para Carlos A M dos Santos Avenida Ildefonso Simões Lopes, 2791 CEP 96.060-290, Pelotas, RS, Brasil Telefone (0532) 23-2525 Fax (0532) 23-4814 e-mail: casantos@cpmet.ufpel.tche.br Flames terão o destino costumeiro: /dev/null. 9.3. Agradecimentos Deixo aqui os meus agradecimentos a todos os que de alguma forma me ajudaram quer através das suas sugestões quer através de contribuições de outro tipo. Em especial a: João Carlos Rodrigues Pereira Autor original deste documento que agora mantenho. Nunca tive contato com ele, nem sei por onde andará. Sua página no Departamento de Informática da Faculdade de Ciências da Universidade de Lisboa não existe mais (http://caravela.di.fc.ul.pt/~jcrp/). Lembro-me de tê-la visto, anos atrás. Greg Hankins Ex-coordenador dos Linux HOWTO, por me permitir assumir a manutenção deste documento e fornecer as primeiras dicas sobre autoria de documentos SGML. Os seguintes agradecimentos são do primeiro autor: Carlos Ferreira Pela luta que trava pela defesa da lingua portuguesa, bem patente na sua Página Portuguesa disponivel no URL: http://lila.dei.uc.pt/~cjrf/po/ João C. Silva Pelo apoio e incentivo e criticas (bem como por me deixar testar os meus conhecimentos no SEU computador). José Bandeira Autor dos ficheiros port.map e xmodmap. Pelo seu apoio e por ter escrito alguma da documentação mais elucidativa que eu já li sobre o assunto. As pessoas listadas a seguir enviaram mensagens diretamente para mim ou para as listas Linux-BR da UNICAMP e TeX-BR com informações, sugestões ou comentários que foram incluidas neste texto. Se alguém não foi mencionado, por favor desculpe a falha. Arnaldo Carvalho de Melo ; Cees de Groot ; Francisco Semeraro ; Ken MacLeod ; Klaus Steding-Jessen Lamarque Vieira Souza ; Marcos Vinicius Lannes dos Santos ; Rafael Rodrigues Obelheiro ; Wanderlei Antonio Cavassin EOT.