Cintu и Zsh. Вступление

Cintu и Zsh. Вступление

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

Эта серия набросков (или шпаргалок) посвящена приёмам работы к командной строке вообще и в Zsh в особенности. Именно эта командная оболочка принята в Cintu как регистрационная (login shell) по умолчанию, вместо традиционного для почти всех дистрибутивов Linux оболочки Bash. Причин такого выбора несколько. и основные из них — следующие:

  • бесспорное превосходство Zsh над всеми другими шеллами при интерактивной работе;
  • наличие некоторых уникальных функций, не реализованных ни в одной другой командной оболочке;
  • лёгкая, вследствие этого, интеграция Zsh с менеджером пакетов APT.

Не все из перечисленных возможностей работает в Zsh «из коробки» — большая их часть требует соответствующей настройки. В Cintu включён главный конфигурационный файл этой оболочки ~/.zshrc для пользователя, чей аккаунт создаётся при установке системы. В него включены все опции, необходимые для работы описываемого функционала. Файл этот по возможности прокомментирован на русском языке. А поскольку консоль в Cintu корректно русифицирована, его можно прочитать даже при крахе графической оболочки.

В следующих релизах Cintu оболочка Zsh будет по умолчанию определяться как login shell для каждого вновь создаваемого аккаунта, наследующего аналогичный конфиг из /etc/skel/.zshrc. А в предыдущих релизах для достижения того же результата следует, во-первых, в файле /etc/adduser.conf. строку

DSHELL=/bin/bash

заменить на

DSHELL=/bin/zsh

А во-вторых, следует скопировать пользовательские конфиги .zshrc и .zshenv:

$ sudo cp ~/.zsh* /etc/skel/

Обращаю внимание на файл .zshenv. Раньше он был жизненно необходим для работы всего одной, но очень полезной функции Zsh — поиска в истории по фрагменту строки (см. следующий набросок). Нынче надобность в нём отпала, и он сохраняется «на всякий пожарный».

Ну и напоследок рецепт для тех потенциальных применителей Cintu, которые категорически не пожелают расставаться с привычным Bash’ем. Вернуть его в качестве регистрационной оболочки текущего пользователя можно командой

$ chsh -s /bin/bash

А чтобы сделать Bash регистрационной оболочкой для всех вновь создаваемых пользователей, достаточно оставить нетронутым файл /etc/adduser.conf. в текущих релизах, или заменить в нём /bin/zsh на /bin/bash в релизах грядущих.

И совсем под занавес — я таки надеюсь, что потенциальные применители Cintu оценят несравненные достоинства Zsh как интерактивной оболочки. И необходимости выполнять послендние две процедуры у них не возникнет. Для чего, собственно, и сочинялись эти наброски.

Моя Cintu. Оглавление

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