Debian + Fluxbox

4 maggio 2012

Quella che segue è una guida estremamente personale all'installazione ed alla configurazione di un sistema operativo GNU/Linux Debian 6.0 (Squeeze) con l'aggiunta del window manager Fluxbox, più alcuni programmi di mio gradimento.
Lo scopo principale di questo documento è quello di consentirmi di velocizzare eventuali future installazioni; alcune delle parti relative alla configurazione del gestore di finestre potranno, forse, tornare utili anche ad altri.
L'installazione avviene su di un elaboratore avente le caratteristiche riportate nel seguente file di testo, tramite il primo CD della serie e con la possibilità di accedere alla rete Internet.

Punti particolari relativi all'installazione del sistema operativo

1) Impostare il BIOS in modo che ricerchi un'eventuale sistema operativo a partire dall'unità CD/DVD-ROM, viceversa effettuare l'installazione tramite CD potrebbe risultare cosa assai problematica ;-)

2) Eseguire l'installazione in modalità "Graphical install".

3) Nome da assegnare all'elaboratore in questione: natalie.

4) Accettare la partecipazione al programma statistico Debian Popularity Contest.
Maggiori informazioni sono reperibili presso: popcon.debian.org
Comando per riconfigurare successivamente il Debian Popularity Contest: # dpkg-reconfigure popularity-contest

5) Alla voce "Software selection" scegliere solo "Standard system utilities", in modo da installare un sistema funzionante esclusivamente da linea di comando a cui successivamente si aggiungeranno: il server grafico, Fluxbox ed alcuni programmi.

6) Una volta terminata l'installazione e riavviato l'elaboratore, riconfigurare il BIOS in modo che ricerchi un'eventuale sistema operativo a partire dal disco rigido. Questa configurazione la scelgo sia per motivi di sicurezza, blanda ma spesso efficace, sia per comodità; nel primo caso è necessario che il BIOS sia protetto con una password.

Nota: causa gusti personali, il sistema viene installato ed utilizzato in lingua inglese.

Configurazione di GRUB 2

Per apportare alcune delle seguenti modifiche a GRUB 2 è necessario agire sui file /etc/default/grub e /etc/grub.d/40_custom tramite un'editor di testi (ad esempio VIM o Nano) in qualità di utente root.

Nota: nel caso in cui si scelga VIM come editor di testi, potrebbe essere necessario dover procedere alla sua installazione tramite il seguente comando: # apt-get install vim

Nota: il simbolo del dollaro posto all'inizio di un comando significa che si sta agendo in qualità di utente ordinario, quello del cancelletto in qualità di utente root (l'amministratore del sistema). All'interno dei file di configurazione il simbolo del cancelletto rappresenta invece un commento ed è spesso utilizzato per disattivare delle linee di codice.

1) Impostare il tempo di avvio del kernel predefinito a 10 secondi.

Sequenza:

2) Impostare una risoluzione pari a 800x600 pixel per la schermata d'avvio di GRUB 2.

Sequenza:

3) Impostare la risoluzione della console a 1024x768 pixel, in modo che sia identica a quella dell'ambiente grafico (nel mio caso, appunto, 1024x768 pixel).

Sequenza:

4) Eseguire il seguente comando per rendere effettive le modifiche apportate: # update-grub2

5) Riavviare l'elaboratore per verificare il corretto funzionamento delle nuove impostazioni: # shutdown -r now

Personalizzare il login testuale della console

Personalmente preferisco avere un sistema che si avvia in modalità testuale invece che grafica, anche in questo caso un piccolo ritocco estetico si può apportare, vediamo come.

1) Aggiungere un logo al login:

2) Utilizzare il programma Fortune per visualizzare un messaggio, sempre diverso, dopo il login:

3) Riavviare l'elaboratore per ammirare la nuova estetica: # shutdown -r now

Installare il server grafico e Fluxbox

1) Giunti a questo punto è conveniente modificare le sorgenti da cui il sistema scarica i pacchetti software, in modo da non dover più utilizzare il CD ma esclusivamente la rete Internet.

Sequenza:

2) Installare il server grafico: # apt-get install xorg

Nota: assieme ad XOrg verrà installato anche il terminale XTerm che da ora in poi sarà utilizzato come terminale predefinito di Fluxbox.

3) Installare Fluxbox: # apt-get install fluxbox

4) Finalmente possiamo avviare Fluxbox (come utente comune): $ startx

