Come cambiare la shell predefinita in Linux
Una shell è l’interfaccia tramite la quale puoi comunicare con il tuo sistema Linux. Ti consente di digitare comandi e controllare il tuo computer. Ogni utente Linux ha una shell predefinita, che nella maggior parte dei casi è bash. Ci sono anche molte altre opzioni disponibili, tra cui Zsh, ksh, rc e fish. Qui ti mostriamo i vari metodi per cambiare la tua shell predefinita in Linux.
Come trovare il nome attuale della tua Shell
Prima di addentrarci nella modifica della shell predefinita, è bene sapere quale shell stai utilizzando al momento. Puoi scoprirlo controllando la variabile di ambiente di sistema usando il seguente comando echo:
Questo comando stamperà il percorso della shell corrente, ad esempio /bin/bash
o /bin/zsh
.
Il /etc/passwd
file contiene informazioni importanti sull’account utente. Puoi anche usare questo file per trovare la tua shell attuale:
È inoltre possibile trovare maggiori informazioni sulla shell corrente controllando l’ID del processo (PID) tramite il comando ps:
Questo output conferma che la shell corrente è bash.
Elenca tutte le shell installate
Ora che conosci la tua shell attuale, potresti voler vedere quali altre opzioni sono disponibili sul tuo sistema. Per individuare tutte le shell installate sul tuo sistema, devi dare un’occhiata al /etc/shells
file.
Usiamo il comando cat per visualizzare un elenco di tutte le shell disponibili sul tuo sistema:
Questo ti darà un’idea di quali shell puoi usare. Puoi anche installare qualsiasi nuova shell usando il tuo gestore di pacchetti e usarla come shell predefinita.
Inoltre, puoi provare queste shell elencate temporaneamente senza cambiare la tua shell predefinita. Per avviare una nuova sessione shell, digita semplicemente il nome della shell nel terminale.
Ad esempio, per provare la shell Zsh, digitare:
In questo modo potrai sperimentare diverse shell prima di decidere di effettuare un passaggio permanente.
Cambiare la shell predefinita in Linux usando Chsh
Il modo più diretto per cambiare la shell predefinita in Linux è usare il chsh
comando. Il chsh
comando sta per “change shell” e si usa insieme all’opzione -s
seguita dal percorso della shell.
Se non conosci il percorso della tua shell, esegui type zsh
nel terminale per ottenere il percorso desiderato. Dopo aver ottenuto il percorso della tua shell, puoi cambiare la tua shell predefinita con la tua shell specifica.
Ad esempio, se si desidera passare a Zsh, è necessario utilizzare chsh -s
con il percorso della shell Zsh:
Ti verrà chiesto di inserire la tua password. Una volta fatto, devi uscire e accedere nuovamente per confermare le modifiche.
Il chsh
comando cambierà la shell di login predefinita in modo permanente. Puoi verificare le modifiche eseguendo questo comando:
Modifica di un’altra shell utente
Se hai privilegi di root e la possibilità di usare il sudo
comando, puoi cambiare la shell predefinita per altri account utente. Questo può essere utile se vuoi fornire un ambiente shell diverso, come fish, per un altro utente.
Ad esempio, per cambiare la shell di un altro utente in Zsh, eseguire questo comando nel terminale:
Questo comando indica al sistema di modificare la shell predefinita per l’utente specifico nella shell Zsh, che si trova in /bin/zsh
.
Cambiare la shell predefinita in Linux usando Usermod
Un altro metodo per cambiare shell è usare il usermod
comando. Questo comando è usato per modificare gli account utente e può anche essere usato per cambiare la shell predefinita.
Per cambiare la shell predefinita utilizzando usermod
, apri un terminale con privilegi di root e digita questo comando:
Qui è necessario sostituire /path/to/new/shell
con il percorso shell desiderato e your_username
con il proprio nome utente effettivo.
Ad esempio, modifichiamo la shell bash predefinita in zsh:
Proprio come in precedenza, disconnettiti e accedi nuovamente al tuo sistema Linux per rendere effettive le modifiche.
È possibile verificare il passaggio alla nuova shell esaminando i dettagli dell’account utente con il seguente comando:
Modifica manuale della shell predefinita in Linux
Puoi anche cambiare manualmente la shell predefinita modificando il /etc/passwd
file. Puoi farlo sostituendo il percorso della shell predefinita con la nuova shell. Tuttavia, fai attenzione con questa tecnica, perché può causare problemi se non eseguita correttamente.
Per modificare manualmente la shell, apri il /etc/passwd
file utilizzando il tuo editor di testo preferito (come nano o vim) con privilegi di root:
Cerca il tuo username nel file. L’ultimo campo nella voce del tuo utente mostrerà la tua shell corrente. Cambialo nel percorso della shell desiderata.
Ad esempio, modifichiamo il /bin/bash
percorso predefinito della shell in /bin/zsh
:
Infine, salva il file premendo Ctrl+ Sed esci dall’editor con Ctrl+ X. Di nuovo, esci e rientra per applicare le modifiche.
Alternativa alla tua shell predefinita
Sebbene Bash sia uno strumento di scripting potente e di grande utilità, esistono diverse altre shell che possono migliorare l’esperienza della riga di comando e offrire migliori opzioni di personalizzazione:
Pescare
fish si riferisce a Friendly Interactive Shell. Questa shell ha un’interfaccia intuitiva a riga di comando, con evidenziazione della sintassi, suggerimenti automatici e completamenti tramite tabulazione che rendono la digitazione dei comandi un gioco da ragazzi.
fish include anche uno strumento di configurazione basato sul web. Ciò significa che puoi modificare le impostazioni e creare funzioni senza dover scavare nei file di configurazione.
Zsh
Zsh, o Z shell, è altamente personalizzabile e ha molte funzionalità utili. Alcune delle sue migliori funzionalità includono globbing, autocorrezione, configurazioni personalizzate e completamento avanzato delle schede.
Zsh supporta anche plugin e temi, rendendo facile personalizzare la tua esperienza shell a tuo piacimento. Con Zsh, puoi anche mostrare il tuo ramo Git ed eseguire complesse manipolazioni di file con semplici pattern.
Ksh
ksh, o KornShell, prende le migliori caratteristiche dalla shell C e dalla shell Bourne, rendendola una shell potente e facile da usare con capacità di scripting avanzate. Alcune caratteristiche di ksh includono funzioni matematiche integrate, editing della riga di comando, scripting della shell ed estensibilità.
Conclusione
Cambiare la shell predefinita in Linux è un processo semplice che può migliorare la tua esperienza con la riga di comando. Se sei un utente esperto, dovresti assolutamente provare altre shell Linux alternative.
Credito immagine: Lukas tramite Unsplash . Tutti gli screenshot sono di Haroon Javed.
Lascia un commento