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
.
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 comandos (setas para cima e para baixo); ir para o primeiro e para o último comandos do histórico (teclas PageUp e PageDown); posicionar o cursor na linha (setas para a esquerda e direita) e posicionar o cursor no início e no fim da linha (teclas Home e End). 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
Inclua as seguintes linhas no ficheiro /etc/profile
,
/etc/csh.login
ou ~/.login
:
export LANG=C
export LC_CTYPE=iso_8859_1
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.
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.
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'
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
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?
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:
http://www.conectiva.com.br/~acme.
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
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)
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 mencionados existem mas, pelo menos no teste que fiz, não obtive sucesso. Com certeza é algum problema na interface entre a cadeira e o teclado...
Especifique a opção -8 se o parser a gerar necessitar de ler dados de 8 bit.
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.
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 < obelix@biquinho.furg.br>.
Pode ser útil também um documento de exemplo para ter onde comecar. Pensando nisso, Klaus Steding-Jessen < jessen@ahand.unicamp.br> preparou um pequeno documento em Português com o objetivo de ser um guia ``by example'' para o usuário de LaTeX iniciante e intermediário, que pode ser obtido via WWW em http://www.ahand.unicamp.br/jessen/LaTeX/LaTeX-demo/.
Dicionários para o Português de Portugal podem ser obtidos via WWW na página do Projecto Natura em http://www.di.uminho.pt/~jj/pln/pln.html. Para o Brasil, há uma versão compilada pelo Ueda: http://www.ime.usp.br/~ueda/.
Eu gostaria de poder colocar maiores informações, mas ainda não tenho conhecimento suficiente sobre o Ispell e não posso ensinar o que não sei. Preciso de ajuda aqui.
Para aqueles que acham trabalhoso escrever documentos para o LaTeX usando um simples editor de texto (e realmente é) LyX é uma excelente opção. Este programa cria uma interface gráfica através da qual editamos os documentos que serão depois formatados pelo LaTeX. O ambiente é quase-WYSIWYG (What You See Is What You Get - O que tu vês é o que tu obténs). LyX não roda apenas em Linux, mas em qualquer Unix. Maiores informações podem ser obtidas em
http://www.lyx.org
Tendo o LyX instalado, é muito fácil criar documentos com acentuação em Português. Seguindo as seguintes regras:
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.
,C
e para obter uma vírgula digite ,,
. Cuidado! A seqüência
,
<espaço> gerará uma cedilha isolada e não uma vírgula!~ ^ ' e `
serão tratados como acentos. Vale a mesma regra
anterior: para obter apenas o acento, pressione a tecla duas vezes
consecutivas. : ; . / ?
e -
também serão tratados como acentos. ?a
gerará um å e assim por diante.Para 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: http://www-pu.informatik.uni-tuebingen.de/users/ettrich/.
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?