Personalizzare XTerm

XTerm è davvero un ottimo terminale, occupa poche risorse ed è altamente configurabile. In questo capitolo ci occuperemo proprio di quest'ultimo aspetto, ovvio.

Nota: per avviare XTerm cliccare con il tasto destro del mouse sul desktop, in modo da aprire il menu di Fluxbox, quindi scegliere Applications - Terminal Emulators - XTerm.

1) Creare il file .Xresources da cui Fluxbox leggerà i parametri di personalizzazione per XTerm.

Sequenza:

2) Impostare Fluxbox in modo che all'avvio legga il file .Xresources

Sequenza:

Nota: per copiare un testo in XTerm è sufficente selezionarlo, per incollarlo bisogna portarsi con il cursore nella zona desiderata e poi premere il tasto centrale del mouse.
Per approfondire ulteriormente la conoscenza di XTerm vi consiglio la lettura della relativa pagina di manuale ($ man xterm).

Nota: al termine delle modifiche è necessario riavviare il server grafico, ad esempio, eseguendo il logout tramite il menu di Fluxbox.

Personalizzare alcuni aspetti dell'estetica di Fluxbox

Ogni utente del sistema può configurare Fluxbox come più gli aggrada agendo sui file di configurazione presenti nella directory nascosta denominata .fluxbox, discendente della home directory dell'utente stesso.
In questa ed in altre sezioni modificheremo proprio questi file, come del resto abbiamo già fatto quando ci siamo occupati di XTerm.

1) Scegliere il tema grafico: attivare il menu di Fluxbox tramite il tasto destro del mouse, tra le varie voci disponibili selezionare Styles che consente di scegliere come deve presentarsi il nostro gestore di finestre preferito. Tra quelli predefiniti, il tema che più mi sfagiola (previa qualche lieve modifica) è Twice.

2) Impostare la dimensione orizzontale della barra degli strumenti.

Sequenza:

3) Scegliere quali elementi e in quale ordine, devono essere presenti nella barra degli strumenti.

Sequenza:

4) Impostare il formato dell'orologio presente nella barra degli strumenti.

Sequenza:

5) Eliminare le icone dei programmi dalla barra degli strumenti, dalla barra del titolo delle finestre e dai sottomenu della voce Workspaces del menu di Fluxbox.

Sequenza:

6) Portare il numero degli spazi di lavoro a cinque (si tratta dei cosiddetti desktop virtuali) e rinominarli.

Sequenza:

Nota: per rendere operative alcune delle modifiche mostrate, è necessario lanciare il comando Reconfigure tramite il menu di Fluxbox.

Impostare lo sfondo del desktop

Per impostare lo sfondo del desktop in Fluxbox è necessario avvalersi di un programma esterno, io ho scelto Nitrogen.

1) Installare Nitrogen: # apt-get install nitrogen

2) Scegliere uno sfondo di proprio gradimento.

Sequenza:

3) Impostare Fluxbox in modo che l'ultimo sfondo utilizzato venga caricato ad ogni avvio del window manager.

Sequenza:

Nota: ovviamente, nel filesystem in uso devono essere presenti delle immagini da utilizzare come sfondo del desktop.

Nota: questa è la prima applicazione basata sulle librerie GTK installata in questa guida ed il suo aspetto attuale potrebbe risultare un poco retrò, in un capitolo successivo (Abbellire l'interfaccia delle applicazioni grafiche) vedremo come renderlo decisamente più moderno ed attraente; inoltre, avviando Nitrogen da terminale, verrà riportato un errore (ERR: Could not load "image-loading" from icon theme, this indicates a problem with your Gtk/Gtkmm install) che troverà soluzione proprio con l'utilizzo dei nuovi temi grafici.

Nota: l'attivazione della voce Restart presente nel menu di Fluxbox causa la perdita dal desktop dello sfondo scelto, per recuperarlo è sufficente selezionarlo nuovamente tramite Nitrogen o riavviare il server grafico, ad esempio, tramite la voce Exit del menu del window manager.

Personalizzare il menu di Fluxbox

Il menu predefinito di Fluxbox non è di mio gradimento, preferisco un menu personalizzato: vi sono diversi modi in cui un utente può gestire il menu, quello che segue è uno dei tanti possibili.

1) Creare un menu di base per il proprio utente.

Sequenza:

2) Personalizzare il proprio menu predefinito.

