Как изменить оболочку по умолчанию в Linux с помощью chsh
Оболочка – это программа, которая действует как внешний уровень операционной системы, через который вы взаимодействуете с ее различными программами и службами. Большинство дистрибутивов Linux используют bash в качестве оболочки по умолчанию. Однако вы можете выбрать другую оболочку для своей системы, если хотите.
Помимо bash, Linux также поддерживает другие программы оболочки, такие как ksh, zsh, csh и fish. Каждая из этих оболочек имеет некоторые уникальные характеристики, которые отличают их от bash и других оболочек.
Давайте углубимся, чтобы узнать больше о оболочке и о том, как изменить оболочку Linux по умолчанию.
Что такое оболочка и в чем ее значение?
Оболочка – это компьютерная программа, которая позволяет вам управлять различными элементами операционной системы с помощью команд. Когда вы используете терминал в Linux, вы в основном взаимодействуете с оболочкой, находящейся между вами и операционной системой, и инструктируете ее выполнять команды.
Большинство оболочек Linux поставляются с интерфейсом командной строки (CLI) и требуют знания команд (и их синтаксиса). Когда вы вводите команду в оболочку, она ищет программу (в вашей команде) в системном пути, чтобы определить ее. Если он находит совпадение, он успешно выполняет команду, и вы получаете результат.
Короче говоря, оболочка предлагает мощный и эффективный способ взаимодействия с операционной системой.
Почему вы хотите изменить оболочку по умолчанию?
Вообще говоря, большинство оболочек, с которыми вы столкнетесь в Linux или любых других системах на основе Unix, по большей части предлагают примерно те же функции: они позволяют вам удобно взаимодействовать / управлять различными элементами системы.
Bash , который предустановлен в большинстве дистрибутивов Linux, является прекрасным примером этого. Однако в сочетании с некоторыми другими оболочками, такими как, например, zsh, он уступает по функциональности.
Zsh, с другой стороны, предлагает множество дополнительных функций, таких как автозаполнение, автокоррекция, автоматический компакт-диск, рекурсивное расширение пути и поддержка плагинов, что дает ему преимущество перед bash и некоторыми другими оболочками.
Конечно, это лишь некоторые из преимуществ, которые дает zsh. Другие оболочки также содержат свой собственный набор функций и улучшений, что делает работу с ними проще и удобнее.
Как изменить оболочку Linux по умолчанию
Есть несколько способов изменить оболочку по умолчанию в Linux. Мы продемонстрируем процесс с помощью утилиты chsh в этом руководстве, поскольку это более надежный и удобный метод лота.
Chsh – это утилита командной строки в операционных системах на базе Unix, которая позволяет вам изменить оболочку по умолчанию. Он предустановлен практически во всех дистрибутивах Linux.
Чтобы использовать его, все, что вам нужно сделать, это указать путь к оболочке, которую вы хотите использовать в терминале, и он позаботится обо всем остальном процессе. Однако вам нужно будет выполнить несколько шагов, прежде чем вы сможете изменить оболочку по умолчанию.
Вот разбивка этих шагов.
Шаг 1. Определение установленных оболочек
Перед установкой новой оболочки важно знать, какие оболочки уже установлены в вашей системе Linux. Для этого откройте терминал и введите:
cat /etc/shells
Если вы не установили новую оболочку, ваш результат должен выглядеть так, как на прилагаемом изображении ниже.
Шаг 2: установка новой оболочки
После того, как вы определили установленные в вашей системе оболочки, следующим шагом будет установка новой оболочки. В связи с этим в Linux доступно множество опций, каждая из которых имеет свои преимущества и недостатки. Поэтому в зависимости от ваших предпочтений и того, чего вы хотите достичь с помощью оболочки, вы можете выбрать ту, которая соответствует вашим требованиям.
Это руководство продемонстрирует установку и настройку оболочки zsh. Не стесняйтесь заменять «zsh» на имя вашей оболочки в следующих командах.
Чтобы установить zsh в дистрибутивы на основе Debian:
sudo apt install zsh
Вы можете установить zsh в Arch Linux с помощью pacman:
sudo pacman -Syu zsh
Также легко установить zsh в Fedora, CentOS и другие дистрибутивы RHEL:
sudo dnf install zsh
После завершения установки выполните следующую команду, чтобы еще раз проверить установленные оболочки в вашей системе:
cat /etc/shells
Затем проверьте, работает ли установленная оболочка. Для этого введите имя вашей оболочки в терминале. Если это zsh, запустите:
zsh
Чтобы вернуться к оболочке по умолчанию, введите exit и нажмите Enter .
Шаг 3. Установка оболочки в качестве оболочки по умолчанию для вашей системы
Если ваша недавно установленная оболочка отображается в списке установленных оболочек и работает нормально, теперь вы готовы установить ее в качестве оболочки по умолчанию для вашей системы. Обратите внимание, что с помощью chsh вы можете изменить как интерактивную оболочку по умолчанию, так и оболочку входа по умолчанию.
Оболочка входа – это оболочка, в которой вы получаете терминал после входа в систему, тогда как интерактивная оболочка доступна все время после входа в систему.
Чтобы установить zsh (или любую другую оболочку) в качестве оболочки входа по умолчанию, откройте терминал и запустите:
chsh
Когда будет предложено ввести пароль, введите пароль своей учетной записи и нажмите Enter .
Затем введите абсолютный путь к установленной оболочке. Это изменит оболочку входа в систему по умолчанию для вашей системы. Чтобы изменить интерактивную оболочку по умолчанию на zsh:
chsh -s /usr/bin/zsh
Система попросит вас ввести пароль, чтобы изменения вступили в силу. Введите свой пароль и нажмите Enter .
После того, как вы установили zsh (или другую оболочку) в качестве оболочки по умолчанию или / или интерактивной оболочки, выйдите из системы и снова войдите в систему, чтобы изменения отразились на вашей системе.
Теперь, когда вы снова войдете в систему и откроете терминал, система встретит вас конфигуратором оболочки. Прежде чем вы сможете начать использовать новую оболочку, вы должны выбрать здесь параметры, которые соответствуют требованиям вашей оболочки.
Когда все настроено, проверьте, установлена ли ваша недавно установленная оболочка в качестве системной оболочки по умолчанию. Для этого выполните следующую команду:
echo $SHELL
Если вы установили для него значение zsh, вы увидите его путь в терминале. В случае другой оболочки он должен соответствующим образом отражать путь.
Обратите внимание: если вы хотите изменить оболочку по умолчанию для других пользователей в вашей системе, вам придется делать это индивидуально для каждого пользователя. Например, если вы хотите изменить оболочку по умолчанию для пользователя sam , вам необходимо выполнить следующую команду:
sudo chsh -s /usr/bin/zsh sam
Изменение оболочки по умолчанию для персонализированного опыта
Многофункциональная оболочка обладает рядом дополнительных преимуществ помимо тех, которые присущи оболочке по умолчанию. А поскольку большинство ваших взаимодействий и операций с Linux происходят из командной строки, изменение оболочки по умолчанию на ту, которая предлагает больше функций, является одним из первых шагов по настройке вашей рабочей среды.
Фактически, вам следует подумать не только об изменении оболочки по умолчанию, но и о ее настройке и настройке так, как вы хотите, чтобы улучшить весь опыт. Хорошее место для начала настройки вашей оболочки – это начать использовать псевдонимы командной строки, которые делают ввод команд в терминале быстрым и удобным.