From Gentoo Wiki
Jump to:navigation Jump to:search

zsh (Z shell) is an interactive login shell that can also be used as a powerful scripting language interpreter. It is similar to bash and the Korn shell, but offers extensive configurability, powerful command-line completion, file globbing, and spelling correction.

See the terminal emulator article for some general usage pointers.


USE flags

Cannot load package information. Is the atom app-shells/zsh correct?


Install app-shells/zsh:

root #emerge --ask app-shells/zsh



Emerging app-shells/zsh-completions enables auto-completion for arguments of commands, which is one of the advantages zsh has over other shells:

root #emerge --ask app-shells/zsh-completions
To enable auto-completion globally (for most programs), add 'zsh-completion' to the USE variable in /etc/portage/make.conf


Emerging app-shells/gentoo-zsh-completions enables Gentoo specific auto-completion for arguments of Portage and other Gentoo commands:

root #emerge --ask app-shells/gentoo-zsh-completions

When installing this package be sure to add the following to the respective ~/.zshrc files:

FILE ~/.zshrcEnabling Portage completions and Gentoo prompt for zsh
autoload -U compinit promptinit
promptinit; prompt gentoo

To enable a cache for the completions add:

FILE ~/.zshrcEnabling cache for the completions for zsh
zstyle ':completion::complete:*' use-cache 1



user $zsh

Upon running zsh for the first time as a new user, you will be greeted by a basic configuration dialog. The setup process can be skipped by pressing q. If the setup process is skipped zsh can be setup manually.

Setting zsh as the default shell

To make zsh the default shell for a user, run:

user $chsh -s /bin/zsh


zsh's main configuration file is located in each user's home directory at ~/.zshrc. Reload this file in running shells for the changes to take effect:

user $source ~/.zshrc
Reloading via the source command is only necessary when instances of zsh are already in memory after changes are made to the shell's configuration file.


The zsh community created numerous tweaks, the easiest way to acquire them is to install oh-my-zsh framework. It contains handy plugins and eye candy themes, and makes their configuration very easy. However you should always consider the security risk involving running code outside of Gentoo developers jurisdiction.



root #emerge --ask --depclean --verbose app-shells/zsh


Inactive keys

If the Home or End or Del key does not work, try entering keybindings into the user's `~/.zshrc` such as examples in ArchWiki.


Garbled display

The output of a shell can, in some conditions, become corrupt. See the terminal emulator article for instructions to help fix this.

See also

  • Zsh/Guide — details installation, configuration, and light usage functionality for zsh.

External resources