Come tutti i sistemi Unix (FreeBSD, BSDI, Sinix, Aix…) anche Linux ha un’ottima implementazione del protocollo tcp/ip e quindi delle risorse di rete. Per la maggior parte dei lettori, la necessità vera è quella di collegare il sistema tramite modem al proprio provider ottenendo un indirizzo ip dinamico (ovvero che varia ogni volta che vi collegate) e una porta d’accesso ad internet.
Per iniziare a configurare il sistema, serve però la conoscenza minima di un editor per poter creare e/o modificare gli script di connessione e di configurazione del sistema. Infatti, nonostante esistano sulla rete pacchetti anche grafici per la gestione del collegamento, è più istruttivo creare i propri file a mano, imparando in questo modo come il sistema interagisce con i file di configurazione. Inoltre, in questo modo non si rimane vincolati ad un particolare programma ma si è in grado di scrivere i propri strumenti di connessione su qualsiasi macchina, utilizzando quelle applicazioni comuni che si ritrovano su tutte le distribuzioni Linux.
Vi (pronuncia vi-ai) è forse uno degli editor di testo più antichi ed usati nel mondo Unix. Pur non avendo un’interfaccia utente di facile utilizzo, la sua snellezza e le sue potenzialità lo rendono uno degli strumenti più diffusi nel suo genere, insieme ad emacs, anche se l’apparenza spartana sicuramente tiene lontani i meno esperti. Vediamo allora di imparare i comandi base per iniziare ad utilizzare questo programma, senza addentrarci per ora nelle decine di combinazioni di tasti che consentono di fare quasi di tutto ma che adesso è prematuro considerare.
La sintassi per l’avvio dell’editor è semplicissima:
vi nome_file
per iniziare ad editare il file e/o crearlo se non esiste. Attenzione però: Vi non scrive nulla fino a quando non verrà dato il comando di scrittura; fino a quel momento il testo scritto viene tenuto in un buffer di memoria ed è quindi particolarmente esposto al pericolo di andare perso in seguito ad un calo di tensione nel computer o a un’operazione azzardata.
Prima di dare un’occhiata all’elenco dei comandi che utilizzeremo per editare i file di configurazione per l’accesso alla rete, accenniamo alle modalità operative di Vi. In pratica, premendo il tasto ESC (il primo in alto a sinistra sulla tastiera) seguito da alcuni caratteri si può passare dalla modalità "insert", che consente di modificare un testo, a quella "command" che permette di configurare alcuni parametri dell’editor stesso, compiere ricerche all’interno del file e altri comandi in generale.
Ecco la lista:
ESC i entra
in modalità inserimento
ESC o aggiungi
una riga sotto il cursore ed entra in modalità inserimento
ESC O aggiungi
una riga sopra il cursore ed entra in modalità inserimento
ESC x cancella
la lettera sotto il cursore
ESC dd cancella
la riga in cui si trova il cursore
ESC :w salva
il file
ESC :w nome_file
salva il file con nome nome_file
ESC :q esci
da Vi
ESC :wq salva
e esci
ESC /chiave per cercare la parola chiave specificata dopo /. Usare poi n e p per ricercare le ulteriori istanze, seguenti o antecedenti, della parola.
Fate qualche prova: cancellate, salvate,
aggiungete caratteri e muovetevi lungo il testo utilizzando i tasti freccia.
Una volta che vi sarete impratichiti dei comandi base dell’editor, passate
alla prossima sezione, ovvero come si configura Linux per accedere ad internet.
Colleghiamoci al provider!
Dato che la quasi totalità dei
provider nazionali utilizza l’autenticazione via chap / pap e fornisce
i propri utenti di un indirizzo dinamico, creeremo degli script di collegamento
che possano funzionare tramite questo tipo di autenticazione.
Prima di iniziare, però, ricordiamo che a causa della radicalità degli interventi è necessario accedere a Linux come root, l’unico utente con tutti i permessi per l’editing dei file di sistema
Il primo file da modificare è sicuramente
/etc/resolv.conf
nel quale il sistema può trovare gli indirizzi dei dns da utilizzare per risolvere gli indirizzi web nei loro corrispondenti ip numerici. Se questo file non esiste o è mal configurato, Linux non sarà in grado di collegarsi ad alcuna macchina, rimanendo come "cieco" a meno di non inserire direttamente indirizzi in formato numerico, sicuramente molto difficili da ricordare. Qualora il file non fosse presente, createlo utilizzando vi (vi /etc/resolv.conf).
La sintassi con la quale vanno scritte le informazioni nel file resolf.conf è alquanto semplice:
search dominio.isp
nameserver ip
dns1
nameserver ip
dns2
nameserver ip
dns3
ove dominio.isp è il dominio del vostro provider (per esempio tin.it o flashnet.it) ed i vari ip dns# sono gli ip numerici dei dns che avete intenzione di usare.
Inseriti i dati, passiamo ad editare il file /etc/ppp/options, che contiene le opzioni riguardanti il collegamento telefonico con il fornitore di connettività. Aprendo il file /etc/ppp/options dovreste leggere più o meno una schermata di questo tipo:
/dev/ttyS0 #porta del modem
115200 #velocità della porta seriale collegata al modem
debug #per
avere una traccia su file delle operazioni effettuate dal pppd
lock
#per impedire ad altre applicazioni oltre al pppd l’utilizzo della porta
di comunicazione del modem
modem #per
utilizare i comandi modem (at)
crtscts
#per utilizzare il flusso di controllo hardware
defaultroute
#per aggiungere una route alla tavola di routing del sistema
asyncmap 0
#specifica che caratteri di controllo non devono essere ricevuti sulla
linea del modem
remotename name.it #configura il
nome del sistema remoto ai fini dell’autenticazione
mtu 552
#imposta la dimensione dei pacchetti in trasmissione
mru 552
#imposta la dimensione dei pacchetti in ricezione
Non vi preoccupate nel leggere che la porta cui è collegato il modem è /dev/ttyS0 (o, con una obsoleta definizione, dev/cua0): si tratta della solita vecchia seriale che in Dos e Windows viene definita com1 o com2, mentre in Linux prende il nome di /dev/ttyS0 o /dev/ttyS1.
Inoltre, ricordate che "name.it" va sostituito con il dominio del vostro provider che, nel caso fosse ad esempio flashnet, assume il valore "flashnet.it"
Ora bisogna inserire lo username e la password assegnavi dal provider all’interno del file
/etc/ppp/pap-secrets
Tali valori saranno passati automaticamente al vostro isp che li verificherà e, in caso di risposta positiva provvederà, a connettervi al suo sistema.
La sintassi è molto semplice:
username * password
Se, ad esempio, il vostro username è pippo e la password pluto, dovrete scrivere:
pippo * pluto
Ed eccoci infine alla creazione dello script che lancia la connessione al provider. Sempre utilizzando Vi, create il file di collegamento direttamente nella directory /usr/local/bin, in modo tale che possa essere utilizzato da tutti gli utenti che hanno inserito nella variabile d’ambiente PATH questo percorso, che viene di solito utilizzato per installare i programmi non di sistema.
Scegliete un nome abbastanza corto e semplice da ricordare, magari ispirato al vostro provider e data il comando
vi /usr/local/bin/nome_file_script
Cosa dovrete scrivere? Prendete ad esempio le seguenti righe:
#!/bin/bash
/usr/sbin/pppd connect '/usr/sbin/chat -v "" ATDTnumero_telefono CONNECT ""' user username -d -detach &
dove numero_telefono è il numero di telefono che deve essere chiamato dal vostro modem e username lo stesso definito nel file pap-secrets (nell’esempio di prima pippo).
E’ da sottolineare che il demone pppd, che si occupa delle connessioni via tcp/ip, può essere eseguito esclusivamente dall’utente root. Esistono metodi per modificare i permessi e renderlo eseguibile anche da altri utenti che non hanno tutti i privilegi dell’amministratore del sistema, ma non è ora il momento di trattarli.
Limitiamoci a definire i permessi di esecuzione corretti affinché possa essere lanciato, utilizzando il comando
chmod 744 /usr/local/bin/nome_file_script
che definisce i permessi di lettura, scrittura ed esecuzione per l’utente root (che è il proprietario del file) e di sola lettura per gli utenti del gruppo e per tutti gli altri.
A questo punto per lanciare il collegamento al provider (che utilizzi sia il pap come autenticazione e assegni un indirizzo ip dinamico), basterà semplicemente digitare nome_file_script ed aspettare pochi secondi per sentire il modem iniziare a emettere qualche rumore.
Per verificare se la connessione è stata attivata, basta digitare
ifconfig ppp0
ed osservarne l’output del tipo:
ppp0 Link encap:Point-Point
Protocol
inet addr:212.216.65.190
P-t-P:151.99.115.18 Mask:255.255.255.0
UP POINTOPOINT RUNNING
MTU:552 Metric:1
RX packets:237 errors:0
dropped:0 overruns:0
TX packets:213 errors:0
dropped:0 overruns:0
Questo signfica che il collegamento è stato effettuato con esito positivo al server 212.216.65.190 e che alla nostra macchina è stato abbinato l’ip 151.99.115.18.
Un ultimo metodo di verifica, utile specialmente se si verificano dei problemi di connessione, consiste nell’andare a leggere in tempo reale i messaggi che i processi scrivono nei file di log. Al nostro scopo basterà andare a leggere il file messages tramite l’apposito comando:
tail –f /var/log/messages
Se tutto è in ordine e non ricevete
messaggi di errore, vuol dire che siete pronti per navigare!
Configuriamo le interfacce grafiche
I gestori di finestre usati ed installati
in Linux sono molti e variano in funzione delle distribuzioni utilizzate.
RedHat installa fvwm95, altre installano fvwm1
Ecco come può apparire il desktop con Fvwm
ed altre ancora permettono di scegliere il window manager preferito al momento dell’installazione.
In queste pagine impareremo ad usarne solo due, giusto per familiarizzare con questo genere di programmi. Il primo è Fvwm1, uno dei più vecchi e robusti windows manager, mentre il secondo è Windows Maker; entrambi hanno il vantaggio di essere leggeri, veloci e semplici da gestire.
Fvwm1
Sviluppato quando ancora i processori
non avevano la potenza di calcolo dei chip dell’ultima generazione e la
ram costava molto più di ora, Fvwm1 è uno dei manager più
leggeri in circolazione, pur senza essere sorpassato; oltre alla leggerezza
e all’affidabilità, la sua lunga carriera lo ha dotato di semplici
comandi e una configurazione di base intuitiva.
L’utilizzo di un gestore di finestre prevede sempre l’esistenza di un file denominato .xinitrc nella propria home directory nel quale occorre specificare al sistema quale window manager si intende utilizzare; nel caso non esista, il sistema carica di default il file xinitrc presente in /etc/X11/xinit/.
Per utilizzare Fvwm, bisogna quindi dotarsi di un file .xinitrc ed editarlo, specificando al suo interno che si vuole utilizzare proprio quel manager particolare.
Scorrendo il file in questione, sostituite all’eventuale dicitura fvwm95 (se è questo il gestore di default utilizzato dal sistema) la stringa fvwm; per comodità vi ricordiamo che nel 99% dei casi, il nome del window manager viene specificato nell’ultima riga del file.
Dopo avere indicato quale strumento utilizzare, è il momento di configurarlo tramite il file .fvwm che va collocato nella home directory dell’utente, dato che in un sistema Linux ogni utente può utilizzare un window manager differente e una configurazione propria ed è quindi necessario specificare i dettagli a livello di singolo utente, inserendoli nella sua directory.
Se non è presente alcun file .fvwm, viene utilizzata una configurazione di default che si trova in /etc/X11/fvwm/system.fvwmrc; ogni modifica apportata a questo file si ripercuoterà su tutti gli utenti che pur utilizzando Fvwm non abbiano creato un file .fvwm a parte. Il nostro consiglio rimane comunque quello di personalizzare unicamente il proprio file, ricopiando /etc/X11/fvwm/system.xinitrc nella propria home directory e rinominandolo .fvwmrc.
Il file è abbastanza lungo e a prima vista complesso ma con un minimo di attenzione vi renderete conto che la sintassi usata è molto semplice ed intuitiva ed inoltre anche molto ben commentata.
La prima parte definisce i colori delle finestre, dei menu, delle zone evidenziate e del pager: per ognuno di questi oggetti sono definiti i colori di background e foreground (sfondo e testo), che possono essere scelti grazie a tool quali xcolors.
Segue poi la sezione dedicata ai font da utilizzare sulle finestre e nei menu, poi quella relativa all’emulazione di MWM, la sezione relativa al posizionamento e l’attivazione delle finestre e, dopo la parte dedicata alle icone associate ai programmi, arriverete al blocco dedicato ai menu personalizzabili.
La personalizzazione dei menu di Fvwm consente di ottenere menu comodi e completi.
Se avete già lanciato l’ambiente grafico digitando startx, avrete notato che utilizzando il tasto sinistro del mouse compare un menu con alcune voci che a loro volta aprono nuovi sottomenu. Il nome del menu viene definito con la seguente sintassi:
Popup "nome menu"
Title "titolo del
menu"
Exec "programma"
exec comando &
EndPopup
La funzione Popup identifica il nome del menu nel quale sono contenuti i nomi dei file eseguibili, con le eventuali opzioni. Un tipico esempio è il seguente:
Popup "Shells"
Title "Shells"
Exec "Xterm (7x14
font)" exec /usr/bin/X11/xterm -sb -sl 500 -j -ls -fn &
Exec "Color Rxvt
(VT100 emulator)" exec /usr/bin/X11/rxvt -fn 7x14 -ls &
Exec "Color Xterm
(7x14 font)" exec nxterm -sb -sl 500 -j -ls -fn 7x14 &
EndPopup
Come si può vedere dall’esempio, il menu Shells contiene tre eseguibili: Xterm, Color Rxvt e Color Xterm. La prima parte (Exec "Xterm (7x14 font)") è il nome con cui il file apparirà nel menu mentre la seconda (exec /usr/bin/X11/xterm -sb -sl 500 -j -ls -fn &) esegue il programma specificato dopo exec (in questo nostro esempio xterm). I valori preceduti dal simbolo "-" sono le opzioni con cui xterm sarà eseguito.
Se si vuole inserire un separatore tra le diverse voci dei menu, basterà utilizzare Nop "" (senza spazi tra gli apici). Una volta terminato un menu basta chiudere il blocco di codice con la parola chiave EndPopup.
Window Maker
Giunto ormai alla release 0.52.0, questo
window manager si sta diffondendo sempre di più grazie alla sua
semplicità d'uso ed alle sue capacità grafiche. L’installazione
è davvero intuitiva (partendo dai binari precompilati: basta eseguire
il comando wmaker.inst e rispondere alle poche domande poste dallo script
e il gioco è fatto.
Grazie all’utility Wprefs,
presente sul desktop, sarà poi
possibile eseguire tutta la configurazione nei minimi dettagli, fatta eccezione
per i menu che, utilizzando questo strumento, devono essere riscritti completamente.
Per ovviare a questo inconveniente, basterà editare a mano il file
~/GNUstep/Library/WindowMaker/menu inserendo e/o modificando le voci esistenti.
Come per Fvwm, anche Window Maker ha la possibilità di gestire menu e sotto menu in maniera molto semplice: in questo caso l’identificazione di un blocco di istruzioni per la creazione di un menu viene identificato da un’etichetta inserita fra doppi apici (ad es. "Applicazioni") seguita dalla parole chiave MENU. Le righe successive devono contenere, tra doppi apici, il nome del programma che si vuol far comparire sul menu seguita dall’istruzione EXEC ed il nome del binario da eseguire. Arrivati alla fine del menu, chiudetelo riportando l’etichetta, sempre fra doppi apici, seguita dalla parola chiave END.
Facciamo un esempio, costruendo un menu Applicazioni contenente xterm, Netscape e Gimp:
"Applicazioni" MENU
"Xterm" EXEC xterm
"Netscape" EXEC
netscape
"GIMP" EXEC gimp
"Applicazioni" END
Se volete una soluzione più articolata, è possibile creare dei sotto menu, annidando i blocchi di codice uno dentro l’altro. In questo esempio, il menu Graphics è un sotto menu di Applications e contiene i vari programmi Gimp, XV, Xpaint e Xfig.
"Applications" MENU
"Graphics" MENU
"Gimp" EXEC gimp
>/dev/null
"XV" EXEC xv
"XPaint" EXEC xpaint
"XFig" EXEC xfig
"Graphics" END
"LyX" EXEC lyx
"Netscape" EXEC
netscape
"Ghostview" EXEC
ghostview %a(Enter file to view)
"TkDesk" EXEC tkdesk
"Applications" END
In poche linee di codice, come avete potuto
vedere, è possibile aggiungere o rimuovere qualsiasi programma al
vostro menu iniziale, il tutto in pochi secondi. In più, la funzione
di "dockit" (l'icona in alto a destra), vi consentirà di avere direttamente
sul vostro desktop le icone dei programmi più utilizzati: vi basterà
attivare un programma e trascinare con il mouse la sua icona su dockit.
Un ultimo accenno in chiusura alla personalizzazione
dei colori, del mouse, delle finestre e di tutto ciò che riguarda
l’ambiente di Window Maker; non c’è bisogno di dire molto: basta
cercare su internet il programma wmakerconf e il gioco è fatto!