Gli utenti Linux (o Unix in generale) hanno una relazione personale con la loro cartella home: è un po’ l’equivalente del desktop per i sistemi Windows, il posto dove si mettono le cose “di default” in attesa di sistemarle nella loro collocazione definitiva (cosa che può anche non succedere mai, ma questo è un altro discorso).
Ne segue la ben nota tendenza ad accogliere ciarpame di ogni genere, che fa bella mostra di sé ad ogni successiva esecuzione di ls. Ma come dovrebbe essere una home “ben tenuta”? Secondo me, le regole di base sono due:
- niente file (o il minimo indispensabile), solo directory, e
- un massimo di 10/12 elementi, in modo da non superare le due/tre righe di output di ls (in un terminale di dimensioni sensate).
Purtroppo, la recente evoluzione delle distribuzioni Linux sta andando decisamente contro a questo mio ideale di ordine. Ecco infatti come appare la home directory di un sistema appena installato:
Non abbiamo nemmeno iniziato a caricare i nostri dati che già l’installer ha “opportunamente” pensato di creare una manciata di cartelle di dubbia utilità. Il problema è che queste cartelle non si possono semplicemente cancellare, perché sono memorizzate come percorsi di default per certe applicazioni che quindi, non trovandole, potrebbero giustamente lamentarsi o, peggio ancora, ricrearle autonomamente ogni volta.
Che fare, dunque? La mia personalissima analisi di queste cartelle di default è la seguente:
- Desktop: questa me la devo tenere, anche se personalmente la uso pochissimo (che senso ha mettere delle icone in un posto che è quasi sempre coperto al 90% dalle finestre?), ma il window manager la tratta in maniera speciale e non sarebbe opportuno unirla a un’altra
- Documents: magari a qualcuno serve, per me è totalmente inutile (i miei documenti li organizzo come credo io, non certo mettendo tutto in un’unica directory); una pessima scoppiazzatura dal mondo Windows
- Downloads: questa è effettivamente una buona idea, mettere di default i file scaricati qui contribuisce ad evitare l’effetto “ciarpame nella home” menzionato sopra
- Music, Pictures, Videos: anche queste sono utili per fare ordine, volendo si potrebbero unire in un’unica cartella “Media” ma a volte è meglio averle separate (ad es. per le ricerche su un solo tipo di media)
- Public: totalmente inutile se non avete condivisioni di rete
- Templates: non uso programmi che sfruttino questa directory, quindi inutile anch’essa
Riassumendo, almeno 3 cartelle su 8 sono del tutto inutili, e sarebbe bello liberarsene. Come fare? La chiave sta nel file .config/user-dirs.dirs, che contiene l’associazione tra i “ruoli” che queste directory svolgono nel sistema e il loro percorso su disco. Fortunatamente non è necessario che questa associazione sia biunivoca, quindi è possibile far svolgere a un’unica directory più ruoli. Ad esempio per unificare Documents e Downloads basta modificare il file summenzionato come segue:
XDG_DOWNLOAD_DIR="$HOME/Downloads" XDG_DOCUMENTS_DIR="$HOME/Downloads"
oppure, per unificare Music, Pictures e Video nell’unica cartella Media:
XDG_MUSIC_DIR="$HOME/Media" XDG_PICTURES_DIR="$HOME/Media" XDG_VIDEOS_DIR="$HOME/Media"
Se infine vogliamo solo nascondere una cartella che non ci serve (ad es. Public) in modo tale che non appaia più nell’elenco dei file, ma senza identificarla con altre, la soluzione migliore è rinominarla in modo tale da farla diventare nascosta (ad es. da Public a .Public), e modificare di conseguenza la linea corrispondente:
XDG_PUBLICSHARE_DIR="$HOME/.Public"
Niente male, no? In questo modo abbiamo subito una home molto più ordinata, e possiamo procedere a riempirla senza remore con le nostre schifezze.
Ma parlando di schifezze… cos’altro c’è nella home di un sistema appena installato? Nient’altro di visibile, d’accordo, ma che dire dei file nascosti? Sarà l’argomento della prossima (e ultima…) puntata!