GNU/Linux >> Znalost Linux >  >> Debian

Jak změnit výchozí shell v Linuxu

Tento článek vysvětluje, jak změnit výchozí shell v Linuxu. To vám umožní nastavit bash, sh, zsh, csh, fish atd. jako shell.

Článek poskytuje pokyny, jak změnit přihlašovací shell z příkazového řádku pomocí příkazu chsh, nebo jak změnit shell pouze pro konkrétní terminálovou aplikaci. I když je článek zaměřen na uživatele Linuxu, mělo by to fungovat i na jiných unixových systémech.

Jak změnit výchozí přihlašovací shell pomocí chsh (z příkazového řádku)

Ke změně výchozího přihlašovacího shellu používáme chsh , nástroj příkazového řádku pro změnu přihlašovacího prostředí.

Tento program změní přihlašovací shell změnou /etc/passwd Soubor a nastavení $SHELL Proměnná prostředí. Výchozí shell v terminálové aplikaci můžete přepsat nastavením shellu v nastavení terminálu – podrobnosti naleznete v druhé části tohoto článku.

Poznámka pro uživatele Fedory. Fedora nemá ve výchozím nastavení nainstalovaný chsh a k jeho použití potřebujete balíček s názvem. k instalaci util-linux-user . Pokud chcete instalaci tohoto balíčku přeskočit, můžete lchsh Chcete-li místo toho změnit výchozí přihlašovací prostředí:

sudo lchsh $USER

Je důležité si uvědomit, že normální uživatel s chsh může změnit pouze přihlašovací shell pro aktuální účet, zatímco superuživatel může změnit přihlašovací shell pro jakýkoli účet, včetně účtu root. Také výchozí chování pro uživatele bez oprávnění root je přijímat pouze shelly, které jsou v seznamu /etc/shells Soubor a vyšle varování pro uživatele root.

Než tedy změníte skořápku, vypište všechny mušle, které jsou uvedeny v /etc/shells Soubor z vašeho systému Linux pomocí následujícího příkazu:

cat /etc/shells

Příklad s výstupem:

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

Pokud shell, který chcete použít, zde není uveden, nemusí být ve vašem systému nainstalován. Nainstalujte jej (například nainstalujte Zsh na Debian / Ubuntu / Linux Mint / Pop! _OS s:sudo apt install zsh ) a znovu zkontrolujte.

Chcete-li změnit shell pro svého uživatele, proveďte následující:

chsh

To funguje chsh v interaktivním režimu se vás zeptá na heslo, poté vypíše váš aktuální shell (většina linuxových distribucí používá Bash jako výchozí shell) a požádá vás o zadání hodnoty pro váš nový shell. Zde je příkaz s jeho výstupem:

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

Chcete-li změnit svůj shell, zadejte cestu k novému shellu (který existuje v /etc/shells ) a stiskněte Enter Klíč.

Chcete-li například změnit shell pro aktuálního uživatele z bash na 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

Pokud používáte verzi chsh, která se po spuštění nespouští interaktivním příkazovým řádkem chsh , změňte přihlašovací shell pro svého uživatele přímo:

chsh -s <SHELL>

Např. pro změnu shellu na Zsh:

chsh -s /bin/zsh

Po změně prostředí vašeho účtu se odhlaste a znovu přihlaste, abyste mohli používat nový shell.

Chcete-li změnit přihlašovací shell pro jiného uživatele nebo pro uživatele root, přihlaste se jako root na výzvu shellu. na su - , sudo -i , sudo su , atd. a spusťte:

  • Chcete-li změnit shell pro účet root (a po zobrazení výzvy zadejte požadovaný přihlašovací shell s jeho úplnou cestou):

chsh

  • Chcete-li změnit shell jiného uživatele (toto funguje také pro uživatele root s root jako uživatelské jméno):

chsh -s <SHELL> <USERNAME>