Sequenza:

Nota: come esempio, vi allego il mio menu attuale (8 aprile 2012).

Nota: se si ha la necessità di inserire nel menu un'applicazione che deve essere eseguita tramite XTerm è necessario utilizzare una sintassi simile a quella riportata di seguito: [exec] (Audio Player) {xterm -e mocp} ; nell'esempio, il player audio MOC viene eseguito (opzione -e) in una sessione di XTerm.

Ottimizzare la shell di root

Prima di procedere con l'installazione dei vari programmi, vediamo rapidamente come rendere più gradevole ed efficente l'utilizzo della shell in qualità di utente root.

1) Attivare la colorazione per il comando ls.

Sequenza:

2) Attivare il completamento automatico avanzato, utile ad esempio durante l'utilizzo di apt-get.

Sequenza:

Nota: per rendere operative le modifiche apportate, è necessario effettuare nuovamente il login al prompt della shell come amministratore del sistema.

Scegliere i programmi fondamentali

In questo capitolo e in alcuni dei successivi ci occuperemo della scelta e dell'installazione dei programmi da far girare sulla nostra Debian Squeeze, seguendo entro certi limiti alcune linee guida:

1) Terminale: XTerm.

Sequenza:

2) Gestione dei pacchetti software: APT da linea di comando.

Sequenza:

3) File manager da linea di comando: semplicemente la shell Bash.

Sequenza:

4) File manager grafico: ROX Filer.

Sequenza:

Nota: anche se in apparenza può sembrare di una semplicità disarmante, ROX-Filer è in realtà ricco di funzionalità ed altamente configurabile.

5) Editor di testi da linea di comando: VIM.

Sequenza:

Scegliere i programmi per Internet

1) Browser: Chromium.

Sequenza:

1.1) Plugin Flash.

Sequenza:

Nota: a questo punto della guida non è ancora stato installato un mixer per regolare l'audio del sistema e per questo motivo il sonoro dei filmati Flash risulterà probabilmente assente; l'argomento verrà trattato nel prossimo capitolo.

Nota: periodicamente, per motivi di sicurezza, è opportuno verificare la presenza di eventuali aggiornamenti del plugin per Flash.

Nota: il plugin appena installato è software proprietario.

1.2) Estensioni e temi: per estendere le funzionalità del browser o personalizzarne l'aspetto è possibile scaricare ed installare dei componenti aggiuntivi da alcuni siti web.

Siti web:

Estensioni che utilizzo attualmente (27 settembre 2011):

Nota: non tutte le estensioni presenti nei siti web elencati sono supportate dalla versione di Chromium presente in Debian Squeeze.

Nota: l'installazione di componenti aggiuntivi è potenzialmente pericolosa per la sicurezza del sistema, è quindi opportuno verificare periodicamente la presenza di eventuali aggiornamenti ed evitare di installare estensioni provenienti da siti web non affidabili.

1.3) Fonts per la lingua giapponese: vediamo brevemente come riuscire a visualizzare correttamente delle pagine web scritte con i caratteri del paese del sol levante.

Sequenza:

1.4) Integrazione con il file manager: ovvero, fare in modo che Chromium sia in grado di richiamare ROX-Filer per visualizzare la directory in cui è stato scaricato un file.

Sequenza:

Nota: una volta seguita la procedura indicata, per fare in modo che il browser apra direttamente i singoli file scaricati è sufficente associare in ROX-Filer le diverse tipologie di file alle relative applicazioni preferite.

2) Posta elettronica: Sylpheed.

Sequenza:

2.1) Notifica acustica: per avvisare l'utente dell'arrivo di nuove e-mail Sylpheed si avvale di programmi esterni, ad esempio Mpg123.

Sequenza:

2.2) Gestione dello spam: per gestire lo spam Sylpheed si avvale di programmi esterni, ad esempio BogoFilter.

Sequenza:

Nota: prossimamente aggiornerò questa sezione spiegando come filtrare automaticamente le e-mail spazzatura.

3) Client FTP: gFTP.

Sequenza:

4) Client BitTorrent: Deluge.

Sequenza:

Scegliere i programmi per la gestione dei contenuti audio e video

1) Abilitare i repository di Debian Multimedia.

Sequenza:

2) Mixer audio: AlsaMixer.

Sequenza:

