Sophie

Sophie

distrib > Mandriva > 9.1 > i586 > by-pkgid > f1098342ec4a2b28475e34123ce17201 > files > 143

howto-html-it-9.1-0.5mdk.noarch.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
 <META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.9">
 <TITLE> Configuration HOWTO: Configurazione software </TITLE>
 <LINK HREF="Config-HOWTO-5.html" REL=next>
 <LINK HREF="Config-HOWTO-3.html" REL=previous>
 <LINK HREF="Config-HOWTO.html#toc4" REL=contents>
</HEAD>
<BODY>
<A HREF="Config-HOWTO-5.html">Avanti</A>
<A HREF="Config-HOWTO-3.html">Indietro</A>
<A HREF="Config-HOWTO.html#toc4">Indice</A>
<HR>
<H2><A NAME="config"></A> <A NAME="s4">4. Configurazione software </A></H2>

<P>
<P>Questi sono i file di configurazione che stiamo per personalizzare:
/etc/profile /etc/bashrc
<CODE>.bashrc .bash_profile .bash_logout .inputrc .less .lessrc .xinitrc </CODE>
<CODE>.fvwmrc .fvwm2rc95 .Xmodmap .Xmodmap.num .Xdefaults .jedrc </CODE>
<CODE>.abbrevs.sl .joerc .emacs </CODE>
<P>Non aggiungete utenti prima di completare la configurazione; metterete
infatti i file dot in /etc/skel.
<P>
<P>
<H2><A NAME="ss4.1">4.1 bash(1)</A>
</H2>

<P>
<P>Questo &egrave; forse il programma pi&ugrave; importante dopo il kernel. Per
personalizzare <CODE>bash</CODE>, questi sono i file principali da modificare:
<P>
<UL>
<LI><CODE>/etc/bashrc</CODE> contiene gli alias e le funzioni valide per
l'intero sistema;
</LI>
<LI><CODE>/etc/profile</CODE> contiene le variabili d'ambiente per l'intero
sistema e i programmi di avvio;
</LI>
<LI><CODE>$HOME/.bashrc</CODE> contiene gli alias e le funzioni
dell'utente;
</LI>
<LI><CODE>$HOME/.bash_profile</CODE> contiene le variabili
d'ambiente e i programmi di avvio dell'utente;
</LI>
<LI><CODE>$HOME/.inputrc</CODE> contiene definizioni di tasti e altri elementi.
</LI>
</UL>
<P>Qui sotto ci sono esempi di questi file. Primo, il pi&ugrave; importante:
/etc/profile. Viene usato per configurare molte caratteristiche in una
macchina Linux, come vedrete nelle sezioni seguenti. Fate attenzione agli
apici inversi!
<P>
<HR>
<PRE>
# /etc/profile

# Variabili di ambiente globali e programmi di avvio
# Le funzioni e gli alias vanno in /etc/bashrc

# Questo file imposta queste caratteristiche:
#
#   o path
#   o prompt
#   o alcune variabili d'ambiente
#   o ls a colori
#   o il comportamento di less
#   o backspace in rxvt
#
# Gli utenti possono sovrascrivere queste impostazioni e/o aggiungerne altre
# nel loro $HOME/.bash_profile

# imposta un path decente
PATH="$PATH:/usr/X11R6/bin:$HOME/bin:."

# avvisa l'utente: login o non-login shell. Se e' di login, il prompt e'
# colorato in blu; altrimenti in magenta. Il prompt di root e' rosso.
# Per una spiegazione dei codici, vedi il Colour-ls mini HOWTO.
USER=`whoami`
if [ $LOGNAME = $USER ] ; then
  COLOUR=44  # blu
else
  COLOUR=45  # magenta
fi

if [ $USER = 'root' ] ; then
  COLOUR=41  # rosso
  PATH="$PATH:/usr/local/bin"
fi

ESC="\033"
PROMPT='\h'    # hostname
STYLE=';1m'    # grassetto
# PROMPT='\u'  # nomeutente
# STYLE='m'    # testosemplice
PS1="\[$ESC[$COLOUR;37$STYLE\]$PROMPT:\[$ESC[37;40$STYLE\]\w\\$ "
PS2="> "

# niente core dump, per piacere
ulimit -c 0

# imposta umask
if [ `id -gn` = `id -un` -a `id -u` -gt 14 ]; then
  umask 002
else
  umask 022
fi

# alcune variabili
USER=`id -un`
LOGNAME=$USER
MAIL="/var/spool/mail/$USER"  # sendmail, postfix, smail
# MAIL="$HOME/Mailbox"        # qmail
NNTPSERVER=news.myisp.it      # inserite il vostro qui
VISUAL=jed
EDITOR=jed
HOSTNAME=`/bin/hostname`
HISTSIZE=1000
HISTFILESIZE=1000
export PATH PS1 PS2 USER LOGNAME MAIL NNTPSERVER
export VISUAL EDITOR HOSTNAME HISTSIZE HISTFILESIZE

# abilita ls a colori
eval `dircolors /etc/DIR_COLORS -b`
export LS_OPTIONS='-F -s -T 0 --color=yes'

# personalizza less
LESS='-M-Q'
LESSEDIT="%E ?lt+%lt. %f"
LESSOPEN="| lesspipe.sh %s"
LESSCHARDEF=8bcccbcc13b.4b95.33b. # mostra i colori in ls -l | less
PAGER=less
export LESS LESSEDIT LESSOPEN VISUAL LESSCHARDEF

# aggiusta il backspace per rxvt/xterm
CTRL_H="\010"
NULL_STRING=" $CTRL_H" # spazio + backspace
if [ "$NULL_STRING" != "" ] ; then
  stty erase ^?
else
  stty erase ^H
fi

# imposta il titolo xterm title: path completo
case $TERM in
  xterm*)
    PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME}: ${PWD}\007"'
    ;;
esac

