<!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 è forse il programma più 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ù 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'è fortune, lancialo if [ -x /usr/games/fortune ] ; then echo ; /usr/games/fortune ; echo fi </PRE> <HR> <P>Questo è 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 è 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 & } </PRE> <HR> <P>Questo è 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 è 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à console. </LI> <LI> Per sistemare <CODE>xterm</CODE>, inserite questo nel vostro <CODE>.Xdefaults</CODE>: <BLOCKQUOTE><CODE> <PRE> xterm*VT100.Translations: #override <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: #override <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~") </PRE> </CODE></BLOCKQUOTE> </LI> </UL> <P><CODE>rxvt</CODE> è un po' più complicato da sistemare, perché 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ò 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ò 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'è un comando <CODE>color-ls</CODE> che è 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> (è 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 # è 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à 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'è per mesi di smanettamenti. Il Dotfile Generator (Sezione <A HREF="Config-HOWTO-5.html#Config sw">Software per la configurazione</A>) vi può 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 è 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 è il mio editor preferito: fa quello che mi serve, è più snello e più facile da configurare di <CODE>emacs</CODE> ed emula altri editor molto bene. Presso la mia università, 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ò 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) è 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é 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à 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à <CODE>var/spool/mail/$USER</CODE>; con Qmail, /home/$USER/Mailbox (ma la root userà /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 è 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 è forse il più comodo per una semplice gestione dei fax. È 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 è 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 è 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ù 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 è /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à 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à 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 è un fastidio. Si tratta di modificare vari file e scrivere degli script; non è troppo difficile, ma è 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 è 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 è 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 è <CODE>eznet down.</CODE> Tutto qui! <P> <P> <H3>Partire in fretta con wvdial</H3> <P> <P>L'installazione di <CODE>wvdial</CODE> è ancora più 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 è il più 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à giustamente di partire. Questo esempio è molto semplice; ci sono possibilità 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 è più 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 è pressoché 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ù 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, è 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é 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à quest'altro file, che chiameremo <CODE>.Xmodmap.num</CODE>: <P> <BLOCKQUOTE><CODE> <PRE> ! Le definizioni si trovano in <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à il comando <CODE>xmodmap .Xmodmap.num</CODE>. <P> <P> <H3>Login grafico con xdm</H3> <P> <P>Per ottenere il login in modalità 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 è il runlevel che corrisponde alla modalità X11 (S.u.S.E. usa 4). Modificate la linea che stabilisce il runlevel di default (di solito è 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à 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à 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ù 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 è 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 è di vostro gradimento, la scelta è limitata attualmente a KDE, Gnome, WindowMaker e XFCE. <P>È 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 & 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à 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> è 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ò 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>È 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>