Nota: per attivare o disattivare una voce selezionata premere il tasto [m], usare le frecce per scorrere le voci disponibili e regolare i parametri, premere [esc] per salvare ed uscire.

3) Player multimediale: Gnome MPlayer.

Sequenza:

Nota: Gnome MPlayer è semplicemente un'interfaccia grafica per il lettore multimediale MPlayer.

3.1) Libreria DvdCss per leggere i DVD con Gnome MPlayer o altri riproduttori video.

Sequenza:

4) Audio Player da linea di comando: MOC.

Sequenza:

Nota: se si chiude l'interfaccia di MOC quando un file è ancora in esecuzione la riproduzione del brano continuerà sino alla sua naturale conclusione, per evitare ciò è sufficente mettere in stato di pausa il programma prima di arrestarlo.

4.1) Creare una configurazione d'avvio personalizzata.

Sequenza:

Nota: dopo aver creato o modificato la configurazione personale di MOC, prima di avviare nuovamente il programma, è opportuno accertarsi che non vi siano sue istanze in esecuzione in background tramite il seguente comando che eventualmente si occuperà di terminarle: $ killall mocp

5) Convertitore ed estrattore di formati multimediali: FFmpeg.

Sequenza:

6) Estrattore di file audio dai CD: Asunder.

Sequenza:

7) Programma per masterizzare: Wodim.

Sequenza:

7.1) Creare degli alias: per velocizzare e facilitare l'uso di Wodim è conveniente creare degli alias per le operazioni più comuni.

Sequenza:

Nota: attualmente uso il masterizzatore solo per creare cd audio e testare qualche distribuzione, se in futuro dovessi avere ulteriori esigenze aggiungerò altri alias.

Nota: per poter usufruire delle modifiche apportate al file .bash_aliases è necessario riavviare il terminale o la console su cui gira la shell che si intende utilizzare.

Scegliere i programmi per la gestione delle immagini

1) Visualizzatore d'immagini: GPicView.

Sequenza:

2) Editor d'immagini: GIMP.

Sequenza:

3) Cattura schermo: Scrot.

Sequenza:

Nota: anche GIMP offre la possibilità di effettuare gli screenshots del desktop ma personalmente trovo che la combinazione di Scrot con GPicView o lo stesso GIMP, a seconda delle necessità, sia decisamente più efficace. Insomma, come sempre, ci vuole un pizzico di fantasia nel combinare i comandi tra loro; per approffondire l'argomento, oltre alla relativa man page, vi consiglio di consultare il mio menu di Fluxbox cercando i comandi relativi a Scrot.

4) Selettore di colori per il desktop: GColor2.

Sequenza:

Scegliere i programmi per l'ufficio

1) Editor di testi: Geany.

Sequenza:

2) Word processor: AbiWord.

Sequenza:

Nota: alcuni collegamenti del menu Help risulteranno non disponibili.

3) Foglio di calcolo: Gnumeric.

Sequenza:

Nota: alcuni collegamenti del menu Help risulteranno non disponibili.

4) Visualizzatore di documenti: ePDFView.

Sequenza:

5) Gestione delle finanze personali: HomeBank.

Sequenza:

Nota: alcuni collegamenti del menu Help risulteranno non disponibili.

6) Calcolatrice scientifica: Galculator.

Sequenza:

7) Calendario: Osmo.

Sequenza:

8) Sistema di stampa: Cups.

Sequenza:

Nota: quando richiesto, inserire username e password dell'amministratore di sistema. Per un corretto funzionamento di Cups è necessario che i cookies e javascript siano abilitati nel browser.

Scegliere alcuni programmi di varia utilità

1) Gestione degli archivi: Tar.

Sequenza:

Nota: per gestire gli archivi compressi Tar si avvale di GZip e Bzip2.

2) Gestione dei file compressi con estensione .gz: GZip.

Sequenza:

3) Gestione dei file compressi con estensione .bz2: BZip2.

Sequenza:

Nota: se, come in precedenza consigliato in questa guida, sì utilizza il file manager ROX-Filer BZip2 risulterà già installato.

4) Gestione dei file compressi con estensione .zip: Zip e UnZip.

Sequenza:

Nota: se, come in precedenza consigliato in questa guida, sì utilizza il file manager ROX-Filer UnZip risulterà già installato.

5) Sincronizzare data ed ora del sistema operativo con dei server su Internet: NTP.

Sequenza:

