Linux Italian-HOWTO Marco ``Gaio'' Gaiarin (gaio@dei.unipd.it) v0.4, 23 March 1996 Questo HOWTO descrive in alcuni semplici passi come configurare il proprio sistema Linux per supportare pienamente la tastiera e il set di caratteri accentati italiano. Inoltre si vuole in questo testo censire il mondo Linux in Italia. 1. Introduzione 1.1. Linux in italiano? Vi sarete accorti tutti che, nonostante la potenza e la versatilità di Linux, fargli capire che siamo in Italia non è uno dei compiti più facili. La tastiera spesso e volentieri manca di qualche cosa, anche se ci sono le lettere accentate, queste non vengono mai visualizzate, tutte le misure per la stampa sono impostate al US Letter invece che al più consono A4 Questo vuole essere un breve testo introduttivo che permetta di risolvere almeno i principali problemi. 1.2. Linux in Italia! Quello che di sicuro sappiamo è che Linux ha avuto un grosso successo in Italia, e sono nate mille realtà che ci girano attorno. Chi sviluppa o porta software, chi traduce e scrive howtos, chi scrive tesi, chi gioca, chi lavora... Insomma, ce n'è da riempire parecchie pagine! 1.3. Premesse 1.3.1. Cosa NON è questo HOWTO Questo testo NON è una guida all'installazione, nè un testo di introduzione a linux. Se questo è il vostro primo approccio a Linux, perchè lo avete appena installato o vi accingete a farlo, qui potete trovare solamente alcuni rimandi a altre pubblicazioni che vi possono aiutare. In particolare in questo testo si presume che: · Abbiate Linux installato e funzionante. Quello che di sicuro non troverete qui è una guida alla risoluzione di problemi hardware. · Abbiate una minima conoscenza della organizzazione del filesystem e la padronanza dei principali comandi, nonchè un'idea dei concetti di utente e utente ``root''. · Abbiate una minima conoscenza dell'uso dei programmi fondamentali, come un MUA, un editor di testi, un news reader, ... Come editor consiglio joe(1) ai principianti. É leggero, veloce, e funziona con una sintassi dei comandi WordStar compatibile. Se siete alle prime armi con Linux, lo avete appena installato, il consiglio che vi do è quello di mettere da parte questo HOWTO e farvi una certa cultura su Unix in generale e su Linux. Lettura ``obbligatoria'' è quella dell' Installation and getting started di Matt Welsh, o gli equivalenti libri in italiano, aquistabili nelle librerie specializzate. Trovate in fondo a questo testo, nella sezione bibliografica, tutti i riferimenti per reperire questi testi. 1.3.2. Cosa NON è Linux Non cercate in Linux la soluzione a tutti i mali. Linux in fondo è un gioco, e come tutti i giochi ha una grossa componente di serietà e una altrettanta grossa componente di divertimento. É il sistema operativo giusto per le persone che hanno voglia di divertirsi. E si presta più degli altri a diventare una filosofia di vita. 1.4. Convenzioni tipografiche · Questo è un programma(n) o file di configurazione del sistema. Il numero tra parentesi non è messo a caso. Vuol dire che quel programma è dotato di una man page, consultabile con il comando man n programma. Il fatto che scriva esplicitamente quel numero tra parentesi vuole essere un invito esplicito a leggere quella man page · Questo è un comando da impartire o un nome di file. · Questo è un [Tasto] sulla tastiera. Questa è una combinazione di tasti [Tasto1+Tasto2]. Di solito, per comodità, eviterò di scrivere le combinazioni di tasti con shift, perciò al posto di [a+Shift] scriverò il più semplice [A] · Questo è un termine nuovo presente nella sezione qui sotto o spiegato in seguito. 1.5. Terminologia root o anche supervisore. E' un utente particolare, privilegiato del sistema che ha diritto di vita e di morte su tutti gli altri. Inoltre solo lui può eseguire determinate operazioni, ed è il responsabile della manutenzione del sistema. 1.6. Note per questa versione Beta Questo HOWTO ormai ha raggiunto quella che sarà la sua struttura definitiva, ma ancora manca di parecchie cose, ed è sicuramente pieno di errori, spero non castronate ;) . Chiedo la massima collaborazione per portarlo ad una versione ``riveduta e corretta'', e vi incito a scrivermi per segnalarmi aggiunte, errori, dimenticanze, idee. Per adesso so che mancano le seguenti cose. · Il paragrafo ``Terminologia'' va scritto, con tutti i riferimenti. Sarà, molto probabilmente, l'ultima cosa che farò. · Mancano parecchie informazioni dal lato Internet, scusatemi ma sono un paladino delle reti amatoriali, e Internet la frequento il meno possibile. · Manca una sezione ringraziamenti decente, anche questa molto probabilmente sarà completata come ultima cosa. · La sezione ``Per maggiori informazioni'' è ferma alla prima parte. Sono indeciso se farne una per tutto o farne una per capitolo. Ma mi sa che sceglierò la seconda ipotesi. 1.7. Ringraziamenti Grazie a tutti quelli che mi daranno una mano. Un grazie particolare va ad Anna. Inolte ringrazio Stefano che il 26 Maggio finalmente si sposa e quindi porta via da casa Maria Luisa, mia sorella. Che Dio lo abbia in gloria ;) . Ringrazio inoltre Rete PeaceLink per il supporto tecnico, ma anche per la sua schiettezza, libertà, intelligenza, rigore. Che poi sono le stesse qualità di Linux. Ringrazio Maurizio Codogno e tutta l'area UNIX.ITA di rete FidoNet per aver gentilmente offerto parte della sua faq. 2. La Tastiera Quando premete un tasto sulla vostra tastiera, il controller interno della stessa spedisce una serie di valori (ScanCodes) al kernel. Esistono in commercio delle tastiere programmabili, ovvero delle tastiere con cui è possibile modificare gli scancodes generati. Vedremo anche che ci sono molti altri modi meno dispendiosi, oltre che cambiare tastiera, per poter associare effetti diversi ai tasti. Infatti Linux stratifica la gestione della tastiera, definendo tre categorie di gestione. Queste tre categorie, o modi, possono essere impostati dalle applicazioni, tramite IOCtls. ScanCode (Raw) Mode Quando il kernel viene posto in questa modalità, non fa altro che passare, tali e quali, gli scancodes al programma che ne ha fatto richiesta. Programmi che hanno questo comportamento sono, per esempio, X(1) e DOOM. Potete vedere gli scancode della vostra tastiera semplicemente facendo un showkey -s. KeyCode (Medium Raw) Mode Altrimenti il kernel converte gli scancode in eventi detti KeyCode composti da un flag, che indica se è un evento di tasto premuto o di tasto rilasciato, e da un numero identificativo del tasto stesso, tra l'altro seguendo l'ordine logico della tastiera, ovvero [Esc]=1, [F1]=2, ... Non esistono combinazioni. Anche il premere il tasto [Alt] o [Ctrl] genera un KeyCode, mentre premere in contemporanea più tasti genera semplicemente più KeyCode di pressione corrispondenti. Questi caratteri possono essere passati direttamente all'applicazione che ne fa richiesta in KeyCode mode. Non è molto usuale, infatti l'unica applicazione a me nota è showkey(1) che senza l'opzione -s serve proprio a fare vedere i KeyCode. KeySim Mode I KeyCode vengono filtrati dal kernel attraverso la KeyMap, ovvero una tabella di conversione. Non è un eufemismo, si tratta di una particolare tabella, un file di testo, che contiene tutte le conversioni KeyCode->KeySim. Questa conversione genera in uscita caratteri o stringhe (dette sequenze di escape, ovvero stringhe di caratteri che cominciano sempre con il carattere ASCII 26) seguendo lo standard VT100, ovvero lo standard che Linux adotta per i suoi terminali virtuali, o virtual consoles. Fanno parte di questa categoria la stragrande maggioranza degli applicativi, a partire da shells, editors e programmi vari. 2.1. Console Come abbiamo visto, possiamo agire al livello 3, modificando la KeyMap, per poter ottenere tutto quello che vogliamo. É sufficiente impartire il comando loadkeys it.map oppure loadkeys /usr/lib/kbd/keytables/it.map per riconfigurare la tastiera. Se nessuno dei due comandi funzionasse (rispondono ``cannot load file it.map''), allora evidentemente si ha una distribuzione molto vecchia di linux, oppure non si è correttamente installato il file. Non resta altro che prenderlo dal più vicino sito internet o BBS e copiarlo nella directory /usr/lib/kbd/keytables. Di solito conviene aggiungere questo comando nel file /etc/rc.d/rc.local, in modo che venga eseguito ad ogni avvio del SO. Il programma di setup della slackware permette di scegliere la KeyMap e di installarla automaticamente. Di solito, per mancanza di spazio fisico sul disco ``root'', non è possibile utilizzare la tastiera italiana nella fase di installazione. Completata l'installazione, e comunque possibile sceglierla eseguendo setup e rifacendo la configurazione del sistema. Questa KeyMap inoltre supporta alcune aggiunte molto comode per i programmatori, come le parentesi graffe, il carattere tilde e il carattere apice inverso ottenuti premendo rispettivamente [AltGr+8], [AltGr+9], [AltGr+0] e [AltGr+']. Ovviamente la modifica della tabella interessa tutto il sistema, anche se solitamente anche un utente comune può compiere questa operazione. Si consiglia quindi, quando comporti problemi di sicurezza, di impedire l'esecuzione dei programmi citati a utenti diversi da root, agendo sui permessi di esecuzione dei file. Altro programma utile oltre al già citato showkey(1) è dumpkey(1) che produce in output la tabella di conversione corrente. Si considerano utili letture le manpages di questi programmi. I programmi che girano in console di solito non hanno bisogno di accorgimenti particolari per utilizzare la tastiera italiana. Il problema maggiore, in questi casi, è quello di completare la dotazione di comandi del programma, di modo che il suo uso ne sia semplificato. 2.1.1. Shells (interpreti di comandi) 2.1.1.1. tcsh(1) è dotata di un comando che serve ad assegnare delle macro a dei KeySym, ovvero bindkey. Ad esempio, aggiungendo questo nel proprio $(HOME)/.cshrc (oppure per rendere valida la modifica per tutti gli utenti in /etc/csh.cshrc come root) si ottiene la possibilita' di usare i tasti [Home],[End] e [Canc] con i loro corretti siglificati: ______________________________________________________________________ if ($term == "xterm" || $term == "vt100" \ || $term == "vt102" || $term !~ "con*") then # bind keypad keys for console, vt100, vt102, xterm bindkey "\e[1~" beginning-of-line # Home bindkey "\e[2~" overwrite-mode # Ins bindkey "\e[3~" delete-char # Delete bindkey "\e[4~" end-of-line # End endif ______________________________________________________________________ 2.1.1.2. bash Similmente a quanto fatto per tcsh, aggiungendo nel file $(HOME)/.inputrc le seguenti righe: ______________________________________________________________________ "\e[1~": beginning-of-line "\e[3~": delete-char "\e[4~": end-of-line ______________________________________________________________________ ci si ritrova con i tasti [Home], [Canc], e [Fine] correttamente rispondenti alle funzioni che uno si aspetta. 2.1.2. Editors 2.1.2.1. Emacs 19 Emacs soffre di una grossa problematica. Il tasto [BackSpace] genera in linux il carattere ascii Ctrl-h (o 0x08), che sfortunatamente, da quando esiste emacs sulla terra, è anche il caratere con il quale viene richiamato l'help, e che, per rendere le cose ancora piu' semplici, è lo stesso che viene generato comunque premendo [Ctrl+h]. Insomma, le scelte sono due. O si rimappa BS su qualche altro tasto, o su qualche combianzione di tasti, oppure si sposta il tasto di help da qualche altra parte. Ho scelto di seguire la seconda via. I cultori di Emacs non se l'abbiano a male, questo non vuole essere un golpe... Emacs 19 ha una funzione del linguaggio interno elisp define-key che serve proprio ad assegnare i tasti. In questo modo vedremo di sistemare le cose, ovvero assegnamo al tasto BS il suo vero significato, spostando il tasto per richiamare l'help su qualche altro tasto. Piazzando questo nel proprio $(HOME)/.emacs: ______________________________________________________________________ ;; map function keys on PC keyboard (setq term (getenv "TERM")) (if (or (string= "xterm" term) (string= "con" (substring term 0 3)) ; linux consoles (string= "vt100" term) (string= "vt102" term)) (progn (defun my-setkey-hook () (define-key function-key-map "\e[1~" [home]) (define-key function-key-map "\e[2~" [insert]) (define-key function-key-map "\e[3~" [delete]) (define-key function-key-map "\e[4~" [end]) ;; these are just my own sequences ;; so I can use the keys under Emacs (define-key function-key-map "\e[40~" [C-prior]) (define-key function-key-map "\e[41~" [C-next]) ;; function keys: use same mapping as xterm (define-key function-key-map "\e[11~" [f1]) (define-key function-key-map "\e[12~" [f2]) ;; ... (define-key function-key-map "\e[24~" [f12]) (define-key function-key-map "\e[25~" [S-f1]) (define-key function-key-map "\e[26~" [S-f2]) ;; ... (define-key function-key-map "\e[39~" [S-f12]) ) (add-hook 'term-setup-hook 'my-setkey-hook) ) () ) ______________________________________________________________________ Ovviamente tutto deve essere così com'è, ovvero emacs fa molta differenza tra maiuscolo e minuscolo. Ora che abbiamo assegnato dei codici ai tasti, dobbiamo assegnare delle funzioni da eseguire! Anche qui emacs ci viene in aiuto con il comando interno global-set-key. Al solito, aggiungendo questo nel file $(HOME)/.emacs: ______________________________________________________________________ (global-set-key [delete] 'delete-char) (global-set-key [home] 'beginning-of-line) ; you might not want this (global-set-key [end] 'end-of-line) ; nor this (global-set-key [C-prior] 'beginning-of-buffer) (global-set-key [C-next] 'end-of-buffer) (global-set-key [f1] 'help-for-help) ;; ... (global-set-key [S-f12] 'info) ______________________________________________________________________ Le cose dovrebbero andare a posto. La lettura del help ipertestuale di emacs in formato info e' consigliata per saperne di piu'. Si ottiene con emacs -f info. 2.2. XFree86 NOTA: (a mo' di disclaimer ;) Se fino ad adesso è stato facile copiare dagli altri HOWTO, ora le cose si fanno ardue. I due testi che ho preso come spunto (KBD FAQ e Key-Setup mini howto) fanno scelte diferenti e non compatibili. Non tutto funziona o si comporta come dovrebbe essere. Il problema nasce da una diversa ``filosofia'', o meglio, punto di vista, dei teams di sviluppo di Linux e XFree, che porta a facili, piccole ma fastidiose, incompatibilità. Se qualcuno è più bravo di me e riesce a trovare una soluzione funzionante, si faccia avanti. Io uso troppo poco X per farmene un problema di vita... Come abbiamo già accennato in precedenza, X(1) si riporta in modalità ScanCode, ovvero và ad interagire direttamente con l'hardware, il controller della tastiera. X inoltre utilizza le sue convenzioni per la gestione dei tasti, ovviamente diversa da quella di Linux. X associa ad ogni tasto un codice (e fin qui niente di diverso), assieme a dei modifiers, ovvero dei modificatori, ovvero dei flags che indicano la contemporanea pressione dei tasti CTRL, ALT, SHIFT, META, SUPER, HYPER. Tutti i codici associati ai tasti possono essere visti nel file /usr/lib/X11/XKeysymDB. Occhio che non è un file di gestione della tastiera, ma solo un database di nomi di tasti!!! Insomma, non picchignate... Tutte quese cose possono essere anche viste utilizzando il programma xev(1), che monitorizza e visualizza tutti gli eventi di X. Ovviamente X fa il possibile per rendere indolore il passaggio dalla console al modo grafico. Cerca di ricavare da linux tutto quello che gli serve per inizializzare il suo driver di tastiera. Il problema è che sbaglia miseramente, ovviamente sul solito, sfortunato, tasto di [BackSpace]. Bisogna aggiustare le cose a mano, con il programma xmodmap(1), ma vedremo che questo di solito non basta. Come prima cosa bisogna avvisare X che abbiamo intenzione di usare [AltGr] come modificatore META. (Non vi ricordate? era una di quelle imbarazzanti domande che vi ha posto xf86config(1)...) A tal fine è bene che ci sia una cosa come questa nel vostro XF86Config(1) ______________________________________________________________________ Section "Keyboard" [...] LeftAlt Meta RightAlt ModeShift EndSection ______________________________________________________________________ Ora non resta che modificare i KeySym associati a BS e DEL. Ovviamente xmodmap(1) non fa altro che associare KeySym a X KeyCodes, come il buon vecchio loadkeys. Qui, a meno di volersi lanciare in una completa personalizzazione della tastiera, basta correggere la scorretta impostazione dei tasti BS e DEL. I metodi sono 2: O si crea un file $(HOME)/.Xmodmap così fatto: ______________________________________________________________________ keycode 22 = BackSpace keycode 107 = Delete ______________________________________________________________________ e si fa in modo che il proprio $(HOME)/.xinitrc o il generale /var/X11R6/lib/xinit/xinitrc abbia una riga del tipo ______________________________________________________________________ usermodmap=$HOME/.Xmodmap if [ -f $usermodmap ]; then xmodmap $usermodmap fi ______________________________________________________________________ Oppure inserire direttamente in $(HOME)/.xinitrc o /var/X11R6/lib/xinit/xinitrc le righe: ______________________________________________________________________ # map the [BackSpace] key to the BackSpace keysym. xmodmap -e "keycode 22 = BackSpace" # map the [Delete] key to the Delete keysym. xmodmap -e "keycode 107 = Delete" ______________________________________________________________________ che eseguono direttamente la reinizializzazione. ATTENZIONE che /var/X11R6/lib/xinit/xinitrc o $(HOME)/.xinitrc devono avere sempre come ultima riga eseguibile il nome del window manager, di solito fvwm(1), altrimenti X esce appena eseguito la lista di elementi nei suddetti file. Consiglio caldamente, se si vuole fare il proprio $(HOME)/.xinitrc, di copiarlo da quello generale e fare SOLO AGGIUNTE!!! Le applicazioni X di solito vengono configurate via risorse. Le risorse sono dei file che vengono caricati da X (/var/X11R6/lib/xinit/.Xresources, e poi $HOME/.Xresources) nel momento dell'avvio, e poi dei file, che hanno però la stessa sitassi, che vengono caricati da ogni applicazione e che si trovano tutti in /var/X11R6/lib/app-defaults. Queste impostazioni vengono gestite da un resource manager, ovvero un programma che si accolla la responsabilità di inserire, modificare, aggiornare dei valori in un database. Questo accade nel solito /var/X11R6/lib/xinit/xinitrc o $(HOME)/.xinitrc, precisamente alle righe: ______________________________________________________________________ userresources=$HOME/.Xresources sysresources=/var/X11R6/lib/xinit/.Xresources if [ -f $sysresources ]; then xrdb -load $sysresources fi if [ -f $userresources ]; then xrdb -load $userresources fi ______________________________________________________________________ Una lettura delle man page di X(1) e xrdb(1) sono consigliate per chiarirsi le idee. 2.2.1. Programmi di emulazione terminale In questo caso dobbiamo cercare di convertire la pressione dei tasti in X in codici VT100 compatibili, che ormai sappiamo essere lo standard di Linux, da mandare attraverso il programma di emulazione terminale. Tutto questo NON si applica a rxvt(1), che per adesso resta un caso patologico a parte. 2.2.1.1. Famiglia degli xterm (xterm, color_xterm, ...) Aggiungendo queste righe nel proprio $(HOME)/.Xresources: ______________________________________________________________________ *VT100.Translations: #override BackSpace: string(0x7F)\n\ Delete: string(0x1b) string("[3~")\n\ Home: string(0x1b) string("[1~")\n\ End: string(0x1b) string("[4~")\n\ CtrlPrior: string(0x1b) string("[40~")\n\ CtrlNext: string(0x1b) string("[41~") ______________________________________________________________________ tutti i programmi, shell e cose varie che girano nell'xterm si dovrebbero comportare tali quali che in console. 2.2.2. Editors 2.2.2.1. Emacs 19 In teoria le cose dovrebbero essere già a posto. Il problema è che emacs è un programma tasto-dipendente, ovvero fa un uso smodato di combinazioni di tasti. Il consiglio che vi do è che, se vi trovate con combinazioni di tasti non mappati o con comportamenti stani, provate a vedere, in un buffer vuoto, che cosa genera la pressione del tasto usando il comando view- lossage (di solito [Ctrl+h] [l]) per vedere che cosa e' stato generato. Poi non vi resta che aggiungere una riga al vostro file $HOME/.emacs visto sopra. 2.2.3. Applicazioni Motif Anche in Motif il tasto [Delete] da molti problemi. Un esempio di queste applicazioni è Mosaic o Netscape. Basta aggiungere queste righe nel proprio $HOME/.Xdefaults: ______________________________________________________________________ ! ! To make Backspace delete-previous-character and Delete ! delete-next-character in Motif applications generally ... ! *XmText.translations: #override \n\ ~a osfBackSpace: delete-previous-character() \n\ ~a osfDelete: delete-next-character() \n\ a osfDelete: delete-previous-word() \n\ c d: delete-next-character() \n\ a d: delete-next-word() \n\ c a: beginning-of-line() \n\ c e: end-of-line() \n\ c k: delete-to-end-of-line() \n\ a Left: backward-word() \n\ a Right: forward-word() *XmTextField.translations: #override \n\ ~a osfBackSpace: delete-previous-character() \n\ ~a osfDelete: delete-next-character() \n\ a osfDelete: delete-previous-word() \n\ c d: delete-next-character() \n\ a d: delete-next-word() \n\ c a: beginning-of-line() \n\ c e: end-of-line() \n\ c k: delete-to-end-of-line() \n\ a Left: backward-word() \n\ a Right: forward-word() ______________________________________________________________________ Ovviamente questo richiede comunque che i tasti [BackSpace] e [Delete] generino i corretti KeySyms. 2.3. Per maggiori informazioni Key-Setup MiniHOWTO è dove ho preso tutta la parte sul remapping della tastiera. La kbd.FAQ contiene una serie di esempi sulla configurazione spinta della tastiera. Keystroke-HOWTO descrive come assegnare macro (sequenze di tasti o esecuzione di script) ai tasti. 3. Il set di Caratteri Di certo vi stupirà sapere che lo standard POSIX, e quindi anche Linux, prevede il supporto delle regole nazionali, che vogliono dire set di caratteri, modo di scrivere data, ora, numeri in generale e i messaggi di sistema. Non vi stupirà sapere che Linux supporta per ora solo il set di caratteri, mentre viene lasciato al futuro lo sviluppo del resto. Governano la cosa delle variabili d'ambiente. In ordine: LC_ALL (oppure LANG) E' la variabile ``generale'' del gruppo, serve a definire una regola generale (il paese) con cui poi assegnare le variabili che vengono sotto. LC_COLLATE Influisce sulle regoole di parsing di alcune funzioni C. LC_CTYPE Definisce il set di caratteri. LC_MONETARY Definisce come devono essere scritti i numeri, ovvero quale, tra virgola e punto, è il separatore di decimali e migliaia e viceversa. LC_MESSAGES Definisce in che linguaggio devono essere scritti i messaggi di sistema. LC_TIME Definisce come deve essere stampata l'ora corrente. Per prima cosa l'ottavo bit deve sopravvivere nel kernel, quindi è buona cosa dare questo comando (anche se stty(1) di default ha queste impostazioni, controllare con stty -a): ______________________________________________________________________ stty cs8 -istrip -parenb ______________________________________________________________________ Inoltre, visto il mio alto senso dello Stato, e vista la fiducia in un roseo futuro, consiglio di aggiungere questo nel proprio $(HOME)/.profile o /etc/profile per sh-type shells: ______________________________________________________________________ export LANG=it export LC_CTYPE=iso-8859-1 ______________________________________________________________________ Oppure se avete c-type shells: ______________________________________________________________________ setenv LANG it setenv LC_CTYPE iso-8859-1 ______________________________________________________________________ Il primo serve per scaramanzia (sembra che XFree86 ne tenga conto...), mentre il secondo è una forzatura per evitare problemi. Come sempre la man page di locale(7) è lettura molto consigliata, come un giro per /var/X11R6/lib/locale, che sembra essere l'unica implementazione di locale oggi funzionante. Tutti finito, direte voi. Beh, quasi... Ora il problema è far capire alle applicazioni ``cattive'' che vogliamo avere i caratteri accentati. Questi hanno la interessante proprietà che sono lunghi 8 bit, mentre molti programmi ne considerano solo 7, perchè è da 7 bit il codice ASCII internazionalemte riconosciuto. 3.1. Shells 3.1.1. Bash(1) Se si vogliono usare nomi di files con lettere accentate è bene aggiungere anche questo nel proprio $(HOME)/.inputrc ______________________________________________________________________ set meta-flag on set convert-meta off set output-meta on ______________________________________________________________________ Ed inoltre questi files devono poter essere correttamente visualizzati da ls(1), quindi aggiungiamo: ______________________________________________________________________ alias ls "ls -N" ______________________________________________________________________ sempre nel solito $(HOME)/.profile o /etc/profile. 3.2. Editors 3.2.1. Emacs 19 Come sempre emacs è molto particolare. Avvisiamolo che vogliamo i caratteri accentati con : ______________________________________________________________________ (standard-display-european t) (set-input-mode nil nil 1) (require 'iso-syntax) (load-file "iso-insert.el") (define-key global-map [?\C-.] 8859-1-map) ______________________________________________________________________ Aggiunto al nostro bravo $(HOME)/.emacs Inoltre, se si usa Emacs in un Xterm (NO XEmacs o LEmacs!!!), è anche necessario aggiungere nel proprio $(HOME)/.XDefaults: ______________________________________________________________________ XTerm*VT100.Translations: #override\n\ Ctrl . : string("\0308") ______________________________________________________________________ 3.2.2. joe(1) Basta editare il file di configurazione /usr/lib/joe/joerc di modo che comprenda la riga (con il ``-'' sulla colonna 1): ______________________________________________________________________ -asis Characters 128 - 255 shown as-is ______________________________________________________________________ 3.3. Mail/News 3.3.1. elm(1) Aggiungere le seguenti righe nel file /var/lib/elm/elm.rc o nel proprio $(HOME)/.elm/elmrc: ______________________________________________________________________ displaycharset = iso-8859-1 charset = iso-8859-1 textencoding = 8bit ______________________________________________________________________ 3.4. Stampante & DOS Se stampate file DVI, PostScript o comunque in grafica, non ci sono problemi. Ci penserà il vostro programma per la stampa a convertire il vostro file nel formato matrice-di-punti più consono alla vostra stampante. Ma se volete stampare in puro testo, senza formattazioni? Resta, soprattutto per le stampanti ad aghi, il metodo più veloce.Ma quanto è standard il set ISO-8859-1? Nella notte dei tempi venne scelto per i PC un set di caratteri poco standard, che aveva il pregio di contenere tutta una serie di caratteri semigrafici molto belli da vedere, e molto utili per visualizzare finestrelle in testo. Questo set di caratteri venne chiamato ``Code Page 437'', meglio nota come CP437. Ora la stessa casa, nel dover internazionalizzare il suo prodotto, si accorge del mezzo sbaglio, e fa, ovviamente, mezza marcia indietro. Viene definito un set di caratteri alternativo al CP437, chiamato ``Code Page 850 o Latina 1'', meglio noto come CP850, che, con grande sfoggio di humor, definisce gli stessi caratteri dello standard ISO-8859-1, ovviamente sistemati in posti differenti così da mantenere una certa compatibilità con la CP437. Per fortuna, dopo anni di ripensamenti e notti insonni, la stessa casa lanciando sul mercato il suo nuovo prodotto adotta come standard ISO-8859-1 mettendo fine alla nostra storia. Finita la nostra buffa storiella, possiamo passare a spiegare per bene come stanno le cose. Innanzitutto ISO-8859-1 è il set di caratteri di Unix in generale, di Windows, Amiga, OS/2. Mancano all'appello il DOS e Macintosh. Sentitevi liberi quindi da qualsiasi ``sindrome da 8 bit'', e usate tranquillamente questo set di caratteri. Se dovete importare dei testi linux in Macintosh, semplicemente usate il filtro per ``puro testo windows'' o cose simili. Se volete stampare puro testo con le accentate da Linux, a questo punto non vi resta che provare una delle soluzioni seguenti: · Se la vostra stampante supporta il set di caratteri ISO-8859-1, mettetela in quella modalità, e fatela finita una volta per tutte con le diatribe tra set di caratteri. · Se la stampante supporta la CP850, mettetela in quella modalità e prendete il file cp850utils-1.0.tar.gz da ftp://sunsite.unc.edu/pub/linux/utils/text/. Installatelo come filtro per la stampa, oppure convertite i files prima di stampare. · Se la stampante supporta solo CP437, o non volete/potete modificarla, non preoccupatevi, tanto comunque riuscite a stampare le cose ``normali'', come tutte le lettere acentate che trovate sulla tastiera e la lettera ``É'' (questo perchè, semplicemente CP850 e CP437 combaciano in corrispondenza di quei caratteri). Per gli amanti delle curiosità, nella memoria caratteri della scheda video è definita, e non potrebbe essere altro, la CP437. Ci sono molti trucchetti per avere il set completo ISO-8859-1 in console, ma per adesso non ne ho trovato uno che funzioni completamente... Date una occhiatina nelle directory /usr/lib/kbd/consolefont e /usr/lib/kbd/consoletrans. 3.5. Per maggiori informazioni Ulteriori informazioni possono essere recuperate nei seguenti testi: , in Francese, in inglese e anche . 4. ispell Una brutta notizia e una bella notizia. La brutta notizia è che non esiste un vocabolario per ispell degno di questo nome. La bella notizia è che, in collaborazione con Eulogos - Ingegneria della lingua italiana si sta cercando di porre rimedio alla questione. Se vuoi collaborare puoi farlo in due modi: 1. Aiutando eulogos a completare la tavola degli affissi (per sapere cos'è man 5 ispell). 2. Collaborando a reperire un vocabolario il più vario e corretto possibile. Responsabile del progetto (che scherzosamente chiamo IspellIT!) è Sandro Dentella , potete contattare lui per collaborare nella stesura della tavola degli affissi e offrirvi volontari per il ``lavoro sporco'', ovvero dare una pulita alle varie liste di parole che sono state reperite, di modo che non contengano errori. 5. TeX Per sistemare il TeX le strade erano due. O modificare completamente la configurazione, ma questo avrebbe poi compromesso la corretta formattazione dei testi in inglese, che sono ancora la maggior parte, oppure affidarsi a dei pacchetti appositi che predispongono per la internazionalizzazione del TeX, ovvero il pacchetto Babel. Questo è l'approccio seguito da LyX, ovvero un front-end grafico sotto X in fase di sviluppo, che cosiglio di utilizzare ai digiuni di TeX. Siccome l'approccio era valido e molto intelligente, ho deciso di farlo mio. 5.1. Un po' di teoria... Il TeX è in pratica un linguaggio di programmazione. Scritto un file in un determinato formato, si può compilare e quello che si ottiene è un file ``oggetto'', ovvero un file intermedio, in un formato detto DVI, ovvero DeVice Indipendent format, da cui si ottiene un file in linguaggio per le stampanti, di solito un file PostScript. Al di la delle questioni di principio e alle guerre di religione, TeX è un ottimo programma per l'impaginazioni di libri. La sua nascita nel grande mondo del free software lo ha velocemente indirizzato verso le pubblicazioni tecniche, scientifiche ma anche quelle multilingue. Inoltre permette una potente gestione degli indici e dei riferimenti, nonchè estensioni per la gestione dei riferimenti bibliografici. Un file sorgente di TeX è un file testo (come tutti i linguaggi di programmazione) con delle istruzioni aggiuntive (che iniziano per ``´') che spiegano al programma come organizzare l'output. Come tutti i buoni compilatori, piano piano è stato dotato di librerie, chiamate pakages che ne estendono le funzionalità. Le più note sono il LaTeX, che definisce un insieme di stili tipografici per fare libri, articoli e lettere, con tutti gli elementi importanti di questi stili (titoli per libri e articoli, indirizzi per le lettere) già predefiniti e pronti all'uso. Esistono poi parecchie estensioni al LaTeX, le principali sono l'AMSLaTeX, che permette di inserire formule matematiche (per la cronaca, quasi tutti i libri di matematica in commercio sono fatti in TeX) e Babel, che definisce la gestione di diverse lingue, anche contemporaneamente sullo stesso documento. Come per Linux stesso, di TeX ce n'è uno solo, ma visto che ha bisogno comunque di librerie di font, programmi accessori, ... di distribuzioni ce ne sono tante. Si prende in considerazione qui la distribuzione di TeX della slackware, ovvero NTeX e LaTeX2e. Si considerano installati nel sistema (dal set T) i pakages menzionati ((N)TeX base, LaTeX, Babel). Anche se il formato del preambolo del LaTeX2e è leggermente diverso da quello del LaTeX209 e precedenti, questo è ancora standard, è quindi viene riportato come default. 5.1.1. Il formato del file g i Un file TeX è composto da un preambolo che definisce lo ``stnile'' con cui è impaginato il testo e da un corpo, che comprende sia i{l testo che le formattazioni. Il corpo è quello che va dal comando dnt} al comando \nd{document}, quello che c'è sopra è il preambolo,omentre quello che c'è dopo viene ignorato. c u Nel preambolo vengono definite: m Stile (o Classe, in LaTeX2e) Definisce lo stile del documento, ovvero se deve essere un libro (book), lettera (letter), articolo(article), ... Opzioni definisce sia le opzioni interne, ovvero quelle delle varie classi (dimensione dei caratteri in punti, dimensione della carta, ...), sia i pacchetti (packages) o stili aggiuntivi esterni, come il Babel stesso e il supporto per le accentate. Altro altre cose fanno parte del preambolo, come definizioni aggiuntive e strutture particolari, ma che ai fini del nostro studio sono inessenziali. La definizione è quindi del tipo: ______________________________________________________________________ % Questo è il preambolo \documentstyle[opz1, opz2, ...]{stile} % Qui inizia il testo \begin{document} [...] \end{document} ______________________________________________________________________ Leggermente diversa, e direi migliore, è la definizione di preambolo del LaTeX2e, ovvero la nuova versione che ha sostituito la 209, che divide logicamente le opzioni interne da i pacchetti aggiuntivi: ______________________________________________________________________ % Questo è il preambolo % Questa è la definizione della classe e le sue opzioni \documentclass[opz1, opz2, ...]{classe} % Questo è il caricamento dei pacchetti e le loro opzioni \usepackage[opz1, opz2, ...]{paccetto1} \usepackage[opz1, opz2, ...]{paccetto2} . . . % Qui inizia il testo \begin{document} [...] \end{document} ______________________________________________________________________ Si vede come nel LaTeX2e ci sia separazione logica tra le opzioni dello stile, o classe, e dei pacchetti aggiuntivi, cosa preferbile visto il proliferare di nuovi pacchetti e estensioni. 5.1.2. L'installazione TeX di Linux Tutta l'installazione del TeX di Linux si trova in /usr/lib/texmf e subdirectory. In particolare sono importanti le subdirectory /usr/lib/texmf/tex/latex/babel, che contiene i files del Babel che andremo a pasticciare, /usr/lib/texmf/tex/hyphenation che contiene le tabelle di sillabazione e /usr/lib/texmf/tools che contiene gli script di riconfigurazione del sistema. Consigliabile è anche un giro per tutte le subdir che finiscono in ``-base'' della directory /usr/lib/texmf/tex/latex, che contengono files dimostrativi e anche brevi manuali dei pacchetti. 5.2. Sistemazione della configurazione standard 5.2.1. Babel Come abbiamo già accennato, il Babel manca della tabella di sillabazione italiana. Controllate nella directory /usr/lib/texmf/tex/hyphenation se è presente il file hyphen.italian. Se è già presente, controllate (è un file di testo, usate pure less(1)!!!) che NON sia la tabella di sillabazione di G. Patergnani. Questa, soffre di quell che io scherzosamente chiamo ``sindrome di Zio Paperone'', ovvero tende a mandare a capo malamente i suoi nipoti (qu- i, qu-o, qu-a). Altimenti, se la tabella non esiste o è quella del Patergnani, prendete il file hyphen.italian.gz (di solito nei siti ftp) oppure equivalentemente ithyphen.tar (presente nelle BBS o nei sitemi dos) che si trova assieme a questo howto (ma che si trova comunque in tutti i siti CTAN), decomprimetelo e copiate il file hyphen.italian in questa directory, controllando che sia almeno leggibile da tutti. Ora editate il files /usr/lib/texmf/tex/latex/cfg/language.dat in modo che si presenti in questa maniera: ______________________________________________________________________ % File : langauge.dat % Purpose : specify which hypenation patterns to load % while running iniTeX english hyphen.ukenglish usa hyphen.us % Aggiunta la sillabazione Italiana italian hyphen.italian %german hyphen.german %swedish hyphen.swedish %french hyphen.french %Czech hyphen.Czech %spanish hyphen.spanish %finish hyphen.finish %polish hyphen.polish %dutch hyphen.dutch %portuguese hyphen.portug %turkish tkhypha.tex ______________________________________________________________________ Di default sono abilitate ``english'', ``usa'', ``german'' e ``swedish''. Siccome consigliano di non abilitare più di 4 tabelle alla volta, conviene eliminare tutte quelle che non servono. E ovviamente aggiungere italian hyphen.italian!!! Una impostazione di questo tipo, come nel mio caso, è abbastanza ragionevole. Ora bisogna dire al LaTeX di ricreare la configurazione in modo da prendere in considerazione le nuove impostazioni. Per fare questo ci viene in aiuto un programmino che fa tutto automaticamente ovvero /usr/lib/texmf/tools/ntm-ltx.cfg. Attenzione che questo script richiama automaticamente vi(1) come editor, e se non si salva il file non fa assolutamente nulla. Visto che il nostro file è già stato precedentemente modificato con il nostro editor preferito, basta premere, nell'ordine, i tasti [Esc] [:] [w] [q] [Invio] per forzare un salvataggio del file e quindi l'esecuzione dello script. Ora il programmino chiede conferma dell'operazione. Se rispondete di si scrive una serie di informazioni complicate e oscure. Nema problema, è il suo lavoro!!! La configurazione della sillabazione italiana nel Babel ora è perfettamente funzionante. 5.2.2. dvips(1) Anche qui per configurare il programma dvips(1) di conversione tra DVI e PostScript è sufficiente eseguire il programmino /usr/lib/texmf/tools/ntb-dps.cfg, che come in precedenza chiede di editare il file /usr/lib/texmf/dvips/config.ps con il vi. E' sottointeso che si può editare il file con il proprio editor preferito e forzare un salvataggio con la procedura descritta prima. In particolare bisogna controllare che il formato di pagina di default sia A4, ovvero nel file deve essere presente: ______________________________________________________________________ [...] % Paper size information. First definition is the default. % % Copy the papersize you want to use as default at the top of the following % list. (with this setup A4 is default) @ a4 210mm 297mm @+ ! %%DocumentPaperSizes: a4 @+ %%PaperSize: a4 @+ %%BeginPaperSize: a4 @+ a4 @+ %%EndPaperSize [...] ______________________________________________________________________ Cosa che di solito è già definita. 5.2.3. xdvi(1) xdvi(1) è il programma per l'anteprima dei file in formato DVI sotto X. Anche per questo basta eseguire il programma /usr/lib/texmf/tools/ntb-xdvi.cfg che chiede di editare, sempre con il vi, il file /usr/lib/texmf/X/XDvi. Anche qui valgono le considerazioni fatte in precedenza. Importante è che nel file sia presente la riga: ______________________________________________________________________ *paper: a4 ______________________________________________________________________ Il programino poi chiede di creare un link simbolico al file, e da due opzioni per la directory contenente le risorse delle applicazioni. Come già visto, questa è la sceconda opzione, ovvero /usr/X11/lib/X11/app-defaults. 5.3. Bando alle ciance! Ora, dopo tutte queste disquisizioni, abbiamo capito che abbiamo bisogno di tre cose: A4 Ovvero per stampare decentemente sulla nostra stampante. ISOLatin1 Ovvero il supporto per le lettere accentate direttamente all'interno del file LaTeX, per evitare di ricorrere a pesanti sequenze di comandi. Babel Per il supporto della sillabazione italiana e di altre cose simpatiche senza stravolgere completamente la configurazione del TeX. 5.3.1. Stampa di testi in inglese Piacerebbe avere l'opzione della dimensione del foglio A4 definita direttamente a livello di TeX, visto che è il nostro standard. Per ora non ho trovato un modo per farlo, e quindi, se vogliamo stampare dei testi in inglese, dobbiamo reperire ai sorgenti in TeX, editare il file, aggiungendo nel preambolo l'opzione: ______________________________________________________________________ \documentstyle[opz1,opz2,...,a4]{stile} ______________________________________________________________________ oppure, se il file è in formato LaTeX2e, basta aggiungere al preambolo: ______________________________________________________________________ \usepakage{a4} ______________________________________________________________________ Esiste inoltre una variante del formato A4, chiamata a4wide che ha i margini leggermente più stretti, e quindi, in teoria, permette di risparmiare carta. 5.3.2. Composizione di testi in italiano Se invece stiamo costruendo un nuovo testo, e vogliamo che tutto funzioni alla perfezione, è sufficiente che il preambolo sia del tipo: ______________________________________________________________________ \documentstyle[a4,isolatin1,babel,italian,opz1,opz2,...]{stile} ______________________________________________________________________ oppure, e molto più ordinatamente, se si usa il LaTeX2e: ______________________________________________________________________ \documentclass[opt1,opt2,...]{classe} \usepackage[italian]{babel} \usepackage{isolatin1} \usepackage{a4} ______________________________________________________________________ Anche qui valgono le stesse considerazioni sull'a4wide fatte prima 5.4. Per maggiori informazioni... Se avete intenzione di stampare semplicemente dei file TeX, queste conoscenze sono sufficienti. Se invece avete intenzione di proseguire nella conoscenza del TeX, sono consigliabili, in particolare, i libri: · Donald Knuth, The TeXbook, Addison-Wesley, 1984 · Leslie Lamport, LaTeX User's Guide and Reference Manual, Addison- Wesley, 1986 · AMS-LaTeX Version 1.1 User Guide, American Mathematical Society, 1991 Come noterete sono disponibili solamente in libreria. Anche perchè, almeno i primi due, sono dei veri tomi... 6. TimeZone Allora, la TimeZone, ovvero il fuso orario corretto per l'Italia è GMT-1 d'inverno e GMT-2 d'estate, ovvero GMT-1 per l'ora solare e GMT-2 per l' ora legale. Oppure mettere MET o CET (Middle o Central Europe Time) che in aggiunta fa anche il passaggio automatico ora legale/ora solare. La cosa può essere settata dal programma di configurazione della slackware. Eseguire setup da root e seguire i menù per eseguire la configurazione. Oppure a mano la cosa può essere realizzata con: ______________________________________________________________________ ln -s /usr/lib/zoneinfo/MET /var/lib/zoneinfo/localtime ln -s /var/lib/zoneinfo/localtime /usr/lib/zoneinfo/localtime ln -s /usr/lib/zoneinfo/localtime /usr/lib/zoneinfo/posixrules ______________________________________________________________________ 7. Linux in Italia Questo spazio vuole essere un tentativo di censimento della realtà Linux in Italia, di modo che ognuno possa attingere ``al socket del suo vicino''... NOTA IMPORTANTE: I distrubutori/rivenditori commerciali o comunque enti a fini di lucro presenti in questa sezione non sono riportati qui per motivi pubblicitari ma informativi e non hanno niente a che fare con il coordinatore dell'Italian-HOWTO o il gruppo Pluto. Ogni ente comerciale non presente in questa lista non si senta offeso/danneggiato, ma semplicemente mi mandi comunicazione dei suoi servizi che saranno aggiunti appena possibile nel documento. Il coordinatore dell'Italian-HOWTO si riserva comunque, quando la cosa diventi seccante ai fini del documento (tipo 10 pagine di rivenditori di CD su 30 di documento), di eliminare interi capitoli tra i seguenti. 7.1. Libri e pubblicazioni E` sottointeso che bisognerebbe avere sotto mano almeno un libro su UNIX in generale, che ne spieghi i comandi principali, la struttura, il funzionamento. I libri su Linux sopperiscono solo in parte a questo bisogno, anche se hanno l'indubbio vantaggio di essere di solito liberamente distribuiti in formato sorgente. Premetto che, in controtendenza a quanto ha ispirato questo HOWTO, consiglio di comprare sempre la versione in lingua originale (inglese) di un libro piuttosto che la sua traduzione. Leggere un libro tecnico in inglese non richiede sforzi immani, e non genera poi confisione di terminologia. Altro discorso per i libri scritti direttamente in italiano, che invece consiglio caldamente, oppure per le traduzioni non strettamente letterali. 7.1.1. Libri a livello base su UNIX · M. Waite, D. Martin e S. Prata, The Waite Group's Unix System V Primer, Sams, 1992(2), ISBN: 0-672-30194-6. Un ottimo tutorial da consultare per Unix/SVR4 ... · H. Hahn, A Student's Guide to Unix, McGraw Hill, 1993, ISBN: 0-07-025511-3 Una superba introduzione a Unix... In un linguaggio chiaro e vivace, l'autore spiega al novizio tutto quello che vuole sapere su Unix e Internet... ``No experience necessary!'' · D. Libes, S. Ressler, Life with Unix - A Guide for Everyone, Prentice Hall, 1990, ISBN: 0-13-536657-7 Tutto quello che avreste voluto sapere su Unix... include informazioni introvabili altrove... 7.1.2. Libri a livello intermedio/avanzato · J. Peek, T. O'Reilly, M. Loukides, Unix Power Tools, O'Reilly/Bantam 0-679-79073-X, 1119 pp., 60 US$. Un'incredibile collezione di trucchi e consigli, comprensiva di CD- ROM cogli eseguibili di alcuni tra i più potenti di questi (nota: con Linux il CD-ROM gira male, perche e convinto di trovarsi sotto SCO :-( ) · M. J. Bach, The design of the Unix operating system, Prentice-Hall International, 461 pagg., Lit. 106.000, ISBN 0-13-201757-1 Testo per l'esame di Sistemi I a Scienze dell'Informazione alla Statale di Milano. Non piu recentissimo, ma certamente di massima utilita per chi vuole sapere veramente a fondo come e fatto Unix. Fidatevi. · P. Abrahams, B. Larson, Unix for the Impatient, Addison Wesley, 1992, ISBN: 0-201-55703-7 Testo di riferimento per Unix comprensivo e profondo... si puo usare sia come manuale per imparare UNIX che come riferimento per trovare velocemente le risposte ai propri dubbi. 7.1.3. System Administration · E. Nemeth, G. Snyder, S. Seebass, Unix System Administration Handbook, Prentice-Hall, 1989, ISBN: 0-13-933441-6 Classico, noto anche come la bibbia del sysadmin... · D. Fiedler, B. Hunter, B. Smith, Unix System V Release 4 Administration, Hayden, 1991(2), ISBN: 0-672-22810-6 Un must per tutti gli utenti intermediate/avanzati di Unix... ``Potete trovare tutte le informazioni necessarie per organizzare un sistema UNIX pratico, efficiente e produttivo''. 7.1.4. Unix Security · S. Garfinkel, G. Spafford, Practical Unix Security, O'Reilly, 1991, ISBN: 0-937175-72-2 Semplicemente il miglior libro nel campo... ``tutto il necessario per rendere il vostro sistema UNIX il piu sicuro possibile''. 7.1.5. Unix e Internet · AA.VV., Building a Unix Internet Server, New Riders, $38, ISBN 1-56205-494-5 Il libro contiene inoltre un CD con tutti i programmi necessari per installare un server linux per internet (da Luca Zammarchi) 7.1.6. Linux · M. Welsh, L. Kaufman, Running Linux 600 pages strong, this book covers everything you need in order to understand, install, and use Linux. · O. Kirch, Linux Network Administrator's Guide From the Linux Documentation Project, it touches on all the essential networking software included with Linux, plus some hardware considerations. Olaf is incorporating all O'Reilly changes back into the free version on the Net. But our version provides an attractive and convenient format. In the United States, each book is $24.95. For Europe, call International Thomson Publishing Services, Ltd. in the UK at 44-264-342-806. O'Reilly & Associates, Inc. andyo@ora.com 90 Sherman Street, Cambridge, MA 02140-3244 (617) 499-7479 USA fax:(617) 661-1116 · La Yggdrasil distribuisce The Linux Bible - 3rd Edition, una raccolta di piu' di 1500 pagine con tutto quello che serve sapere per Linux, installazione, system administration, tutti gli HOWTO, ... e un CD-ROM con due distribuzioni e un browser per la ricerca degli argomenti. Prezzo: $39.95 Yggdrasil Computing, Inc. - 4880 Stevens Creek Blvd., Suite 205 San Jose, California 95129-1034 - USA. Tel. +1 408 261-6630 - Fax +1 408 261-6631 - orders@yggdrasil.com, http://www.yggdrasil.com · C'e anche un libro della SAMS Publishing, Linux Unleashed. Costa 49.99$ e contiene anche un cd-rom con la slackware 2.2. Autori Kamram Husain e Timothy Parker, piu di 1000 pagine, 1995. ISBN: 0-672-30705-7. (Paolo dell'Aquila) E' organizzato benino e ci sono vari trucchetti. Parte quasi da livello "principiante", per arrivare anche ad aspetti per esperti (ricompilarsi il kernel, programmare sotto X-Windows, usare Perl...). I capitoli del libro: - Introduction - Using Linux - Editing, Typesetting and More - GUI - Linux for Programmer - Linux for system administrator - Advanced Programming Topics - Appendixes · Jack Tackett et al. Special edition using LINUX 800 pag.+CD-Rom, 1995, Prentice Hall, $57.50, ISBN 0-7897-0100-6 · Que: Running perfect internet site with linux, 1995, ISBN 0789705141, U. Hoepli ed. · D. A. Tauber: Guida a Linux, ISBN 88 386 3406-8, Lit. 49.000, McGraw-Hill ed · Giuseppe Zanetti, LINUX - il sistema operativo free software per personal computer 386/486, edizioni Libreria Progetto, Padova, 1994 Poco piu di 300 pagine, simpatica copertina a colori col logo di Linux creato da Rohde-Hass. Il prezzo e di 30.000. Se volete contattare l'autore, scrivete a beppe@freddy.iperv.it. 7.1.7. Riviste · Inoltre c'è la rivista The Linux Journal: Linux Journal - P.O. Box 85867 - Seattle, WA 98145-1867 - USA E-mail: linux@ssc.com Costo: circa 30 US $ per anno - 50 US $ per due anni. · Si chiama PLUTO Journal, ed e` una rivista interamente in italiano e completamente gratuita consultabile via WWW all'indirizzo URL: La rivista tratta argomenti inerenti Linux ed e` completamente fatta da volontari di tutta Italia. 7.2. Associazioni, gruppi di utenti 7.2.1. PLUTO Il PLUTO è il linux user group del Dipartimento di Elettronica e Informatica dell'università di Padova. E` esteso a livello nazionale e conta più di cento iscritti in tutta Italia, più qualche straniero! Il gruppo è nato con il fine di promuovere l'uso del linux, aiutando chi ha difficoltà a iniziare, proponendo iniziative, organizzando manifestazioni e tutto ciò che possa servire a tale scopo. Le prime avvisaglie del PLUTO si hanno alla fine del 1992, ad opera di ILLUSTRI soci quali il Prof. Franco Bombi, Giuseppe Zanetti, Stefano Campadello. Il gruppo dispone di dur indirizzi di posta elettronica linux@chiara.dei.unipd.it e linux@maya.dei.unipd.it, oltre alle pagine WWW ufficiali del gruppo PLUTO: Paduan Linux User Team Ok? Pluto Linux User Tread Organization? Pluto Loves Using Torvalds O.s.? Pluto Lumen Utentium Terrarum Orbis? Fate un po' voi. :-) In realtà la leggenda narra che molto banalmente si voleva chiamarlo pippo (gli informatici non conoscono altri nomi), per cui molto originalmente si è optato per PLUTO, che perlomeno nel nome aveva una L che era attribuibile a Linux!!! Per iscriversi basta mandare una mail a linux@chiara.dei.unipd.it oppure (meglio) completare il form disponibile dalla pagine mosaic del gruppo specificando nell'apposito campo che si desidera iscriversi. L'iscrizione comporta la disponibilità ad aiutare persone che si trovano in difficoltà con l'hardware in possesso dell'iscritto, la possibilità di partecipare alle iniziative del gruppo, l'obbligo a suggerire nuove iniziative e fare nuove proposte :-), l'obbligo (!) a promuovere il LINUX. L'iscrizione è, ovviamente, gratuita. Esistono inoltre delle sezioni del gruppo PLUTO che forse sono più vicine a te, e con le quali puoi mantenere maggiori contatti. Queste sono le sezioni PLUTO attualmente attivate: Rimini, coordinatore: Francesco Conti (fconti@iper.net) Milano, coordinatore: Davide Michel Morelli (moreld@dsi.unimi.it) Roma, coordinatore: Tommasangelo Petitti (t.petitti@uniserv.ccr.rm.cnr.it) Contatta i rispettivi coordinatori per maggiori informazioni. 7.2.2. ILS ILS e un'associazione culturale senza fini di lucro, che ha fra i suoi scopi primari la diffusione della cultura informatica in tutte le sue forme, con una particolare attenzione per il mondo del free software in generale e del software che viene rilasciato sotto la GNU General Public License. ILS e composta da tutti coloro che volontariamente e senza percepire alcun profitto mettono a disposizione il proprio tempo, le proprie capacita e le proprie risorse al fine di realizzare una comunita virtuale basata sulla cultura informatica/telematica. ILS offre ai Soci i serivizi di Internet e-mail e Usenet News, che sono compresi nella quota associativa annua di Lire 50.000. Per maggiori informazioni chiamare la BBS della ILS al numero 019-862349, oppure mandare una mail a info@linux.it, oppure ancora contattare Luca Maranzano, 2:332/206.13. 7.2.3. ComeOn Linux! ComeOn Linux! e` un'organizzazione nata nel 1994 con due scopi: 1. diffondere Linux in modo attivo, fornendo strumenti e assistenza (quando possibile anche a casa) a tutti coloro che hanno voglia di avvicinarsi a questo nuovo mondo. 2. sviluppare strumenti quanto più Plug&Play possibile che risolvano i bisogni degli utenti in modo immediato e rendano allo stesso tempo Linux più facile da usare. Coloro che arrivano ad un certo livello e vogliono rendersi ancora più protagonisti, possono entrare nel ComeOn Linux! Developers Team e sviluppare in ambito più professionale strumenti User-Friendly per il beneficio di tutti. Oppure nel ComeOn Linux! Administrators Team, che si occupa di stilare degli howtos, molti dei quali anche personalizzati per singoli aderenti, e molti altri per il reparto Developers, che a sua volta trasformera' in applicazioni. Per ricevere informazioni inviate un semplice matrix, senza impegno, a comeon-linux-help ad uno degli indirizzi: 2:335/722.7@fidonet, 230:1030/301.7@euronet, 61:3914/2.7@peacelink. O anche contattare "pako" ad uno degli indirizzi della mailing-list, oppure a pasquale.de.marco@giuda.deis.unical.it o telefonicamente allo 0961-61032. 7.3. Aree di discussione pubbliche 7.3.1. Mailing Lists 7.3.1.1. Internet PLUTO Non è una mailing list, ma è una mailbox pubblica, consultabile via WWW dalle pagine mosaic del PLUTO (vedi sopra). Per mandare un messaggio, scrivere a linux@chiara.dei.unipd.it. 7.3.2. Newsgroups 7.3.2.1. Internet comp.os.linux* Ovvero I newsgroup su Linux. Ultimamente sono diventati supertrafficati, e la qualità non è esaltante (per la maggior parte si cercano rimedi per qualche pezzo di hardware che non funziona). Da seguire assolutamente comp.os.linux.announce, che ``lancia'' tutti i nuovi software per linux. it.comp.linux Newsgroup italiano ufficiale su Linux. Valgono i discorsi fatti per la precedente gerarchia, con l'aggiunta della disponibilità tutta italiana (e in italiano) ad aiutare chi si affaccia per la prima volta nel grande mondo Linux. comeon.linux* Per coloro che hanno installato il point sotto Linux e vogliono approfondire le discussioni, ma anche per coloro che in futuro vorranno far parte del ComeOn Linux! Developers Team o del ComeOn Linux! Administrators Team, vi sono degli appositi newsgroups: comeon.linux comeon.linux.devel comeon.linux.admin Ve ne sono altri meno fondamentali e tutti comunque condivisibili tra gli aderenti tramire rete nntp o uucp, a scelta. Dinamicamente ne vengono creati alcuni per la realizzazione di progetti ben precisi. Per ulteriori informazioni su come avere questi newsgroup, fare riferimento a ComeOn! nella sezione ``gruppi di utenti''. 7.3.2.2. FidoNet UNIX.ITA Dalla Policy d'area: L'area UNIX.ITA tratta di tutto quello che riguarda i sistemi operativi *IX, sia come filosofia generale che come applicazione a sistemi particolari, compresi - ma non limitati a - AIX, A/UX, Coherent, ESIX, Interactive, Linux, Minix, NetBSD, SCO-UNIX, SunOS, Ultrix, Xenix. E tollerato anche parlare dei vari pacchetti software che storicamente sono associati all'idea di ``ambiente aperto'', e che sono disponibili in sorgente, come ad esempio i programmi GNU. *In via sperimentale*, e permesso parlare di programmazione di rete Unix (leggasi socket, RPC e simili). L'area UNIX.ITA *non* tratta di TeX (esiste l'area TEX.ITA al proposito) e soprattutto *NON tratta* di ``Internet at large'' e affini. Per queste tematiche esiste l'area COMMS_RETI.ITA. Si invitano gli abituali frequentatori di UNIX.ITA a non rispondere in quest'area ai messaggi di questo genere: molto meglio una risposta in matrix comprendente anche l'invito a linkare l'altra area in questione. La parte di Internet che riguarda l'area comprende essenzialmente i server http (non i lettori) e i protocolli http, ftp e simili (non HTML). Moderatore: Maurizio Codogno, Fidonet: 2:334/100.5, mau@beatles.cselt.stet.it TEX.ITA Dalla Policy d'area: I tema della conferenza sono il linguaggio per la creazione di documenti TeX (con l'estensione LaTeX) ed il linguaggio per la creazione di font METAFONT, che a TeX è direttamente correlato. Moderatore: Valerio Aimale, FidoNet: 2:332/206.4, valerio@linux.it COMMS_RETI.ITA Dalla Policy d'area: Qui si tratta di reti geografiche e metropolitane, dei loro contenuti, strumenti protocolli e modalita` di accesso. L'argomento puo` portare facilmente, data la natura della principali di queste reti, internet, a parlare di sistemi UNIX. Si ricorda che per questo argomento esiste un'area nazionale apposita. Anche per la discussione sulle reti locali esiste un'altra area dedicata. Si invitano gli utenti a scrivere qui solo di reti geografiche e metropolitane e a spostare in matrix ogni comunicazione non attinente il soggetto della conferenza (ringraziamenti, saluti, insulti e divagazioni). Qualora un nuovo utente ponga una domanda a cui si e` gia` piu` volte risposto in area o/e di cui si ritiene nota ai frequentatori la risposta, si prega di soddisfarene la richiesta in matrix e di inviare, sempre per questa via, copia della risposta al moderatore che provvedera` a inserirla nelle FAQ dall'area (e` un buon proposito). Moderatore: Federico Baraldi, Fidonet: 2:332/414.6, Federico.Baraldi@p6.f414.n332.z2.fidonet.org LINUX International LINUX Conference Area internazionale ufficiale su Linux. Niente di speciale, a parte il fatto che si leggono i messaggi provenienti da Sud America e Giappone qualche settimana dopo che sono stati spediti... 7.3.2.3. PNet P_UNIX Unix Area di discussione su unix. Ovviamente infettata da Linuxiani convinti!!! 7.3.2.4. EuroNet COMEON_LINUX.ITA Area di supporto ComeOn Linux! per i suoi attivisti e per quanti vogliano collaborare. 7.3.3. Meetings I2U Convention Ogni anno l'I2U, associazione di produttori e utenti di Unix e sistemi aperti, organizza una convention, che rappresenta la più grande manifestazione nazionale di applicazioni e soluzioni per sistemi aperti. Da qualche anno la convention I2U si interessa attivamente di Linux. Due anni fa ha invitato Linus in persona, l'anno scorso Alan Cox e Jos Vos. 7.4. Siti Linux 7.4.1. Siti Internet · nic.funet.fi · tsx-11.mit.edu · sunsite.unc.edu · cnuce_arch.cnr.it mirror ufficiale di sunsite · maya.dei.unipd.it mirror di sunsite · ftp.unipd.it mirror di sunsite · ftp.unipv.it mirror di sunsite · goblin.dsi.unimi.it Slackware 2.10 · ftp.italnet.it mirror di sunsite; tsx-11 parziale 7.4.2. BBS su Linux · OneWay BBS, +39 2 4491062, v.32bis,v.42bis, Milano, Fidonet 2:331/333, Virnet · DOC!, +39 41 5905472, ZyXEL19.2k,V.32b,V.42b, Mogliano Veneto (TV), Fidonet 2:333/704 · Sierra BBS, +39 6 39721568, ZyXEL19.2k,V.32b,V.42b, Roma, Fidonet 2:335/336 · Aloha BBS, +39 923 546164/7, V.32bis, V.42bis, Trapani, Fidonet 2:335/519, MultiMediaNet · Pappaconda on-line, +39 51 6233671, Zyxel 19.200, Bologna, Fidonet 2:332/424 · ILS BBS, +39 19 862349, V32bis,V42bis, Savona, Internet (E-Mail, News) · XCalBr8 BBS, +39 535 91080 Fidonet 2:332/521 Sysop Andrea Baldoni. file per sysadm, sorgenti di dosemu60, doom, driver per Gravis. patch del kernel, sorgente completo del kernel. · Eko BBS, +39 6 5215306, V.32bis, V.42bis, Roma, Fidonet 2:335/374 Files: Slackware (Agosto95), Howto, LDP... · cmb2000 BBS, +39 332 820009, v.32bis, v.42bis, Varese Fidonet 2:331/134 Files: Linux Slackware 3.0, IfMail-HowTo, MIT Sources, VuBbs. · Universal Mind BBS, +39 434 33869, V.34+, Pordenone, Fidonet 2:333/1016, ExNet 93:392/1, Itax 70:122/1, Pnet 91:13/1, PeaceLink 61:3917/1, Sysop Alessandro Zamarian. Mirror (?!) di tutto quello prodotto per il PLUTO (soprattutto Italian-HOWTO e Pluto Journal), vario altro. 7.4.3. Rivenditori di CD · ECS Computer, Via Casarini 3/A - BOLOGNA, Tel. 051/522391 CD disponibili: WC Toolkit for Linux, Yggdrasil, InfoMagic · Libreria Progetto, Via Marzolo 28 - PADOVA, Tel. 049/665585 - 049/665492 - Fax. 049/8076036 CD disponibili: InfoMagic, Linux-FT · CD House, Via Ca del Ponte 4 - COSTERMANO (VR) Tel. 045/6200410 - Fax 045/6200449 - BBS 045/6200561 Libri disponibili: The Linux Bible · GRG Commerciale SRL, Viale Verona 129 - TRENTO Tel. 0461/932424 - Fax. 0461/934417 CD disponibili: InfoMagic · Pergioco, Via S. Prospero 1 - MILANO Tel. n.d. CD Disponibili: InfoMagic · PerGioco, Via degli Scipioni 109/111 ROMA (metro 'A' Ottaviano) Tel. n.d. CD Disponibili: InfoMagic · BitLine s.n.c., Corso Garibaldi 82 - LUGO (RAVENNA) Tel. 0545/27370 CD disponibili: InfoMagic · CD-ROM Import - GENOVA Tel. 010/6982772 CD disponibili: InfoMagic · INPUT s.a.s, Via Lungomare di Pegli 45/R - 16155 GENOVA PEGLI Tel. 010-680583/688788/680685 CD disponibili: InfoMagic · Sytek s.r.l., Via Cernaia 14 - TORINO Tel. 011/9884111 - Fax. 011/9951487 - info@sytek.it CD disponibili: Linux-FT · Libreria Athena, Via Campi 284/a - MODENA Tel. 059-370842 - Fax. 346430 - athena@athena.modena.it Libri Disponibili: The Bible of Linux, Linux Unleashed,Running Linux CD disponibili: Official Slackware 2.3 (WC, 7/95) 2CD, 79000 Lit, Linux FT - Lasermoon (6 CD), 150.000 Lit, Linux Internet Archive (Yggdr. 7/95) 5CD, 95000 Lit, Linux Developers Resource - (Infom. 8/95) 4CD, 49000 Lit · Libreria Hoepli, Via Hoepli - MILANO Tel. 02-86487243 Libri disponibili: The Bible of Linux · ESSEDI shop, Via Maragliano, 42 - FIRENZE Tel. 055-333093 CD disponibili: InfoMagic, Yggdrasil, WC-Slackware · FILEITALIA S.r.l., corso Monte Cucco 23 - 10139 TORINO Tel. 011/755210 - 746226