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

Изображение функции изменения оболочки по умолчанию в 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

Список всех установленных оболочек в системе Linux Ubuntu

Это даст вам представление о том, на какие оболочки вы можете переключиться. Вы также можете установить любую новую оболочку с помощью вашего менеджера пакетов и использовать ее в качестве оболочки по умолчанию.

Более того, вы можете попробовать эти перечисленные оболочки временно, не изменяя вашу оболочку по умолчанию. Чтобы начать новую сессию оболочки, просто введите имя оболочки в терминале.

Например, чтобы попробовать оболочку 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:

Изменение оболочки bash по умолчанию на оболочку zsh в текстовом редакторе /etc/passwd.

Наконец, сохраните файл, нажав 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. Все скриншоты сделаны Харуном Джаведом.