6) Gestione dei servizi caricati all'avvio del sistema: Sysv-rc-conf.

Sequenza:

Nota: prima di utilizzare Sysv-rc-conf è fondamentale avere una discreta conoscenza sul significato dei vari servizi, al fine di evitare di ritrovarsi con un sistema che non si è più in grado di avviare e/o usare correttamente.

7) Programma antivirus: ClamTk.

Sequenza:

Nota: il motivo per cui ho deciso di installare un software antivirus su GNU/Linux è legato al fatto che mi capita sovente di condividere file con persone che utilizzano altri sistemi operativi e non mi va di mandare in giro potenziali schifezze che possano arrecare dei danni.

Abbellire l'interfaccia delle applicazioni grafiche

1) Temi ed icone: al fine di rendere più gradevole e moderna l'interfaccia delle applicazioni grafiche è conveniente installare e configurare alcuni pacchetti dedicati.

Sequenza:

Nota: per visualizzare un elenco dei temi disponibili digitare da terminale: ls /usr/share/themes. Io ho scelto il tema Clearlooks di Squeeze con le icone di GNOME (in realtà quelle per Lenny che mi sono procurato a parte).

Nota: per vedere i cambiamenti apportati su eventuali applicazioni grafiche in esecuzione è necessario riavviarle.

2) Impostare globalmente lo stile per le toolbar delle applicazioni.

Sequenza:

Opzioni:

Nota: per vedere i cambiamenti apportati su eventuali applicazioni grafiche in esecuzione è necessario riavviarle.

Scorciatoie da tastiera

In Fluxbox esistono alcune scorciatoie da tastiera predefinite per gestire le finestre e gli spazi di lavoro ma altre se ne possono facilmente aggiungere, ad esempio, per lanciare i programmi che si utilizzano più spesso.

1) Modificare ed aggiungere nuove scorciatoie.

Sequenza:

Sintassi:

Nota: come esempio, vi allego il mio file keys attuale (31 ottobre 2011).

Nota: per utilizzare le modifiche apportate lanciare il comando Reconfigure tramite il menu di Fluxbox.

Innesto e gestione dei dispositivi USB

In questo capitolo ci occuperemo di prendere degli accorgimenti al fine di facilitare la gestione di alcuni dispositivi usb da linea di comando (chiavette, macchine fotografiche digitali, etc.).

1) Abilitare gli utenti comuni all'utilizzo delle periferiche usb.

Sequenza:

Nota: nel mio sistema è presente un solo disco rigido (/dev/sda) suddiviso in due partizioni, una primaria (/dev/sda1) ed una logica (/dev/sda5). Per questo motivo il lettore mp3 (non partizionato) viene identificato semplicemente come /dev/sdb, mentre chiavetta e macchina fotografica (entrambe partizionate) come /dev/sdb1.

Nota: le modifiche apportate in questo capitolo consentono di montare e smontare i dispositivi anche per via grafica, ad esempio, tramite il file manager ROX-Filer.

Script per la pulizia del sistema e la tutela della privacy

A fine giornata, prima di spegnere l'elaboratore, mi sfagiola fare un poco di pulizia eliminando tutti quei dati ormai inutili accumulati durante le ore di lavoro; per questo motivo ho creato un banale script bash denominato privacy script.

1) Creare lo script.

Sequenza:

2) Analisi dello script.

Analisi:

3) Rendere il file privacy script eseguibile.

Sequenza:

4) Creare un alias per facilitare l'esecuzione dello script.

Sequenza:

Nota: lo script va eseguito come utente root ed i percorsi vanno adeguati al proprio sistema.

Nota: per poter usufruire delle modifiche apportate al file .bashrc è necessario riavviare il terminale o la console su cui gira la shell che si intende utilizzare.

Screenshots e note conclusive

Ed eccoci finalmente giunti all'ultimo capitolo :-)
In futuro effettuerò probabilmente ulteriori aggiornamenti ma la struttura rimarrà sostanzialmente questa; inoltre, con l'uscita della nuova versione stabile di Debian (Wheezy) realizzerò una revisione completa in modo da adeguare i contenuti all'evoluzione del sistema operativo.

Per concludere non mi rimane che mostrarvi un paio di screenshots del mio desktop in modo che possiate avere una seppur minima idea del risultato finale e ringraziare tutti coloro che mi hanno inviato una e-mail inerente a quanto scritto in questa guida.

Alla prossima ;-)