Connect with us

Linux

Come cambiare la shell predefinita in Linux


cambiare la shell predefinita di Linux

Questo articolo spiega come modificare la shell predefinita in Linux. Usando questo puoi impostare Bash, sh, Zsh, Csh, Fish, ecc. Come shell.

L’articolo include le istruzioni per cambiare la shell di login dalla riga di comando usando chsh, o cambiare la shell solo per una particolare applicazione terminale. Sebbene l’articolo sia rivolto agli utenti Linux, dovrebbe funzionare anche su altri sistemi simili a Unix.

Come cambiare la shell di login predefinita usando chsh (dalla riga di comando)

Per cambiare la shell di login predefinita che useremo chsh, uno strumento a riga di comando per modificare la shell di login.

Questo programma cambia la shell di login modificando il file /etc/passwd file e impostando il file $SHELL variabile d’ambiente. È possibile sovrascrivere la shell predefinita in un’applicazione terminale, impostando la shell dalle impostazioni del terminale – vedere la seconda parte di questo articolo per i dettagli.

Una nota per gli utenti Fedora. Fedora non ha chsh installato di default e per usarlo, è necessario installare un pacchetto chiamato util-linux-user. Se vuoi saltare l’installazione di questo pacchetto, puoi usare lchsh invece di cambiare la shell di login, che è disponibile di default:

sudo lchsh $USER

È importante notare che usando chsh, un utente normale può cambiare solo la shell di login per l’account corrente, mentre il superutente può cambiare la shell di login per qualsiasi account, incluso l’account root. Inoltre, il comportamento predefinito per gli utenti non root è accettare solo le shell elencate nel file /etc/shells e invia un avviso per l’utente root.

Quindi, prima di cambiare il tuo guscio, elenca tutte le shell elencate nel file /etc/shells file dal tuo sistema Linux utilizzando il seguente comando:

cat /etc/shells

Esempio con output:

$ cat /etc/shells
# /etc/shells: valid login shells
/bin/sh
/bin/bash
/bin/rbash
/bin/dash
/usr/bin/tmux
/bin/zsh

Se la shell che desideri utilizzare non è elencata qui, potrebbe non essere installata sul tuo sistema. Quindi installalo (ad esempio, installa Zsh su Debian / Ubuntu / Linux Mint / Pop! _OS usando: sudo apt install zsh) e ricontrolla.

Per cambiare la shell per il tuo utente, esegui:

chsh

Questo funziona chsh in modalità interattiva, chiedendoti la password, quindi elencando la tua shell corrente (la maggior parte delle distribuzioni Linux usa Bash come shell predefinita) e chiedendoti di inserire un valore per la tua nuova shell. Ecco il comando con il suo output:

$ chsh
Password:
Changing the login shell for logix
Enter the new value, or press ENTER for the default
Login Shell [/bin/bash]:

Per modificare la shell, digita il percorso della nuova shell (che esiste in /etc/shells) e premere il pulsante Enter chiave.

Ad esempio, per cambiare la shell per l’utente corrente da Bash a Zsh:

$ chsh
Password:
Changing the login shell for logix
Enter the new value, or press ENTER for the default
Login Shell [/bin/bash]: /bin/zsh

Nel caso in cui stai utilizzando una versione chsh che non si avvia con un prompt interattivo dopo l’esecuzione chsh, cambia direttamente la shell di login per il tuo utente:

chsh -s <SHELL>

Ad esempio, per cambiare la shell in Zsh:

chsh -s /bin/zsh

Dopo aver modificato la shell del tuo account, disconnettiti e accedi di nuovo per utilizzare la nuova shell.

Per cambiare la shell di login per un altro utente o per l’utente root, accedere al prompt della shell come root utilizzando su -, sudo -i, sudo su, ecc. ed esegui:

  • Per cambiare la shell per l’account root (e quando richiesto, inserisci la shell di login che desideri utilizzare, con il suo percorso completo):

chsh

  • Per cambiare la shell di un altro utente (funziona anche per l’utente root, usando root come nome utente):
chsh -s <SHELL> <USERNAME>

Questa volta abbiamo usato chsh con il -s opzione, che modifica direttamente la shell di login (non viene eseguita in modalità interattiva). Qui, SHELL è la nuova shell (es /bin/zsh) e USERNAME è l’utente per il quale stai cambiando la shell; ad esempio, per cambiare la shell in /bin/zsh per l’utente Logix, useresti: chsh -s /bin/zsh Logix).

