|
Página seguinte
Página anterior
Índice
Vamos personalizar os seguintes arquivos: /etc/profile /etc/bashrc ,.bashrc , .bash_profile, .inputrc, .less, .lessrc, .xinitrc, .fvwmrc, .fvwm2rc95 , .Xmodmap, .Xdefaults, .jedrc., .abbrevs.sl, .joerc e .emacs . Novos usuários não devem ser acrescentados até que se tenha completada a configuração do sistema. Os arquivos dot serão colocados em /etc/skel.
Para se adaptar o comportamento do interpretador de comandos bash , estes são os principais arquivos a serem editados:
- /etc/bashrc: contém um amplo sistema de funções e nomes alternativos;
- /etc/profile: contém um sistema amplo de itens de ambiente e programas de inicialização;
-
$HOME/.bashrc : contém nomes alternativos de usuários e funções;
-
$HOME/.bash_profile : contém itens de ambiente do usuário e programas de inicialização;
-
$HOME/.inputrc : contém as chaves de ligações e outros bits.
Exemplos destes arquivos são mostrados a seguir. Primeiro e mais importante:
/etc/profile. É usado para configurar muitas características de uma máquina Linux, como se pode ver nas seguintes seções:
# /etc/profile
# Ambiente global do sistema e programas de inicialização
# Funções e apelidos são definidos em /etc/bashrc
#
# Este arquivo estabelece as seguintes características:
#
# o caminho
# o indicador da linha de comandos
# algumas variáveis de ambiente
# as cores do comando ls
# o comando less
#
# Os usuários podem alterar estas configurações e/ou acrescentar outras nos
# arquivos $HOME/.bash_perfil
#
# estabelecendo um caminho adequado
echo $PATH | grep X11R6 > /dev/null
if [ $? = 1 ] ; then # adicionando entradas ao PATH
PATH="$PATH:/usr/X11R6/bin:$HOME/bin:."
fi
# notificar o usuário: ambiente ou ausência de um nos acessos. Caso haja um
# interpretador de comandos, então o indicador será azul;
# senão será magenta. O indicador de superusuário será vermelho.
USER=`whoami`
if [ $LOGNAME = $USER ] ; then
COLOUR=44
else
COLOUR=45
fi
if [ $USER = 'root' ] ; then
COLOUR=41
fi
# utilizar um caractere de fuga real ao invés de ^[. Para fazer isto:
# emacs: ^Q ESC vi: ^V ESC joe: ` 0 2 7 jed: ` ESC
# Remover `;1' caso não se queira utilizar "negrito".
ESC=^[
PS1='$ESC[$COLOUR;37;1m$USER:$ESC[37;40;1m\w\$ '
PS2="Continue> "
# por favor, sem arquivos de erro de kernel
ulimit -c 0
# configurando a umask
if [ `id -gn` = `id -un` -a `id -u` -gt 14 ]; then
umask 002
else
umask 022
fi
# algumas variáveis
USER=`id -un`
LOGNAME=$USER
MAIL="/var/spool/mail/$USER"
EDITOR=jed
HOSTNAME=`/bin/hostname`
HISTSIZE=1000
HISTFILESIZE=1000
export PATH PS1 PS2 USER LOGNAME MAIL EDITOR HOSTNAME HISTSIZE HISTFILESIZE
# comando ls em cores
eval `dircolors /etc/DIR_COLORS -b`
export LS_OPTIONS='-F -s -T 0 --color=tty'
# personalizar o less
LESS='-M-Q'
LESSEDIT="%E ?lt+%lt. %f"
LESSOPEN="| lesspipe.sh %s"
VISUAL=jed
LESSCHARSET=latin1
export LESS LESSEDIT LESSOPEN VISUAL LESSCHARSET
for i in /etc/profile.d/*.sh ; do
if [ -x $i ]; then
. $i
fi
done
Este é uma exemplo do arquivo /etc/bashrc:
# /etc/bashrc
# Sistema de funções amplas e nomes alternativos
# Itens ambientais entram em /etc/profile
alias which="type -path"
alias d="ls"
alias dir="d"
Este é um exemplo do arquivo .bashrc :
# $HOME/.bashrc
# Fonte de definições globais
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi
# isto é necessário para notificar o usuário que ele está em um
# ambiente de trabalho sem acesso à execução de comandos
if [ "$GET_PS1" = "" ] ; then
COLOUR=45
# colocar um caracter de saída real ao invés de ^[
ESC=^[
PS1='$ESC[$COLOUR;37m`whoami`:$ESC[37;40m\w\$ '
export PS1
fi
# Nomes alternativos
alias cp='cp -i'
alias l=less
alias lyx='lyx -width 900 -height 700'
alias mv='mv -i'
alias rm='rm -i'
alias x=startx
# Algumas funções úteis
inst() # Instalar um arquivo .tar.gz no diretório atual.
{ gzip -dc $1 | tar xvf - }
lz() # Listar o conteúdo de um arquivo .zip.
{ unzip -l $* }
lgz() # Listar o conteúdo de um arquivo .tar.gz.
{
for file in $* ; do
gzip -dc ${file} | tar tf -
done
}
tgz() # Criar um arquivo .tgz com zip
{
name=$1 ; tar -cvf $1 ; shift
tar -rf ${name} $*
gzip -S .tgz ${name}
}
Este é um exemplo do arquivo .bash_profile :
# $HOME/.bash_profile
# Uso de variáveis específicas e programas de inicialização
# Este arquivo contém configurações definidas pelo usuário que alteram
# aquelas presentes em /etc/profile
# Obtendo os nomes alternativos e as funções
if [ -f ~/.bashrc ]; then
GET_PS1="NO" # não altera as cores do indicador de linha de comandos
. ~/.bashrc
fi
# estabelecendo alguns diretórios `padrões'
# exemplos que devem ser adaptados ao sistema do usuário
export CDPATH="$CDPATH:$HOME:$HOME/texto:$HOME/texto/geologia"
# arrumando a tecla de retorno do rxvt 2.45
if [ "$COLORTERM" != "" ] ; then
stty erase ^?
ESC=^[ # usa um caracter real de fuga ao invés de ^[
echo -n "$ESC[36l"
fi
Este é um arquivo de exemplo do .inputrc :
# $HOME/.inputrc
# chaves de ligação
"\e[1~": início de linha
"\e[3~": apagar caracter
"\e[4~": fim de linha
# (F1 .. F5) são "\e[[A" ... "\e[[E"
"\e[[A": "info \C-m"
set bell-style visible # sem som
set meta-flag On # permite entradas de 8-bits (ou seja
# caracteres acentuados)
set convert-meta Off # não separa caracteres de 8 bits
set output-meta On # lista caracteres de 8 bits corretamente
set horizontal-scroll-mode On # rola linhas de comandos longos
set show-all-if-ambiguous On # após a tecla TAB ser pressionada
Para fazer as teclas de retorno e apagar funcionarem corretamente em xterm e outros aplicativos X11, faz-se necessária a aplicação do seguinte roteiro:
- colocar em
.xinitrc :
usermodmap=$HOME/.Xmodmap
xmodmap $usermodmap
- colocar em
.Xmodmap :
keycode 22 = BackSpace
keycode 107 = Delete
Isto corrige o console. Para acertar o xterm :
- colocar em
.Xdefaults :
xterm*VT100.Translations: #sobrepõem-se a <Key>BackSpace: string(0x7F)\n\
<Key>Delete: string(0x1b) string("[3~")\n\
<Key>Home: string(0x1b) string("[1~")\n\
<Key>End: string(0x1b) string("[4~")\n\
Ctrl<Key>Prior: string(0x1b) string("[40~")\n\
Ctrl<Key>Next: string(0x1b) string("[41~")
nxterm*VT100.Translations: # sobrepõem-se a <Key>BackSpace: string(0x7F)\n\
<Key>Delete: string(0x1b) string("[3~")\n\
<Key>Home: string(0x1b) string("[1~")\n\
<Key>End: string(0x1b) string("[4~")\n\
Ctrl<Key>Prior: string(0x1b) string("[40~")\n\
Ctrl<Key>Next: string(0x1b) string("[41~")
rxvt é um pouco mais complicado, já que algumas das opções em tempo de compilação alteram o seu comportamento. Vide o .bash_profile acima.
Mais informações podem ser encontradas nas páginas de manual on-line de bash (1) e readline (3).
O ls pode mostrar uma lista de diretórios usando cores para realçar os diferentes tipos de arquivos. Para capacitar estas características, acrescente as seguintes linhas ao arquivo /etc/profile:
eval `dircolors /etc/DIR_COLORS -b`
export LS_OPTIONS='-F -T 0 --color=tty'
(Caso o arquivo /etc/DIR_COLORS não exista, deve ser removida a referência a ele na primeira linha). Isto estabelece a variável de ambiente LS_COLORS que contém a lista de cores configurada em /etc/DIR_COLORS .
Nota: isto não funciona com versões do rxvt anteriores à 2.21. Ao invés disso pode ser usado o xterm . Parece que rxvt tem um problema, que não permite herdar o ambiente corretamente em algumas circunstâncias.
O ls da Caldera não tem cores, mas há um equivalente color-ls , que pode ser acrescentado ao arquivo /etc/bashrc:
alias ls="color-ls $LS_OPTIONS"
Com este excelente paginador é possível folhear não apenas arquivos de texto puro, mas também arquivos compactados no formato gzip, arquivos zip e tar, páginas do manual e o que mais se tiver. Sua configuração envolve alguns passos:
Não uso o emacs , por isso tenho somente um conselho para dar. Algumas distribuições do emacs não vêm pré-configuradas para cores e realce de sintaxe. Deve-se então inserir o seguinte no arquivo .emacs :
(global-font-lock-mode t)
(setq font-lock-maximum-decoration t)
Isto funciona somente no X11. Deixo para o usuário a tarefa de examinar a documentação do emacs para descobrir como adaptá-la às suas necessidades -- potencialmente isso pode levar meses de programação...
Algumas pessoas relataram que o editor joe funciona com cores em X11, mas não em terminais tty. Além disso, algumas teclas especiais não funcionam. Até onde eu saiba, ninguém descobriu a solução para o pequeno incômodo anterior.
Caso este seja um problema para o leitor, uma solução rápida e deselegante, é a seguinte:
~$ export TERM=vt100
~$ joe arquivo (edita o arquivo)
~$ export TERM=linux
Este é o meu editor favorito: ele faz o que eu preciso, é mais leve e mais fácil de configurar que o emacs e em minha opinião emula outros editores superiores. Muitos usuários em minha universidade querem jed para emular o EDT , o editor de sistemas VMS.
Os arquivos de configuração do jed são chamados .jedrc e
/usr/lib/jed/lib/*; o anterior pode ser adaptado de jed.rc .
- para fazer com que o
jed use as teclas especiais corretamente, deve-se gravar o arquivo /usr/lib/jed/lib/padrões.sl cuja única linha é:
() = evalfile("linux");
- editar o arquivo /usr/lib/jed/lib/linux.sl, remover o
comentário da linha que diz
Info_Directory = "/usr/info"; e
acrescentar /bin/mail após UCB_Mailer = ;
- para fazer com que
jed emule o EDT (ou outros editores)
há que se editar algumas linhas do .jedrc . Caso se queira utilizar uma plataforma numérica '+' para apagar as palavras, ao invés de um único caractere, o seguinte conteúdo deve ser acrescentado ao .jedrc :
unsetkey("\eOl");
unsetkey("\eOP\eOl");
setkey("edt_wdel", "\eOl");
setkey("edt_uwdel", "\eOP\eOl");
depois da linha onde se lê () = evalfile("edt"); .
- para fazer com que
xjed use a plataforma numérica para emulação EDT , deve ser inserido o seguinte em .Xmodmap :
keycode 77 = KP_F1
keycode 112 = KP_F2
keycode 63 = KP_F3
keycode 82 = KP_F4
keycode 86 = KP_Separator
Além disso, deve-se estar seguro de que o arquivo /etc/X11/XF86Config contém as seguintes linhas:
# ServerNumLock # devem estar comentados
XkbInativo
Isto se aplica ao XFree 3.2. A menos que se use um teclado de padrão americano, o 'XkbInativo' pode trazer alguns pequenos problemas.
- a personalização de cores para
xjed é feita pelo acréscimo de linhas como estas em .Xdefaults :
xjed*Geometry: 80x32+150+50
xjed*font: 10x20
xjed*background: midnight blue
- a característica de ``abreviação'' é um economizador de tempo de extremo valor. Para usá-la deve-se escrever um arquivo como o seguinte conteúdo em
$HOME/.abbrevs.sl :
create_abbrev_table ("Global", "");
define_abbrev ("Global", "GG", "Guido Gonzato");
create_abbrev_table ("TeX", "\\A-Za-z0-9");
define_abbrev ("TeX", "\\beq", "\\begin{equation}");
define_abbrev ("TeX", "\\eeq", "\\end{equation}");
% e assim por diante...
e a seguir digitar ESC x abbrev_mode para habilitá-lo. Para se ter a abreviação por padrão, devem ser acrescentadas as seguintes entradas em .jedrc :
define text_mode_hook ()
{
set_abbrev_mode (1);
}
%
define fortran_hook ()
{
set_abbrev_mode (1);
use_abbrev_table ("Fortran");
}
% e assim por diante...
Este pacote é provavelmente o mais conveniente para o envio e recebimento de faxes. Deve-se adaptar o programa /usr/bin/fax nos seguintes parâmetros:
- DIALPREFIX: as chances de se colocar `T' ou `P' e ele não funcionar em diversos países é grande. Ao invés disso deve-se usar 'ATDT' caso a linha telefônica disponível funcione com tom ou 'ATDP' caso ela funcione através de pulsos;
- INIT e RESET: estas linhas contêm os inicializadores `-i' e `-k',
necessários para o
efax . Caso se queira acrescentar o comando AT, isto deve ser feito na linha apropriada, precedendo o restante com `-i' ou com `-k'. Por exemplo: para acrescentar o comando `ATX3' a INIT, deve-se usar `-iX3'.
Presumindo-se que se tenha acesso à uma distribuição do teTex, nestes casos:
- para configurar o padrão de hifenização para o idioma desejado, deve ser editado o arquivo /usr/lib/texmf/texmf/tex/generic/config/language.dat, da seguinte forma:
~# texconfig init ; texconfig hyphen
- ao se acrescentar um pacote LaTeX, deve ser executado o comando
texhash em /usr/lib/texmf/texmf/tex/latex/, a fim de que o teTex reconheça o novo pacote;
- para adaptar o
dvips , o arquivo a ser editado é /usr/lib/texmf/texmf/dvips/config/config.ps. Deve-se estar atento ao fato de que os campos relativos à resolução padrão também afetam o comportamento do xdvi . Ao se vivenciar tentativas irritantes de se criar fontes a cada vez que ele seja executado, pode-se acrescentar a seguinte linha:
XDvi*mfmode:
em .Xdefault . Isto deve resolver o problema.
Assumindo-se que o kernel tenha o suporte compilado a PPP + TCP/IP, a interface local de rede esteja habilitada, o pacote pppd esteja disponível e corretamente instalado e que o acesso como superusuário está disponível, pode-se seguir as instruções aqui mencionadas. Obviamente, o PSI - Provedor de Serviços Internet, deverá suportar conexões PPP.
Existem duas maneiras para configurar o PPP:
a) configuração manual;
b) um programa de configuração automática.
Qualquer opção escolhida, necessita das seguintes informações:
- o número de telefone do PSI;
- o nome do servidor do PSI;
- o servidor de notícias e correio do PSI;
- o domínio do PSI;
- o nome de usuário e senha.
A configuração manual é um trabalho penoso, pois trata da edição de arquivos e da gravação de programas. Não é muito trabalhosa, mas é fácil cometer-se erros, sendo que iniciantes podem facilmente se intimidar. O COMO FAZER PPP está à disposição para sanar as dúvidas mais comuns. Alternativamente, existem ferramentas que pedem as informações acima e fazem todo o trabalho.
Certamente uma saída pode residir em se pedir suporte a quem já esteja conectado ou na utilização de uma das seguintes ferramentas:
Para recuperar a correspondência de um servidor POP, pode-se usar um cliente POP como fetchpop ou fetchmail . O último é mais avançado e é provavelmente a única opção caso o servidor PPP do PSI não reconheça o comando "LAST". Eles estão disponíveis em
ftp://metalab.unc.edu/pub/Linux/system/mail/pop .
Para se configurar estes clientes deve-se observar o seguinte:
fetchpop : na primeira vez em que for executado será necessário fornecer algumas informações. Responda às perguntas e o programa poderá ser prontamente utilizado.
fetchmail : deve se adaptar o seguinte exemplo de .fetchmailrc :
# $HOME/.fetchmailrc
poll mbox.myisp.com with protocol pop3;
user didi there with password _Loo%ny is didi here
Devem ser configuradas as permissões para este arquivo com o comando chmod 600 .fetchmailrc , senão fetchmail não poderá ser executado. Este exemplo é bastante básico e assume que se tenha um arquivo sendmail disponível. Existem infinitas possibilidades de configuração, que podem ser verificadas em
http://www.ccil.org/~esr/fetchmail .
Uma vez que o X Window esteja funcionando (placa de vídeo certa, etc.), existem infinitas possibilidades de configuração, dependentes do gerente de janelas que se esteja utilizando. De qualquer maneira, a tarefa se resume na edição de um ou mais arquivos ASCII no diretório pessoal. Quanto ao gerente de janelas:
- fvwm: deve-se copiar o arquivo /etc/X11/fvwm/system.fvwmrc para o diretório pessoal com o nome de
.fvwmrc , analisar o seu conteúdo e iniciar um processo de experimentação. O arquivo system.fvwmrc é na minha opinião muito simples e não faz justiça a fvwm .
- fvwm95-2: deve-se copiar o arquivo /etc/X11/fvwm95-2/fvwm2rc95 para o diretório pessoal com o nome de
.fvwm2rc95 , o qual deve ser editado a seguir. O exemplo padrão é uma contribuição muito boa.
- TheNextLevel: este é um gerenciador de janelas bem mais difícil de configurar. Deve-se copiar o arquivo /etc/X11/TheNextLevel/.* para o diretório pessoal, observar-se o seu conteúdo e personalizá-lo. O primeiro item é denominado
.fvwm2rc.defines .
Além disso, certifique-se que há um arquivo .xinitrc próprio. Por exemplo:
#!/bin/sh
# $HOME/.xinitrc
# estabelecendo algumas teclas corretamente
usermodmap=$HOME/.Xmodmap
xmodmap $usermodmap
xset s noblank # desliga o salvador de tela
xset s 300 2 # salvador de tela inicia depois de 5 minutos
xsetroot -solid "medium blue" &
# o rxvt salva muita memória, mas versões anteriores a 2.21 têm problemas
# que afetam as teclas e a maneira pela qual o ambiente é herdado. Deve ser
# atualizada ou substituída pelo xterm.
xterm -ls -bg black -fg white -sb -sl 500 -j -ls -fn 10x20 -fb 10x20bold \
-title "Color xterm" -geometry 80x25+150+0 &
fvwm95-2
Na minha experiência, caso se precise de Fortran, uma boa alternativa para g77 é o tradutor Fortran para C f2c e a interface yaf77 .
Pode-se obter yaf77-X.Y.tgz a partir de
ftp://metalab.unc.edu/pub/Linux/devel/lang/fortran .
É aconselhável que novos usuários tenham alguns arquivos de configuração prontos quando eles forem criados no sistema. Devem ser colocados os seguintes arquivos no diretório /etc/skel:
.bashrc .bash_profile .bash_logout .inputrc .less .xinitrc
.fvwmrc .fvwm2rc95 .Xmodmap .Xdefaults .jedrc .abbrevs.sl. joerc
.emacs
Note-se que o .pinerc não pode ser completamente adaptado. Certifique-se que pelo menos os campos user-domain , smtp-server e nntp-server estejam propriamente configurados.
Ao se atualizar uma máquina, lembre-se de salvar antes alguns arquivos adicionais. Alguns deles são: /etc/X11/XF86Config,
/usr/bin/fax, ...
Página seguinte
Página anterior
Índice
|