Алексей Федорчук
В Antergos’е, как и почти во всех дистрибутивах Linux’а, в качестве регистрационной командной оболочки пользователя выступает Bash. Ну а мы-то с Manual’ом привыкли вот уже много лет всегда и везде для этой цели применяем Zsh. И определение его на роль login shell поэтому было одной из первоочередных наших задач после установки системы. А в случае использования ZFS как корня файловой иерархии — так вообще первой.
Заполучить сам по себе Zsh в Antergos’е очень просто — он имеется в официальном репозитории, так что достаточно такой команды:
$ sudo pacman -Su zsh
Однако, если запустить Pamac и провести там поиск по ключевому слову zsh
— даже в официальном репозитории обнаруживается немалое число дополнительных пакетов к этому шеллу. Некоторые из них, о назначении которых мы знали и догадывались, были установлены, некоторые (такие, как добавление Fish-стиля подсветки) — проигнорированы как ненужные:
Если же обратиться к AUR’у — всякого рода плагинов и прочих дополнений к Zsh там будет вообще без счёта, но знакомство с ними было отложено до лучших времён:
А пока следовало сделать Zsh регистрационной оболочкой:
$ chsh -s /bin/zsh
И скопировать в наш домашний каталог любимый конфигруационный файл .zshrc
— примерно такой же, как для Cintu, но, разумеется, без строк, интегрирующих Zsh и APT. То есть примерно в том виде, как описано здесь. Впрочем, кот Manual обещает в ближайшее время вернуться к изложению своих воззрений по этому вопросу.
А пока мы на досуге поглядели на дистрибутив под именем Apacity. Это также клон Archlinux’а с инсталлятором и графическими средами (на выбор — Cinnamon и GNOME), а также большим набором предустановленных приложений. Впрочем, надеемся скоро сказать о нём хоть пару слов, если, конечно, дойдут руки и лапы.
А пока только об одной примечательной особенности Apacity: это — чуть ли не единственный в природе дистрибутив, в котором в качестве пользовательского login shell используется Zsh, весьма своеобразно настроенный. В частности, в нём на всю катушку задействованы темы приглашений командной строки, о которых некогда говорилось.
Поглядели мы с Manual’ом на темы приглашений в каталоге /usr/share/zsh/functions/Prompts
свежим взглядом… точнее, командой
$ prompt -p
И пришли к выводу, что некоторые из них не только вредны красивы (это — дело субъективное), но и полезны информативны:
Например, «двухэтажная» тема adam2
позволяет вывести полный путь к текущему каталогу не в правостороннем приглашении, а в «первом этаже», не стесняя собственно строку ввода.
Слегка поправив эту тему на предмет цветов и исправления ошибки, мы назвали её в честь степного кота манула, родного брата Manual’а, и увековечили её в таких строках файла ~/.zshrc
:
autoload -Uz promptinit promptinit prompt manul
После чего командная строка приобрела у нас следующий вид:
Теперь оставалось сделать Zsh умолчальным login shell для всех вновь создаваемых пользователей. Для чего в файле /etc/default/useradd
строка
#SHELL=/bin/bash
была закомментирована, а вместо неё записана такая:
SHELL=/bin/zsh
И наконец, чтобы каждый вновь создаваемый пользователь получал Zsh, должным образом настроенный «из коробки», пользовательский конфиг был скопирован в «скелетный» каталог:
$ sudo cp /home/alv/.zshrc /etc/skel/
Всё это было сделано потому, что кот Manual настоял на создании для него собственного аккаунта, против чего, зная его аккуратность, я и возражать не пытался.
Завершающим, хотя и спорным, штрихом в настройке Zsh может быть назначение её любимой женой командной оболочкой администратора, что можно сделать такой командой:
$ sudo -i chsh -s /bin/zsh
Что после ввода пароля даст такое сообщение:
Изменение шелла для root. Шелл изменён.
Я никогда раньше этой процедуры не проделывал, но кот Manual обещает в скором времени поделиться своими воззрениями на данный вопрос.