Как изменить оболочку по умолчанию в Linux

Оболочка — это интерфейс, через который вы можете взаимодействовать с вашей системой Linux. Она позволяет вам вводить команды и управлять вашим компьютером. У каждого пользователя Linux есть оболочка по умолчанию, которая в большинстве случаев является bash. Также доступно много других вариантов, включая Zsh, ksh, rc и fish. Здесь мы покажем вам различные методы изменения вашей оболочки по умолчанию в Linux.
Содержание
- Как найти имя вашей текущей оболочки
- Список всех установленных оболочек
- Изменение оболочки по умолчанию в Linux с помощью Chsh
- Изменение оболочки другого пользователя
- Изменение оболочки по умолчанию в Linux с помощью Usermod
- Ручное изменение оболочки по умолчанию в Linux
- Альтернатива вашей оболочке по умолчанию
Как найти имя вашей текущей оболочки
Прежде чем мы перейдем к изменению оболочки по умолчанию, полезно знать, какую оболочку вы в настоящее время используете. Вы можете узнать это, проверив системную переменную окружения с помощью следующей команды echo:
echo $SHELL
Эта команда выведет путь вашей текущей оболочки, например, /bin/bash или /bin/zsh.
Файл /etc/passwd содержит важную информацию о учетных записях пользователей. Вы также можете использовать этот файл, чтобы найти вашу текущую оболочку:
grep "^${USER}" /etc/passwd
Вы также можете найти больше информации о текущей оболочке, проверив идентификатор процесса (PID), используя команду ps:
ps -p $$
Этот вывод подтверждает, что текущая оболочка — это bash.
Список всех установленных оболочек
Теперь, когда вы знаете вашу текущую оболочку, вы можете захотеть увидеть, какие другие варианты доступны в вашей системе. Чтобы найти все установленные оболочки в вашей системе, вам нужно взглянуть на файл /etc/shells.
Давайте используем команду cat, чтобы просмотреть список всех оболочек, доступных в вашей системе:
cat /etc/shells