Tentokrát jsme použili chsh s tím -s -Volba, která přímo změní přihlašovací shell (neběží v interaktivním režimu). Zde SHELL je nový shell (např. /bin/zsh ) a USERNAME je uživatel, pro kterého měníte shell; například změnit shell na /bin/zsh pro uživatele Logix , použili byste:chsh -s /bin/zsh Logix ).

Mohlo by se vám také líbit toto:Hvězdná loď je minimální a rychlá výzva k shellu v Rustu

Změňte prostředí pro svého uživatele v terminálové aplikaci

Můžete použít shell, který se liší od přihlašovacího shellu ($SHELL ) pro konkrétní terminálovou aplikaci, pokud tato aplikace umožňuje nastavit vlastní shell nebo spustit vlastní příkaz namísto výchozího shellu.

Jako vedlejší poznámku můžete také změnit aktuální shell (nikoli trvalou změnu) zadáním příkazu shellu, který chcete použít v terminálu (např. pokud zadáte „zsh“, přepnete na používání zsh pro danou relaci; ukončíte) zadáním „exit“).

Chcete-li použít terminál GNOME (používá se jako výchozí terminál v desktopech GNOME a Cinnamon). Otevřete jeho Preferences , klikněte na aktuálně aktivní profil (obvykle označený jako Výchozí nebo Bez názvu, pokud jste jej nezměnili nebo nepřidali nové profily) v levém postranním panelu a poté klikněte na Command Karta:

Zde můžete nastavit vlastní shell, který bude použit pouze s touto aplikací. Aktivujte Run a custom command instead of my shell Option, poté v Custom command Zadejte úplnou cestu k shellu, který chcete použít, např. /bin/zsh , /bin/bash , atd.

V terminálu Xfce4 , otevřete tento Preferences a na General Tab máte možnost tzv. aktivujte Run a custom command instead of my shell a poté zadejte vlastní příkaz pod (toto je shell, který chcete použít s tímto terminálem, např. /bin/zsh , /usr/bin/fish , atd.).

Použití KDE Plasmas Konzole , přejděte na Settings -> Edit Current Profile a na General Tab, změňte Command Pole pro úplnou cestu k shellu, který chcete použít (opět něco jako:/bin/zsh , /bin/bash , /usr/bin/fish , atd.).

Pomocí Guake , můžete použít uživatelský shell z vašeho Preferences , na Shell Karta, kde máte možnost s názvem. Najděte Default interpreter to umožňuje vybrat jakýkoli shell uvedený v /etc/shells .

U terminálů, které vám umožňují spouštět vlastní shell, byste také měli najít možnost, která vám umožní spustit příkaz jako přihlašovací shell (obvykle jen „spustit příkaz jako přihlašovací shell“). Informace o rozdílech mezi přihlašovacím shellem a interaktivním shellem naleznete na této stránce.

Nastavení je ve většině případů stejné, takže nebudu uvádět žádné další příklady. Je však třeba poznamenat, že ne všechny terminálové aplikace mají možnosti povolit použití vlastního shellu – v takových případech použijte chsh Příkaz pro změnu přihlašovacího prostředí, jak je popsáno výše.

Mohlo by se vám líbit toto:179 barevných schémat pro váš linuxový terminál založený na Gtk (Gnome Terminal, Tilix, Xfce Terminal, další)


Debian
  1. Jak změnit výchozí prostředí v Linuxu

  2. Jak změnit velikost MTU v Linuxu

  3. Jak změním svůj výchozí shell na účtu domény

  1. Jak změnit barvu vašeho terminálu Linux

  2. Jak změnit výchozí verzi pythonu na Debian 9 Stretch Linux

  3. Jak změnit identitu systému Linux

  1. Jak změnit (trvale) výchozí prostředí po přihlášení na konkrétním Ttynu v Linuxu?

  2. Jak změnit Shell v Linuxu

  3. Jak trvale změnit MAC adresu v Linuxu