GNU/Linux >> Linux Esercitazione >  >> Debian

Come modificare la shell predefinita in Linux

Questo articolo spiega come modificare la shell predefinita in Linux. Ciò ti consente di impostare bash, sh, zsh, csh, fish, ecc. come shell.

L'articolo fornisce istruzioni su come modificare la shell di accesso dalla riga di comando con chsh o su come modificare la shell solo per un'applicazione terminale specifica. Sebbene l'articolo sia rivolto agli utenti Linux, dovrebbe funzionare anche su altri sistemi simili a Unix.

Come modificare la shell di accesso predefinita con chsh (dalla riga di comando)

Per modificare la shell di accesso predefinita utilizziamo chsh , uno strumento da riga di comando per modificare la shell di accesso.

Questo programma cambia la shell di login cambiando il /etc/passwd File e impostazione del $SHELL Variabile d'ambiente. Puoi sovrascrivere la shell predefinita in un'applicazione terminale impostando la shell nelle impostazioni del terminale:i dettagli sono disponibili nella seconda parte di questo articolo.

Una nota per gli utenti Fedora. Fedora non ha chsh installato di default e per usarlo è necessario un pacchetto chiamato. per installare util-linux-user . Se vuoi saltare l'installazione di questo pacchetto, puoi lchsh Per modificare invece la shell di accesso predefinita:

sudo lchsh $USER

È importante notare che un utente normale con chsh 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 che sono nell'elenco /etc/shells Archivia ed invia un avviso all'utente root.

Quindi, prima di cambiare guscio, Elenca tutte le cozze elencate nel /etc/shells File dal tuo sistema Linux utilizzando il seguente comando:

cat /etc/shells

Esempio con uscita:

$ 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 con:sudo apt install zsh ) e ricontrolla.

Per cambiare la shell per il tuo utente, procedi come segue:

chsh

Funziona chsh in modalità interattiva, ti chiede la password, quindi elenca la tua shell corrente (la maggior parte delle distribuzioni Linux usa Bash come shell predefinita) e ti chiede 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 cambiare la tua shell, inserisci il percorso della nuova shell (che esiste in /etc/shells ) e premere il 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

Se stai utilizzando una versione di chsh che non si avvia con un prompt dei comandi interattivo dopo l'esecuzione chsh , cambia direttamente la shell di accesso per il tuo utente:

chsh -s <SHELL>

Es. per cambiare la shell in Zsh:

chsh -s /bin/zsh

Dopo aver modificato la shell del tuo account, esci e accedi nuovamente per utilizzare la nuova shell.

Per modificare la shell di login per un altro utente o per l'utente root, accedi come root al prompt della shell. a su - , sudo -i , sudo su , ecc. ed esegui:

  • Per cambiare la shell per l'account root (e quando richiesto, inserire la shell di accesso desiderata con il suo percorso completo):

chsh

  • Per cambiare la shell di un altro utente (funziona anche per l'utente root con root come nome utente):

chsh -s <SHELL> <USERNAME>

Questa volta abbiamo usato chsh con quel -s -Opzione che cambia direttamente la shell di accesso (non viene eseguita in modalità interattiva). Qui, SHELL è la nuova shell (ad 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 questo:Starship è un prompt di shell minimo e veloce in Rust

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

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

Come nota a margine, puoi anche cambiare la shell corrente (non una modifica permanente) inserendo il comando della shell che vuoi usare in un terminale (ad esempio se digiti "zsh" passerai a usare zsh per quella sessione; esci) da digitando "exit").

Per prendere il terminale GNOME (usato come terminale predefinito nei desktop GNOME e Cinnamon). Apri il suo Preferences , fai clic sul profilo attualmente attivo (di solito denominato Predefinito o Senza titolo se non lo hai modificato o aggiunto nuovi profili) nella barra laterale sinistra, quindi fai clic su Command Scheda:

Qui puoi impostare una shell personalizzata che verrà utilizzata solo con questa applicazione. Attiva il Run a custom command instead of my shell Opzione, quindi nel Custom command Immettere il percorso completo della shell che si desidera utilizzare, ad es. /bin/zsh , /bin/bash , ecc.

Nel terminale Xfce4 , apri quel Preferences e sul General Scheda hai un'opzione chiamata. attiva Run a custom command instead of my shell , quindi inserisci il comando personalizzato sotto (questa è la shell che vuoi usare con questo terminale es. /bin/zsh , /usr/bin/fish , ecc.).

Usare KDE Plasmas Console , vai a Settings -> Edit Current Profile e sul General Tab, cambia il Command Campo per il percorso completo della shell che vuoi usare (di nuovo, qualcosa come:/bin/zsh , /bin/bash , /usr/bin/fish , ecc.).

Usando Guake , puoi utilizzare la shell utente dal tuo Preferences , sul Shell Scheda in cui hai un'opzione chiamata. Trova Default interpreter questo consente di selezionare qualsiasi shell elencata in /etc/shells .

Per i terminali che ti consentono di eseguire una shell personalizzata, dovresti anche trovare un'opzione che ti permetta di eseguire il comando come shell di login (di solito chiamata semplicemente "esegui comando come shell di login"). Per informazioni sulle differenze tra una shell di accesso e una shell interattiva, vedere questa pagina.

L'impostazione è la stessa nella maggior parte dei casi, quindi non fornirò ulteriori esempi. Vale la pena notare, tuttavia, che non tutte le applicazioni terminali hanno opzioni per consentire l'uso di una shell personalizzata:in questi casi, utilizzare il chsh Comando per modificare la shell di accesso come descritto sopra.

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


Debian
  1. Come cambiare il colore del tuo terminale Linux

  2. Come modificare la versione Python predefinita su Debian 9 Stretch Linux

  3. Come modificare la dimensione dell'MTU su Linux

  4. Come modificare in modo permanente l'indirizzo MAC su Linux

  5. Come posso cambiare la mia shell predefinita su un account di dominio

Come modificare la shell utente predefinita nel sistema operativo Linux

Come modificare la shell predefinita nel sistema Linux

Come modificare il terminale predefinito in Ubuntu

Come modificare una shell utente in Linux

Come modificare la porta SSH predefinita in Linux [correttamente e in modo sicuro]

Come modificare la password di root in Linux