Это даст вам представление о том, на какие оболочки вы можете переключиться. Вы также можете установить любую новую оболочку с помощью вашего менеджера пакетов и использовать ее в качестве оболочки по умолчанию.
Более того, вы можете попробовать эти перечисленные оболочки временно, не изменяя вашу оболочку по умолчанию. Чтобы начать новую сессию оболочки, просто введите имя оболочки в терминале.
Например, чтобы попробовать оболочку Zsh, введите:
zsh
Это позволяет вам экспериментировать с различными оболочками, прежде чем принять решение о постоянном переключении.
Изменение оболочки по умолчанию в Linux с помощью Chsh
Самый простой способ изменить оболочку по умолчанию в Linux — использовать команду chsh. Команда chsh означает “изменить оболочку”, и она используется вместе с опцией -s, за которой следует путь к вашей оболочке.
Если вы не знаете путь к вашей оболочке, выполните type zsh в терминале, чтобы получить нужный путь. После получения пути к вашей оболочке вы можете изменить вашу оболочку по умолчанию на вашу конкретную оболочку.
Например, если вы хотите переключиться на Zsh, вам нужно использовать chsh -s с путем к оболочке Zsh:
chsh -s /bin/zsh
Вас попросят ввести ваш пароль. После этого вам нужно выйти из системы и войти снова, чтобы подтвердить изменения.
Команда chsh изменит оболочку входа по умолчанию навсегда. Вы можете проверить изменения, выполнив эту команду:
grep "^${USER}" /etc/passwd
Изменение оболочки другого пользователя
Если у вас есть права root и возможность использовать команду sudo, вы можете изменить оболочку по умолчанию для других учетных записей пользователей. Это может быть полезно, если вы хотите предоставить другую оболочку, такую как fish, для другого пользователя.
Вы можете использовать тот же синтаксис команды chsh с дополнительным параметром, указывающим имя пользователя учетной записи, которую вы хотите изменить.
Например, чтобы изменить оболочку другого пользователя на Zsh, выполните эту команду в терминале:
sudo chsh -s /bin/zsh user
Эта команда говорит системе изменить оболочку по умолчанию для конкретного пользователя на оболочку Zsh, которая находится по адресу /bin/zsh.
Изменение оболочки по умолчанию в Linux с помощью Usermod
Другой метод переключения оболочек — использование команды usermod. Эта команда используется для изменения учетных записей пользователей, и ее также можно использовать для изменения оболочки по умолчанию.
Чтобы изменить вашу оболочку по умолчанию с помощью usermod, откройте терминал с правами root и введите эту команду:
sudo usermod -s /path/to/new/shell your_username
Здесь вам нужно заменить /path/to/new/shell на желаемый путь к оболочке и your_username на ваше фактическое имя пользователя.
Например, давайте изменим оболочку bash по умолчанию на zsh:
sudo usermod -s /bin/zsh user
Как и прежде, выйдите из системы и войдите снова в вашу систему Linux, чтобы изменения вступили в силу.
Вы можете проверить переключение на новую оболочку, посмотрев детали учетной записи пользователя с помощью следующей команды:
getent passwd user
Ручное изменение оболочки по умолчанию в Linux
Вы также можете изменить оболочку по умолчанию вручную, отредактировав файл /etc/passwd. Вы можете сделать это, заменив путь к оболочке по умолчанию на новую оболочку. Однако будьте осторожны с этой техникой, так как это может привести к проблемам, если не сделать это правильно.
Чтобы вручную изменить вашу оболочку, откройте файл /etc/passwd с помощью вашего любимого текстового редактора (например, nano или vim) с правами root:
sudo nano /etc/passwd
Найдите ваше имя пользователя в файле. Последнее поле в записи вашего пользователя покажет вашу текущую оболочку. Измените его на путь к желаемой оболочке.
Например, давайте изменим наш путь к оболочке /bin/bash на /bin/zsh:

Наконец, сохраните файл, нажав Ctrl + S, и выйдите из редактора, нажав Ctrl + X. Снова выйдите и войдите, чтобы применить изменения.
Альтернатива вашей оболочке по умолчанию
Хотя Bash является отличным и мощным инструментом для написания сценариев, существует несколько других оболочек, которые могут улучшить ваш опыт работы с командной строкой и предоставить лучшие возможности настройки:
Fish
fish относится к Friendly Interactive Shell. Эта оболочка имеет интуитивно понятный интерфейс командной строки, с подсветкой синтаксиса, автозаполнением и завершением команд, которые делают ввод команд легким.
fish также включает инструмент конфигурации на основе веба. Это означает, что вы можете настраивать параметры и создавать функции, не углубляясь в конфигурационные файлы.
Zsh
Zsh, или Z shell, очень настраиваемая и имеет много полезных функций. Некоторые из ее лучших функций включают глобализацию, автокоррекцию, пользовательские настройки и расширенное завершение команд.
Zsh также поддерживает плагины и темы, что облегчает настройку вашего опыта работы с оболочкой по вашему вкусу. С Zsh вы также можете показывать вашу ветку Git и выполнять сложные манипуляции с файлами с помощью простых шаблонов.
Ksh
ksh, или KornShell, берет лучшие функции из C shell и Bourne shell, делая ее мощной и простой в использовании оболочкой с расширенными возможностями написания сценариев. Некоторые функции ksh включают встроенные математические функции, редактирование командной строки, написание сценариев оболочки и расширяемость.
Заключение
Изменение вашей оболочки по умолчанию в Linux — это простой процесс, который может улучшить ваш опыт работы с командной строкой. Если вы опытный пользователь, вам определенно стоит попробовать другие альтернативные оболочки Linux.
Кредит изображения: Lukas через Unsplash. Все скриншоты сделаны Харуном Джаведом.