for i in /etc/profile.d/*.sh ; do
  if [ -x $i ]; then
    . $i # attenzione - le variabili e gli alias potrebbero sovrapporsi!
  fi
done

# se c'&egrave; fortune, lancialo
if [ -x /usr/games/fortune ] ; then
  echo ; /usr/games/fortune ; echo
fi
</PRE>
<HR>
<P>Questo &egrave; un esempio di /etc/bashrc:
<P>
<HR>
<PRE>
# /etc/bashrc

# Funzioni e alias globali
# Le variabili d'ambiente vanno in /etc/profile
# Inserite qui le definizioni PS1 se si verificano problemi.

export CDPATH="$CDPATH:~"

# alias comuni
alias cp='cp -i'
alias l=less
alias ls="ls $LS_OPTIONS"
alias mv='mv -i'
alias rm='rm -i'
alias rmbk='/bin/rm -f .*~ *~ *aux *bak *log *tmp 2> /dev/null'
alias u='cd ..'
alias which="type -path"
alias x=startx

# Alcune funzioni utili
c ()    # cd per la nuova directory ed elenco del contenuto
{
  cd $1 ; ls
}

inst()  # Installa un archivio .tar.gz nella directory corrente
{
  if [ $# != 0 ]; then tar zxvf $1; fi
}

cz()    # Elenca il contenuto di un archivio .zip
{
  if [ $# != 0 ]; then unzip -l $*; fi
}

ctgz()  # Elenca il contenuto di un archivio .tar.gz
{
  for file in $* ; do
    tar ztf ${file}
  done
}

tgz()   # Crea un archivio .tgz alla zip.
{
  if [ $# != 0 ]; then
    name=$1.tar; shift; tar -rvf ${name} $* ; gzip -9 ${name}
  fi
}

crpm()  # elenca le informazioni in un file .rpm
{
  if [ $# != 0 ]; then rpm -qil $1 | less; fi
}
</PRE>
<HR>
<P>Questo &egrave; un esempio di <CODE>.bashrc</CODE>:
<P>
<HR>
<PRE>
# $HOME/.bashrc
# Prendi le definizioni globali

if [ -f /etc/bashrc ]; then
  . /etc/bashrc
fi

# questo serve per avvisare l'utente che si trova in non-login shell
if [ "$GET_PS1" = "" ] ; then
  COLOUR=45; ESC="\033"; STYLE=';1m';  # STYLE='m'
  USER=`whoami`
  export PS1="\[$ESC[$COLOUR;37$STYLE\]$USER:\[$ESC[37;40$STYLE\]\w\\$ "
fi

# alias personali
alias backup='tar -Mcvf /dev/fd0'
alias dial='eznet up myisp'
alias f='cd ~/fortran'
alias hangup='eznet down'
alias lyx='lyx -width 580 -height 450'
alias restore='tar -M -xpvf /dev/fd0'

# funzioni personali
xj()    # Lancia xjed e un file in background
{
  xjed $1 &amp;
}
</PRE>
<HR>
<P>Questo &egrave; un esempio di <CODE>.bash_profile</CODE>:
<P>
<HR>
<PRE>
# $HOME/.bash_profile

# Variabili di ambiente e programmi di avvio utente
# Questo file contiene impostazioni personalizzati che si sovrappongono
# a quelli in /etc/profile

# Prendi gli alias e le funzioni
if [ -f ~/.bashrc ]; then
  GET_PS1="NO"  # non cambiare il colore del prompt
  . ~/.bashrc
fi

# imposta alcune directory di default
export CDPATH="$CDPATH:$HOME:$HOME/testi:$HOME/testi/geologia"
</PRE>
<HR>
<P>Questo &egrave; un esempio di <CODE>.inputrc</CODE>:
<P>
<HR>
<PRE>
# $HOME/.inputrc

# combinazioni di tasti
"\e[1~": beginning-of-line
"\e[3~": delete-char
"\e[4~": end-of-line
# (F1 .. F5) are "\e[[A" ... "\e[[E"
"\e[[A": "info \C-m"

set bell-style visible         # non fare beep
set meta-flag On               # permetti input a 8-bit (ad esempio le lettere accentate)
set convert-meta Off           # non togliere l'ottavo bit
set output-meta On             # mostra i caratteri a 8-bit correttamente
set horizontal-scroll-mode On  # scorri la linea di comando se e' lunga
set show-all-if-ambiguous On   # dopo aver premuto TAB
</PRE>
<HR>
<P>Per fare funzionare i tasti backspace e delete in <CODE>xterm</CODE> e altre
applicazioni X11, bisogna inoltre:
<P>
<UL>
<LI> mettere questo nel vostro <CODE>.xinitrc</CODE>:

<BLOCKQUOTE><CODE>
<PRE>
usermodmap=$HOME/.Xmodmap
xmodmap $usermodmap
</PRE>
</CODE></BLOCKQUOTE>

</LI>
<LI> e nel vostro <CODE>.Xmodmap</CODE> dovrete inserire:

<BLOCKQUOTE><CODE>
<PRE>
keycode 22 = BackSpace
keycode 107 = Delete
</PRE>
</CODE></BLOCKQUOTE>


questo adatta la modalit&agrave; console.
</LI>
<LI> Per sistemare <CODE>xterm</CODE>, inserite questo nel vostro
<CODE>.Xdefaults</CODE>:

<BLOCKQUOTE><CODE>
<PRE>
xterm*VT100.Translations: #override &lt;Key>BackSpace: string(0x7F)\n\
        &lt;Key>Delete:        string(0x1b) string("[3~")\n\
        &lt;Key>Home:          string(0x1b) string("[1~")\n\
        &lt;Key>End:           string(0x1b) string("[4~")\n\
        Ctrl&lt;Key>Prior:     string(0x1b) string("[40~")\n\
        Ctrl&lt;Key>Next:      string(0x1b) string("[41~")

nxterm*VT100.Translations: #override &lt;Key>BackSpace: string(0x7F)\n\
        &lt;Key>Delete:        string(0x1b) string("[3~")\n\
        &lt;Key>Home:          string(0x1b) string("[1~")\n\
        &lt;Key>End:           string(0x1b) string("[4~")\n\
        Ctrl&lt;Key>Prior:     string(0x1b) string("[40~")\n\
        Ctrl&lt;Key>Next:      string(0x1b) string("[41~")
</PRE>
</CODE></BLOCKQUOTE>

</LI>
</UL>
<P><CODE>rxvt</CODE> &egrave; un po' pi&ugrave; complicato da sistemare, perch&eacute; alcune opzioni si
danno in fase di compilazione. Vedete il /etc/profile qui sopra.
<P>Ulteriori informazioni nelle pagine man di <CODE>bash</CODE>(1) e <CODE>readline</CODE>(3).
<P>Non vi aspettate che tutte le applicazioni funzionino! Con <CODE>joe</CODE> in
<CODE>xterm</CODE>, ad esempio, alcuni tasti non funzionano; lo stesso vale per
alcune versioni di <CODE>rxvt</CODE>.
<P>
<P>
<H2><A NAME="ss4.2">4.2 ls(1)</A>
</H2>

<P>
<P><CODE>ls</CODE> pu&ograve; mostrare a colori i contenuti delle directory, per evidenziare
i diversi tipi di file. Per abilitare questa caratteristica, servono un paio
di linee come in /etc/profile qui sopra. Questo per&ograve; non
funziona in alcune versioni di <CODE>rxvt</CODE>; dovrete usare <CODE>xterm</CODE>.
Sembra che <CODE>rxvt</CODE> abbia un bug che gli impedisce in alcuni casi di
ereditare correttamente le variabili di ambiente.
<P>Caldera ha un <CODE>ls</CODE> che non supporta i colori, ma c'&egrave; un comando
<CODE>color-ls</CODE> che &egrave; la stessa cosa. Inserite in /etc/bashrc:
<P>
<BLOCKQUOTE><CODE>
<PRE>
alias ls="color-ls $LS_OPTIONS"
</PRE>
</CODE></BLOCKQUOTE>
<P>
<P>
<H2><A NAME="ss4.3">4.3 less(1)</A>
</H2>

<P>
<P>Con questo eccellente pager si leggono non solo file di testo, ma anche file
compressi con gzip, archivi tar e zip, pagine man e altro ancora. La sua
configurazione richiede alcuni passaggi:
<P>
<UL>
<LI> per abilitare i tasti cursore, scrivetevi questo file <CODE>.lesskey</CODE>
(&egrave; un semplice file ASCII) nella vostra directory principale:

<BLOCKQUOTE><CODE>
<PRE>
^[[A   back-line
^[[B   forw-line
^[[C   right-scroll
^[[D   left-scroll
^[OA   back-line
^[OB   forw-line
^[OC   right-scroll
^[OD   left-scroll
^[[6~  forw-scroll
^[[5~  back-scroll
^[[1~  goto-line
^[[4~  goto-end
^[[7~  goto-line
^[[8~  goto-end
</PRE>
</CODE></BLOCKQUOTE>


quindi lanciate il comando <CODE>lesskey</CODE>. Si tratta di sequenze di escape per
terminali vt100. Questa consente di creare un file binario chiamato
<CODE>.less</CODE> contenente le definizioni dei tasti.

</LI>
<LI> scrivetevi questo script col nome
/usr/local/bin/lesspipe.sh:

<HR>
<PRE>
#!/bin/sh
# Preprocessore per 'less'. Viene usato quando questa variabile di ambiente
# &egrave; impostata:   LESSOPEN="|lesspipe.sh %s"

lesspipe() {
  case "$1" in
  *.tar) tar tf $1 2>/dev/null ;; # Vedi i file .tar e .tgz
  *.tgz|*.tar.gz|*.tar.Z|*.tar.z) tar ztf $1 2>/dev/null ;;
  *.Z|*.z|*.gz) gzip -dc $1  2>/dev/null ;; # Vedi i file compressi
  *.zip) unzip -l $1 2>/dev/null ;; # Vedi gli archivi
  *.arj) unarj -l $1 2>/dev/null ;;
  *.rpm) rpm -qpil $1 2>/dev/null ;;
  *.cpio) cpio --list -F $1 2>/dev/null ;;
  *.1|*.2|*.3|*.4|*.5|*.6|*.7|*.8|*.9|*.n|*.man) FILE=`file -L $1`
    FILE=`echo $FILE | cut -d ' ' -f 2`
    if [ "$FILE" = "troff" ]; then
      groff -s -p -t -e -Tascii -mandoc $1
    fi ;;
  *) file $1 | grep text > /dev/null ;
    if [ $? = 1 ] ; then # non e' un file di testo di qualche tipo
      strings $1
    fi ;;
  esac
}

lesspipe $1
</PRE>
<HR>


e rendetelo eseguibile con <CODE>chmod 755 lesspipe.sh</CODE>.
</LI>
<LI> inserite le variabili necessarie, che sono gi&agrave; presenti nel file
/etc/profile visto prima. La variabile <CODE>LESSCHARSET</CODE> dipende
dal fatto che io vivo in Italia e quindi uso il set di caratteri ISO 8859/1.
Gli amici americani, giapponesi, russi e altri fanno meglio a non impostarla.
</LI>
</UL>
<P>
<P>
<H2><A NAME="ss4.4">4.4 emacs(1)</A>
</H2>

<P>
<P>Uso <CODE>emacs</CODE> di rado, quindi ho solo un paio di dritte.
Alcune versioni di <CODE>emacs</CODE> non sono preconfigurate per i colori e
l'evidenziazione della sintassi. Scrivete quanto segue nel vostro
<CODE>.emacs</CODE>:
<P>
<BLOCKQUOTE><CODE>
<PRE>
(global-font-lock-mode t)
(setq font-lock-maximum-decoration t)
</PRE>
</CODE></BLOCKQUOTE>
<P>Funziona solo in X11. Inoltre, per abilitare le lettere accentate
dovrete aggiungere:
<P>
<BLOCKQUOTE><CODE>
<PRE>
(standard-display-european 1)
</PRE>
</CODE></BLOCKQUOTE>
<P>Lascio a voi la lettura di tutta la documentazione di
<CODE>emacs</CODE> per scoprire come adattarlo ai vostri gusti; potenzialmente,
ce n'&egrave; per mesi di smanettamenti. Il Dotfile Generator (Sezione 
<A HREF="Config-HOWTO-5.html#Config sw">Software per la configurazione</A>) vi pu&ograve; dare una mano.
<P>
<P>
<H2><A NAME="ss4.5">4.5 joe(1)</A>
</H2>

<P>
<P>Alcune versioni di <CODE>joe</CODE> non funzionano a colori in console, e non vanno
nemmeno certi tasti speciali. Una soluzione svelta (ma inelegante) per il
primo problema &egrave; questa:
<P>
<BLOCKQUOTE><CODE>
<PRE>
~$ export TERM=vt100
~$ joe myfile
   (modificate il vostro file)
~$ export TERM=linux
</PRE>
</CODE></BLOCKQUOTE>
<P>Per fare in modo che i tasti speciali funzionino, modificate <CODE>.joerc</CODE>,
<CODE>.jstarrc</CODE> o l'emulazione che preferite; potete partire dai file di
configurazione in /usr/lib/joe. Fate riferimento alla quarta sezione
(binding dei tasti) che abilita i tasti Home e End:
<P>
<BLOCKQUOTE><CODE>
<PRE>
bol ^[ [ 1 ~    Go to beginning of line
eol ^[ [ 4 ~    Go to end of line
</PRE>
</CODE></BLOCKQUOTE>
<P>Scoprite le sequenze di escape desiderate digitando <CODE>cat</CODE> seguito dai
tasti speciali.
<P>
<H2><A NAME="ss4.6">4.6 jed(1)</A>
</H2>

<P>
<P>Questo &egrave; il mio editor preferito: fa quello che mi serve, &egrave; pi&ugrave; snello e
pi&ugrave; facile da configurare di <CODE>emacs</CODE> ed emula altri
editor molto bene. Presso la mia universit&agrave;, molti usano <CODE>jed</CODE> in
emulazione <CODE>EDT</CODE>, l'editor di sistema di VMS.
<P>I file di configurazione sono <CODE>.jedrc</CODE> e /usr/lib/jed/lib/*;
il primo pu&ograve; essere adattato dal file <CODE>jed.rc</CODE> che sta nella directory
appena indicata.
<P>
<UL>
<LI> per fare usare i tasti speciali a <CODE>jed</CODE>, create un file di nome
/usr/lib/jed/lib/defaults.sl contenente una sola linea:

<BLOCKQUOTE><CODE>
<PRE>
() = evalfile("linux");
</PRE>
</CODE></BLOCKQUOTE>

</LI>
<LI> se <CODE>xjed</CODE> apparentemente non riconosce il tasto DEL,
aggiungete queste linee nel vostro <CODE>.jedrc</CODE>:

<BLOCKQUOTE><CODE>
<PRE>
#ifdef XWINDOWS
  x_set_keysym (0xFFFF, 0, "\e[3~");
  setkey (`delete_char_cmd'', "\e[3~");
#endif
</PRE>
</CODE></BLOCKQUOTE>

</LI>
<LI> modificate /usr/lib/jed/lib/linux.sl e scrivete le due linee
<CODE>Info_Directory = "/usr/info";</CODE> e <CODE>UCB_Mailer = "/bin/mail";</CODE>;
</LI>
<LI> configurare <CODE>jed</CODE> per fargli emulare <CODE>EDT</CODE> (o altri editor)
&egrave; semplicissimo: dovete solo cambiare un paio di linee nel vostro
<CODE>.jedrc</CODE>. Se volete usare il tasto `+' del tastierino numerico per
cancellare parole anzich&eacute; un singolo carattere, aggiungete in <CODE>.jedrc</CODE>:

<BLOCKQUOTE><CODE>
<PRE>
unsetkey("\eOl");
unsetkey("\eOP\eOl");
setkey("edt_wdel", "\eOl");
setkey("edt_uwdel", "\eOP\eOl");
</PRE>
</CODE></BLOCKQUOTE>


dopo la linea con scritto <CODE>() = evalfile("edt");</CODE>.
</LI>
<LI> per fare usare a <CODE>xjed</CODE> il tastierino numerico per l'emulazione
<CODE>EDT</CODE>, inserite quanto segue in <CODE>.Xmodmap</CODE>:

<BLOCKQUOTE><CODE>
<PRE>
keycode 77  = KP_F1
keycode 112 = KP_F2
keycode 63  = KP_F3
keycode 82  = KP_F4
keycode 86  = KP_Separator
</PRE>
</CODE></BLOCKQUOTE>

</LI>
<LI> la scelta dei colori per <CODE>xjed</CODE> si fa aggiungendo linee come le
seguenti in <CODE>.Xdefaults</CODE>:

<BLOCKQUOTE><CODE>
<PRE>
xjed*Geometry: 80x32+150+50
xjed*font: 10x20
xjed*background: midnight blue
# eccetera...
</PRE>
</CODE></BLOCKQUOTE>

</LI>
<LI> la funzionalit&agrave; delle abbreviazioni fa risparmiare un sacco di tempo.
Scrivete un file come questo col nome <CODE>$HOME/.abbrevs.sl</CODE>:
(potete modificare questo nome inserendo
<CODE>variable Abbrev_File = "/usr/lib/jed/abbrev.sl";</CODE>
in <CODE>.jedrc</CODE>)

<BLOCKQUOTE><CODE>
<PRE>
create_abbrev_table ("Global", "0-9A-Za-z");
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}");
% and so on...
</PRE>
</CODE></BLOCKQUOTE>


quindi digitate <CODE>ESC x abbrev_mode</CODE> per abilitarlo. Se volete avere le
abbreviazioni attivate per default, aggiungete queste entry in <CODE>.jedrc</CODE>:

<BLOCKQUOTE><CODE>
<PRE>
define text_mode_hook ()
{
  set_abbrev_mode (1);
}
%
define fortran_hook ()
{
  set_abbrev_mode (1);
  use_abbrev_table ("Fortran");
}
% e cosi' via...
</PRE>
</CODE></BLOCKQUOTE>

</LI>
</UL>
<P>
<P>
<H2><A NAME="ss4.7">4.7 pine(1)</A>
</H2>

<P>
<P>Modificate la configurazione globale in /usr/lib/pine.conf, tenendo
in considerazione almeno i campi seguenti: <CODE>user-domain</CODE>,
<CODE>smtp-server</CODE> e <CODE>nntp-server</CODE>. Notate che
<CODE>inbox-path</CODE> dipende dal vostro MTA: se utilizzate <CODE>sendmail</CODE> o
<CODE>postfix</CODE>, sar&agrave; <CODE>var/spool/mail/$USER</CODE>; con Qmail,
/home/$USER/Mailbox (ma la root user&agrave;
/var/qmail/alias/Mailbox.
<P>
<P>
<H2><A NAME="ss4.8">4.8 minicom(1)</A>
</H2>

<P>
<P>Gli utenti possono servirsi di <CODE>minicom</CODE> se non &egrave; stata creata una configurazione
globale dalla root. Ricordatevi di farlo.
<P>
<P>
<H2><A NAME="ss4.9">4.9 efax(1)</A>
</H2>

<P>
<P>Questo programma &egrave; forse il pi&ugrave; comodo per una semplice gestione dei fax.
&Egrave; necessario modificare lo script /usr/bin/fax; molto semplice, ma ci
sono un paio di stranezze che mi hanno procurato qualche grattacapo:
<P>
<UL>
<LI> per scoprire se il modem &egrave; di classe 1, 2 o 2.0, utilizzate minicom o
un programma simile per eseguire il comando <CODE>at+fclass=?</CODE>. La risposta potrebbe essere simile a
<CODE>0,1,2</CODE>; 1 e 2 sono le classi supportate dal modem;
</LI>
<LI> DIALPREFIX: in Italia (e forse anche altri Paesi) non basta mettere
`<CODE>T</CODE>' o `<CODE>P</CODE>'. Inserite invece `<CODE>ATDT</CODE>' o `<CODE>ATDP</CODE>';
</LI>
<LI> INIT and RESET: queste stringhe contengono gli inizializzatori
`<CODE>-i</CODE>' e `<CODE>-k</CODE>', necessari per <CODE>efax</CODE>. Se volete aggiungere un
comando AT, mettetelo nella stringa appropriata senza `<CODE>AT</CODE>' ma col
prefisso `<CODE>-i</CODE>' o `<CODE>-k</CODE>'. Per esempio, per aggiungere `<CODE>ATX3</CODE>'
a INIT, dovrete mettere `<CODE>-iX3</CODE>'.
</LI>
</UL>
<P>Dopo questa operazione, ci sono alcuni permessi da stabilire
per fare in modo che gli utenti non-root inviino e ricevano fax. Le directory
/var/lock e /var/spool/fax devono essere modificabili.
Per fare questo, create il gruppo <CODE>faxusers</CODE>, aggiungetevi gli utenti e digitate:
<P>
<BLOCKQUOTE><CODE>
<PRE>
~# chown root.faxusers /var/lock
~# mkdir /var/spool/fax
~# chown root.faxusers /var/spool/fax; chmod g+w /var/spool/fax
</PRE>
</CODE></BLOCKQUOTE>
<P>
<P>
<H2><A NAME="ss4.10">4.10 Ghostscript</A>
</H2>

<P>
<P>Questo tool essenziale pone un piccolo intralcio. A causa delle note regole
di esportazione degli Stati Uniti, l'utility <CODE>pdf2ps</CODE> non funziona
in file .pdf crittografati. Ma questo non importa: digitate nel browser l'indirizzo
<A HREF="http://www.ozemail.com.au/~geoffk/pdfencrypt">http://www.ozemail.com.au/~geoffk/pdfencrypt</A>, scaricate il file
<CODE>pdf_sec.ps</CODE> e sostituitelo al file con lo stesso nome che &egrave; disponibile
con la distribuzione di Ghostscript.
<P>
<P>
<H2><A NAME="ss4.11">4.11 TeX e programmi accessori</A>
</H2>

<P>
<P>Presumendo che abbiate la distribuzione teTeX, ecco un paio di cosette:
<P>
<UL>
<LI> scaricate altri pacchetti LaTeX dal sito mirror CTAN pi&ugrave; vicino,
ad esempio 
<A HREF="ftp://ftp.dante.de/pub/tex">ftp://ftp.dante.de/pub/tex</A>. Aggiungete i file a
/usr/share/texmf/tex/latex, quindi eseguite il comando <CODE>texhash</CODE>
per fare in modo che teTeX riconosca il nuovo pacchetto;
</LI>
<LI> per configurare la sillabazione, modificate il file
/usr/lib/texmf/texmf/tex/generic/config/language.dat ed
eseguite i comandi:

<BLOCKQUOTE><CODE>
<PRE>
~# texconfig init ; texconfig hyphen
</PRE>
</CODE></BLOCKQUOTE>

</LI>
<LI> per personalizzare <CODE>dvips</CODE>, il file da modificare &egrave;
/usr/share/texmf/dvips/config/config.ps. Attenzione, i
campi riguardanti la risoluzione di default toccano anche <CODE>xdvi</CODE>; se vi
succede che quest'ultimo cerca di ricreare i font ogni volta che lo fate
partire, aggiungete in <CODE>.Xdefault</CODE> la linea

<BLOCKQUOTE><CODE>
<PRE>
XDvi*mfmode:
</PRE>
</CODE></BLOCKQUOTE>


Questo dovrebbe aiutare.
</LI>
<LI> per includere immagini PostScript che si trovano nelle sottodirectory, potete
espandere il path di ricerca di TeX per includere le sottodirectory. Mettete questo comando in
.bash_profile:

<BLOCKQUOTE><CODE>
<PRE>
export TEXINPUTS="$HOME/figures::./figures"
</PRE>
</CODE></BLOCKQUOTE>


che fa in modo che TeX cerchi in <CODE>$HOME/figures</CODE> prima delle directory
di default e in <CODE>./figures</CODE> dopo le directory di default.
</LI>
</UL>
<P>
<P>
<H2><A NAME="ss4.12">4.12 Evitate PPProblemi!</A>
</H2>

<P>
<P>Si d&agrave; per scontato che il vostro kernel abbia il supporto per i protocolli PPP e TCP/IP,
che il loopback sia abilitato e che disponiate gi&agrave; del pacchetto <CODE>pppd</CODE> correttamente
installato e magari impostato suid root. Ovviamente, il vostro ISP deve
supportare il protocollo PPP.
<P>Ci sono due modi per fare funzionare il PPP: 1) configurazione manuale, e 2)
un programma di configurazione che faccia tutto lui. Qualunque opzione
scegliate, dovrete avere queste informazioni a portata di mano:
<P>
<UL>
<LI> il numero di telefono del vostro ISP;
</LI>
<LI> l'indirizzo del server del nome, delle mail e delle news del vostro ISP;
</LI>
<LI> il dominio del vostro ISP;
</LI>
<LI> i vostri username e password.
</LI>
</UL>
<P>La configurazione manuale &egrave; un fastidio. Si tratta di modificare vari file e
scrivere degli script; non &egrave; troppo difficile, ma &egrave; facile fare errori e i
nuovi utenti ne sono spesso spaventati. Il PPP HOWTO vi attende. In
alternativa, ci sono programmi che vi richiedono le informazioni elencate
qui sopra e fanno il lavoro per voi.
<P>Gnome &egrave; KDE includono, rispettivamente, <CODE>gnome-ppp</CODE> e <CODE>kppp</CODE>
che sono molto semplici da installare. In alternativa, suggerisco che diate un'occhiata
a un paio di tool basati su testo semplice, <CODE>wvdial</CODE> ed <CODE>eznet</CODE>.
Dovete fornire loro il numero di telefono dell'ISP, il vostro username, la vostra password ed
&egrave; fatta. Le relative home page sono disponibili
agli indirizzi 
<A HREF="http://www.worldvisions.ca/wvdial">http://www.worldvisions.ca/wvdial</A> e
<A HREF="http://www.hwaci.com/sw/eznet">http://www.hwaci.com/sw/eznet</A>. Entrambi sono molto utili, ma preferisco
l'ultimo.
<P>
<P>
<H3>Partire in fretta con eznet</H3>

<P>
<P>Prima di tutto, create un file /etc/resolv.conf come questo:
<P>
<BLOCKQUOTE><CODE>
<PRE>
nameserver w.x.y.z
</PRE>
</CODE></BLOCKQUOTE>
<P>dove inserirete l'indirizzo del name server del vostro provider. Per
creare un account con <CODE>eznet</CODE>, eseguite questo comando:
<P>
<BLOCKQUOTE><CODE>
<PRE>
#~ eznet add service=VOSTRO_ISP user=NOME password=PASSWORD phone=NUMERO
</PRE>
</CODE></BLOCKQUOTE>
<P>che crea il file /var/eznet/eznet.conf della root.root
con permessi 600; modificatelo in 666 se desiderate che tutti lo possano leggere.
Quindi provate a chiamare con <CODE>eznet up VOSTRO_ISP</CODE>. Se il modem
non prende la linea, aggiungete questo comando:
<P>
<BLOCKQUOTE><CODE>
<PRE>
#~ eznet change VOSTRO_ISP init0=atx3
</PRE>
</CODE></BLOCKQUOTE>
<P>Per finire la connessione, il comando &egrave; <CODE>eznet down.</CODE> Tutto qui!
<P>
<P>
<H3>Partire in fretta con wvdial</H3>

<P>
<P>L'installazione di <CODE>wvdial</CODE> &egrave; ancora pi&ugrave; breve. Digitate <CODE>wvdialconf
/etc/wvdial.conf</CODE>, quindi modificate il file risultante per includere il vostro
username, la password e il numero di telefono. Provate <CODE>wvdial</CODE> e
tenete le dite incrociate. Per finire la connessione, arrestatela con Ctrl-C.
<P>
<P>
<H2><A NAME="ss4.13">4.13 POP Client</A>
</H2>

<P>
<P>Per ricevere la posta dal server POP3, si usa un client POP come <CODE>fetchpop</CODE>
o <CODE>fetchmail</CODE>; quest'ultimo &egrave; il pi&ugrave; avanzato, ma richiede l'esecuzione di
<CODE>sendmail</CODE>. Si tratta di una specie di sovrapposizione nelle macchine
con specifiche minime. Si trovano su <CODE>
<A HREF="ftp://metalab.unc.edu/pub/Linux/system/mail/pop">ftp://metalab.unc.edu/pub/Linux/system/mail/pop</A> </CODE>.
<P>Per configurare questi client:
<P>
<UL>
<LI><CODE>fetchpop</CODE>: la prima volta che lo lanciate, vi verranno chieste
delle informazioni. Rispondete alle domande e siete a posto. <CODE>fetchpop</CODE>
deve essere utilizzato con lo switch <CODE>-r</CODE> se il server POP3 del vostro ISP
non implementa il comando LAST in modo corretto.
</LI>
<LI><CODE>fetchmail</CODE>: adattate questo esempio di file <CODE>.fetchmailrc</CODE>:

<BLOCKQUOTE><CODE>
<PRE>
# $HOME/.fetchmailrc
poll mbox.supernet.edu with protocol pop3;
  user pippo there with password _Loo%ny is pippo here
</PRE>
</CODE></BLOCKQUOTE>


Un utente mi ha scritto per dirmi che aggiungendo ``smtphost localhost''
alla seconda linea, le prestazioni sono molto migliorate.

Dovete impostare i permessi di questo file con <CODE>chmod 600 .fetchmailrc</CODE>,
altrimenti <CODE>fetchmail</CODE> si rifiuter&agrave; giustamente di partire. Questo esempio &egrave; molto
semplice; ci sono possibilit&agrave; di configurazione infinite.
Verificatele all'indirizzo 
<A HREF="http://www.ccil.org/~esr/fetchmail">http://www.ccil.org/~esr/fetchmail</A>.
</LI>
</UL>
<P>
<P>
<H2><A NAME="ss4.14">4.14 Sistema X Window (XFree86)</A>
</H2>

<P>
<P>
<H3>Configurare il server X</H3>

<P>
<P>Andiamo, non &egrave; pi&ugrave; difficile come una volta... Tutte le principali
distribuzioni forniscono un programma di configurazione per X11 (ad es.
<CODE>XConfigurator</CODE>, <CODE>sax</CODE>, <CODE>XF86Setup</CODE> o almeno <CODE>xf86config</CODE>). Ormai
l'installazione del server X &egrave; pressoch&eacute; automatica, ma certe schede video
possono fare i capricci. In questi casi, seguo questo metodo che ha sempre
funzionato:
<P>
<UL>
<LI> assicuratevi che il server per la VGA sia installato;
</LI>
<LI> andate su <CODE>
<A HREF="ftp://ftp.XFree86.org/pub/XFree86/current/binaries">ftp://ftp.XFree86.org/pub/XFree86/current/binaries</A> </CODE>, cd
nella sottodirectory di Linux che vi riguarda e scaricate i file
<CODE>XVERSIONEbin.tgz</CODE>, <CODE>XVERSIONEset.tgz</CODE> e tutti i server.
Il primo di questi archivi contiene il <CODE>SuperProbe</CODE> pi&ugrave; aggiornato;
</LI>
<LI> decomprimete <CODE>XVERSIONEbin.tgz</CODE> in una directory temporanea,
spostatevi in essa ed eseguite il comando <CODE>./SuperProbe</CODE>. Se la vostra scheda
video viene riconosciuta, &egrave; molto probabile che riuscirete a configurarla;
altrimenti, peccato.
</LI>
<LI> installate i server e <CODE>XVERSIONEset.tgz</CODE> partendo da
/usr/X11R6/, quindi eseguite
<CODE>XF86Setup</CODE>.
</LI>
</UL>
<P>Anche se ha sempre funzionato per me, potreste avere diversa fortuna.
Attenzione che spesso X11 non parte perch&eacute; avete scelto impostazioni troppo
elevate per il monitor! Iniziate con impostazioni di base, ad es. 800x600 e 256
colori, poi provate ad aumentarle. <EM>Attenzione</EM>: queste operazioni
sono pericolose e potreste danneggiare il monitor!
<P>
<P>
<H3>Il tastierino numerico</H3>

<P>
<P>Abbiamo visto prima come fare funzionare alcuni tasti speciali. Il file
<CODE>.Xmodmap</CODE> funziona bene se vogliamo usare Xjed, ma rende
inutilizzabile il tastierino numerico. Servir&agrave; quest'altro file, che
chiameremo <CODE>.Xmodmap.num</CODE>:
<P>
<BLOCKQUOTE><CODE>
<PRE>
! Le definizioni si trovano in &lt;X11/keysymdef.h>

keycode 77  = Num_Lock
keycode 112 = KP_Divide
keycode 63  = KP_Multiply
keycode 82  = KP_Subtract
keycode 86  = KP_Add
keycode 79  = KP_7
keycode 80  = KP_8
keycode 81  = KP_9
keycode 83  = KP_4
keycode 84  = KP_5
keycode 85  = KP_6
keycode 87  = KP_1
keycode 88  = KP_2
keycode 89  = KP_3
keycode 90  = KP_0
keycode 91  = KP_Decimal
</PRE>
</CODE></BLOCKQUOTE>
<P>Assicuratevi che /etc/X11/XF86Config non contenga queste tre
linee:
<P>
<BLOCKQUOTE><CODE>
<PRE>
  ServerNumLock
  Xleds
  XkbDisable
</PRE>
</CODE></BLOCKQUOTE>
<P>e nel caso, mettetele in un commento. Per riabilitare il tastierino, si d&agrave; il
comando <CODE>xmodmap .Xmodmap.num</CODE>.
<P>
<P>
<H3>Login grafico con xdm</H3>

<P>
<P>Per ottenere il login in modalit&agrave; grafica, si deve modificare il file
/etc/inittab, che dovrebbe includere una linea come questa:
<P>
<BLOCKQUOTE><CODE>
<PRE>
x:5:respawn:/usr/bin/X11/xdm -nodaemon
</PRE>
</CODE></BLOCKQUOTE>
<P>5 &egrave; il runlevel che corrisponde alla modalit&agrave; X11 (S.u.S.E. usa 4).
Modificate la linea che stabilisce il runlevel di default (di solito &egrave; 2 o
3), inserendo il valore qui sopra:
<P>
<BLOCKQUOTE><CODE>
<PRE>
id:5:initdefault:
</PRE>
</CODE></BLOCKQUOTE>
<P>Il numero di colori si specifica in /etc/X11/xdm/Xserver (AQVD):
<P>
<BLOCKQUOTE><CODE>
<PRE>
:0 local /usr/X11R6/bin/X :0 -bpp 16 vt07  # primo server X, colori a 65 kb
:1 local /usr/X11R6/bin/X :1 -bpp 32 vt08  # secondo server X, true colour
</PRE>
</CODE></BLOCKQUOTE>
<P>Se avete gi&agrave; il file <CODE>.xinitrc</CODE>, copiatelo nel file
<CODE>.xsession</CODE> e rendete eseguibile quest'ultimo con
<CODE>chmod +x .xsession</CODE>. Ora eseguite il comando <CODE>telinit 5</CODE> e siete
a posto!
<P>
<P>
<H3>Window Manager</H3>

<P>
<P>Una volta che il server X funziona, ci sono infinite possibilit&agrave; di
configurazione; dipende dal window manager che volete usare, e ce ne sono
decine tra cui scegliere. Quasi sempre, si tratta di modificare uno o pi&ugrave;
file ASCII nella vostra home directory; in altri casi non si deve modificare
nulla e si utilizzano appositi programmini, o addirittura un apposito menu.
<P>Alcuni esempi:
<P>
<UL>
<LI> <B>fvwm</B> e derivati: copiate il file
/etc/X11/fvwm/system.fvwmrc (o altro) nella vostra home col
nome adeguato, leggetelo e provate. Potreste perdere molto tempo prima
di ottenere quello che desiderate;
</LI>
<LI> <B>WindowMaker</B>: possiede diversi file di configurazione che
risiedono in <CODE>$HOME/GNUstep</CODE>, oltre a un ottimo
programmino di configurazione;
</LI>
<LI> <B>KDE</B> e <B>Gnome</B>: qui non &egrave; necessario modificare nulla, e si configura il
tutto da menu.
</LI>
</UL>
<P>In breve: se non vi dispiace modificare dei file di configurazione, scegliete
<CODE>icewm</CODE>, <CODE>fvwm*</CODE>, <CODE>blackbox</CODE> etc; se invece non &egrave; di vostro gradimento,
la scelta &egrave; limitata attualmente a KDE, Gnome, WindowMaker e XFCE.
<P>&Egrave; importante avere un buon file <CODE>.xinitrc</CODE>. Un esempio:
<P>
<BLOCKQUOTE><CODE>
<PRE>
#!/bin/sh
# $HOME/.xinitrc

usermodmap=$HOME/.Xmodmap
xmodmap $usermodmap

xset s noblank  # disattiva lo screen saver
xset s 300 2    # screen saver che parte dopo 5 minuti
xset m 10 5     # imposta l'accelerazione del mouse

rxvt -cr green -ls -bg black -fg white -fn 7x14 \
  -geometry 80x30+57+0 &amp;

if [ "$1" = "" ] ; then  # default
  WINMGR=wmaker
else
  WINMGR=$1
fi

$WINMGR
</PRE>
</CODE></BLOCKQUOTE>
<P>Per quanto non mi sembra che sia strettamente necessario, rendetelo
eseguibile con <CODE>chmod +x .xinitrc</CODE>.
<P>Questo <CODE>.xinitrc</CODE> consente di scegliere il window manager: provate
<BLOCKQUOTE><CODE>
<PRE>
$ startx startkde # o altro
</PRE>
</CODE></BLOCKQUOTE>
<P>(non funziona in alcune versioni di S.u.S.E.).
<P>
<P>
<H3>Impostazioni di default per le applicazioni X11</H3>

<P>
<P>Scoprite dove si trova la directory app-defaults (dovrebbe essere in
/usr/X11R6/lib/X11/app-defaults). Numerose applicazioni conservano qui
un file di configurazione.
<P>
<P>
<H2><A NAME="ss4.15">4.15 Configurazione per gli utenti</A>
</H2>

<P>
<P>Quando avete finito di configurare i file dot, copiateli nella directory
/etc/skel come gi&agrave; detto alla Sezione 
<A HREF="#config">Configurazione software</A>.
<P>
<P>
<H2><A NAME="ss4.16">4.16 Creazione di .rpms</A>
</H2>

<P>
<P><CODE>rpm</CODE> &egrave; un metodo talmente utile per il controllo dei pacchetti
che sono riluttante a installare gli archivi .tar.gz, ma solo in pochi casi speciali
(ad esempio, per la sicurezza). Ogni volta che installate un tarball, considerate di trasformarlo
in un archivio .rpm, quindi reinstallatelo; fate riferimento al RPM HOWTO. Inoltre, se utilizzate le
versioni di <CODE>gcc</CODE> aggiornate, quali <CODE>egcs</CODE> o <CODE>pgcc</CODE>, pu&ograve; essere
consigliabile immettere quanto segue in <CODE>/etc/rpmrc</CODE>:
<P>
<BLOCKQUOTE><CODE>
<PRE>
optflags: i386 -O2 -mpentium
</PRE>
</CODE></BLOCKQUOTE>
<P>
<P>
<H2><A NAME="ss4.17">4.17 Fare l'upgrade</A>
</H2>

<P>
<P>Se fate l'upgrade, oltre ai soliti backup dovrete ricordarvi di salvare
alcuni file addizionali. Alcuni potrebbero essere
/etc/X11/XF86Config,
/usr/bin/fax, tutto quello che avete messo in
/usr/local, la configurazione del kernel, l'intero
/etc e la posta in /var/spool/mail.
<P>&Egrave; quindi il momento di fare l'upgrade (in rari casi, downgrade!) delle applicazioni della
distribuzione e di aggiungere ulteriori pacchetti. Mantenete un elenco di questi
ultimi.
<P>
<P>
<HR>
<A HREF="Config-HOWTO-5.html">Avanti</A>
<A HREF="Config-HOWTO-3.html">Indietro</A>
<A HREF="Config-HOWTO.html#toc4">Indice</A>
</BODY>
</HTML>