Come ben sappiamo sotto Linux la stragrande maggioranza degli ambienti grafici hanno più Desktop, ma cosa fare se vogliamo più ambienti grafici (magari per più utenti)? 8)

3D Desktop

Bene quello che andremo ad utilizzare noi è la capacità del server X di avviare più sessioni congiuntamente a quella Unix di avere più console (le tty)!
Intanto bisogna essere un pò pratici, o per lo meno essere a conoscenza che premendo Ctrl + Alt + Fn (dove Fn sta per i tasti funzione in alto alla tastiera) si passa dalla console grafica a quella puro testo! Ricordo comunque che da 1 a 6 in genere (ma per molte distribuzioni, come quelle live, non è così) abbiamo le console a linea di comando (solitamente delle shell bash), mentre la 7 è dedicata al server X! Attenzione inoltre, è vero che le possibilità di fare danno sono poche, ma è anche vero che non avrete sempre un’interfaccia grafica con cui lavorare, quindi se vi spaventa l’idea di essere temporaneamente senza ambiente grafico lasciate perdere!

Okay, fatta la premessa passiamo al sodo! Per prima cosa è preferibile lavorare con la console puro testo, per comodità noi prenderemo la prima! Quindi premiamo Ctrl + Alt + F1! Ora, a seconda di quello che ci serve diamo i seguenti comandi:

  • startx -- :1 : è il comando più semplice, apre un altro ambiente grafico sulla base delle impostazioni predefinite, in genere ne apre uno identico a quello in corso (per capirsi, se state utilizzando gnome apre un altro gnome)
  • xinit /usr/bin/startkde -- :1 : questo comando esegue kde sul secondo display (:0 indica il primo, :1 il secondo e così via!), se avete fatto partire gnome ora vi ritroverete sia con gnome che con kde!😉
  • xinit /usr/bin/startkde -- :1 : come il precedente, con l’eccezione che stavolta verrà eseguito gnome!
  • xinit /usr/bin/icewm -- :1 : indovinate ora cosa succederà mai con l’ambiente grafico IceWM!

Ricordate che comunque le modifiche di un ambiente grafico potrebbero influenzare anche l’altro se sono eseguite dallo stesso utente (rimozione di file, cambio di sfondo, ecc…)! Se utilizzate ambienti grafici con utenti differenti (per esempio uno come utente normale e uno come root, sconsigliato ma possibile!) ovviamente non ci saranno interferenze!
Faccio notare inoltre che Ubuntu usa le console da 1 a 6 come puro testo, la 7 come grafica, la 8 come output del kernel e la 9 come seconda schell grafica! Quindi Ctrl + Alt + F6 è la prima shell grafica menter Ctrl + Alt + F9 la seconda (e non F8 come ci si aspetterebbe)!

Ah, un modo semplice e comodo per far partire altri ambienti grafici in maniera totalmente trasparente è utilizzare o il comando nohup o, meglio, il job control offerto da bash (basta aggiungere & in fondo al comando, ad esempio startx -- :1 &, magari ci si può anche redirigere l’output su /dev/null, ma poi è troppo)! Comunque quest’approccio è abbastanza sconsigliato perché si vanno a perdere alcune informazioni che possono tornare utili in caso di eventuali errori!