Antergos и Zsh

Алексей Федорчук

antergos

В Antergos’е, как и почти во всех дистрибутивах Linux’а, в качестве регистрационной командной оболочки пользователя выступает Bash. Ну а мы-то с Manual’ом привыкли вот уже много лет всегда и везде для этой цели применяем Zsh. И определение его на роль login shell поэтому было одной из первоочередных наших задач после установки системы. А в случае использования ZFS как корня файловой иерархии — так вообще первой.

Заполучить сам по себе Zsh в Antergos’е очень просто — он имеется в официальном репозитории, так что достаточно такой команды:

$ sudo pacman -Su zsh

Однако, если запустить Pamac и провести там поиск по ключевому слову zsh — даже в официальном репозитории обнаруживается немалое число дополнительных пакетов к этому шеллу. Некоторые из них, о назначении которых мы знали и догадывались, были установлены, некоторые (такие, как добавление Fish-стиля подсветки) — проигнорированы как ненужные:

antergos-1704_043

Если же обратиться к AUR’у — всякого рода плагинов и прочих дополнений к Zsh там будет вообще без счёта, но знакомство с ними было отложено до лучших времён:

antergos-1704_044

А пока следовало сделать 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

И пришли к выводу, что некоторые из них не только вредны красивы (это — дело субъективное), но и полезны информативны:

antergos-1704_045

Например, «двухэтажная» тема adam2 позволяет вывести полный путь к текущему каталогу не в правостороннем приглашении, а в «первом этаже», не стесняя собственно строку ввода.

Слегка поправив эту тему на предмет цветов и исправления ошибки, мы назвали её в честь степного кота манула, родного брата Manual’а, и увековечили её в таких строках файла ~/.zshrc:

autoload -Uz promptinit
promptinit
prompt manul

После чего командная строка приобрела у нас следующий вид:

antergos-1704_046

Теперь оставалось сделать 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 обещает в скором времени поделиться своими воззрениями на данный вопрос.

Содержание

Добавить комментарий