Potrebbe piacerti anche: Starship è un prompt di shell minimo e veloce scritto in ruggine

Cambia la shell per il tuo utente in un’applicazione terminale

Puoi usare una shell diversa dalla shell di login ($SHELL) per una particolare applicazione terminale, se tale applicazione consente di impostare una shell personalizzata o eseguire un comando personalizzato invece della shell predefinita.

Come nota a margine, puoi anche modificare la shell corrente (modifica non permanente) digitando il comando di shell che desideri utilizzare in un terminale (ad esempio, se digiti “zsh”, passerai all’utilizzo di Zsh per quella sessione; uscire digitando “exit”.).

Prendere Terminale GNOME per esempio (utilizzato nei desktop GNOME e Cinnamon come terminale predefinito). Apri il file Preferences, fai clic sul profilo attivo corrente (di solito chiamato Predefinito o Senza nome se non l’hai modificato o aggiunto nuovi profili) nella barra laterale sinistra, quindi fai clic sul Command scheda:

cambiare il terminale gnome della shell

Qui è dove puoi impostare una shell personalizzata da utilizzare solo con questa applicazione. Abilita il Run a custom command instead of my shell opzione, quindi nell’opzione Custom command campo immettere il percorso completo della shell che si desidera utilizzare, ad es /bin/zsh, /bin/bash, eccetera.

In Terminale Xfce4, apri il Preferences e sul General scheda dovrai abilitare un’opzione chiamata Run a custom command instead of my shell, quindi inserisci il comando personalizzato di seguito (questa è la shell che desideri utilizzare con questo terminale, ad es /bin/zsh, /usr/bin/fish, eccetera.).

Utilizzando KDE Plasma’s Konsole, vai a Settings -> Edit Current Profilee sul General scheda, cambia il file Command campo al percorso completo della shell che si desidera utilizzare (ancora una volta, qualcosa come: /bin/zsh, /bin/bash, /usr/bin/fish, eccetera.).

Utilizzando Guake, puoi cambiare la shell utente dalla sua Preferences, sul Shell scheda, dove troverai un’opzione chiamata Default interpreter che consente di scegliere qualsiasi shell elencata in /etc/shells.

Per i terminali che consentono di eseguire una shell personalizzata dovresti anche trovare un’opzione che consenta di eseguire il comando come shell di login (di solito chiamata semplicemente: “Esegui comando come shell di login”). Per leggere le differenze tra una shell di login e una shell interattiva, vedere questa pagina.

L’impostazione è la stessa nella maggior parte dei casi, quindi non fornirò altri esempi. Tuttavia, vale la pena notare che non tutte le applicazioni terminali hanno opzioni per consentire l’utilizzo di una shell personalizzata: in questi casi, utilizzare il chsh comando per modificare la shell di login, come spiegato sopra.

Potrebbe piacerti: 179 combinazioni di colori per il tuo terminale Linux basato su Gtk (terminale Gnome, Tilix, terminale Xfce, altro)


Ti e piaciuto questo articolo?
Supporta il mio lavoro, facendo una donazione!

Click to comment

Leave a Reply

Esegui l'accesso per Commentare

Di tendenza

Close Popup
Questo sito utilizza i cookie per migliorare servizi ed esperienza dei lettori. Se decidi di continuare la navigazione senza blocchi premi su Accetto, oppure continua tranquillamente la navigazione, nessun dato sulla tua navigazione verrà raccolto.
Close Popup
Privacy Settings saved!
Impostazioni

Quando visiti un sito Web, esso può archiviare o recuperare informazioni sul tuo browser, principalmente sotto forma di cookies. Controlla qui i tuoi servizi di cookie personali.

Questi cookie sono necessari per il funzionamento del sito Web e non possono essere disattivati nei nostri sistemi.

Cookie tecnici
Per utilizzare questo sito web usiamo i seguenti cookie tecnici necessari:
  • wordpress_test_cookie
  • wordpress_logged_in_
  • wordpress_sec
  • swpm_session

Google Adsense
Usiamo la pubblicità di Google solo per mantenere attivi i nostro sito. Con ip anonimizzati.

Rifiuta tutti i Servizi
Save
Accetta tutti i Servizi