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ší)