Оболочки по умолчанию linux

Как сменить оболочку (shell) в Linux

Возможно, вы уже знаете, что в Linux и других Unix-подобных системах доступно несколько оболочек. Bash является оболочкой по умолчанию почти во всех дистрибутивах Linux, но есть и другие популярные оболочки, такие как:

Некоторые из оболочек предоставляют дополнительные функции для удобства пользователе. Возьмем, к примеру, оболочку Fish. Онf частично начинает показывать вам подсказки команд, основанные на вашей предыдущей набранной команде. Это очень удобно, если вы не хотите постоянно помнить ярлыки на терминале Linux.

Давайте посмотрим некоторые моменты оболочки системы Linux.

Как узнать оболочку какая оболочка по умолчанию?

Чтобы узнать, какая оболочка по умолчанию установлена в конкретной системе, проверим переменную среды SHELL. Обычно оболочкой по умолчанию является bash, и она отображается так:

Как узнать, какая оболочку используется сейчас?

Не существует единого метода, который бы сообщал вам, какая оболочка используется в данный момент со 100%-ой точностью. Но можно попробовать либо echo $0, который показывает вывод, подобный этому:

либо проверить процесс, используя ps -p $$ следующим образом:

$ ps -p $$ PID TTY TIME CMD 9625 pts/0 00:00:00 zsh

Как просмотреть все оболочки, доступные в системе?

Все оболочки, доступные в конкретной системе, перечислены в файле /etc/shells. Можно использовать команды cat или less для просмотра содержимого файла.

# /etc/shells: valid login shells /bin/sh /bin/bash /bin/rbash /bin/dash /usr/bin/tmux /usr/bin/fish /bin/zsh /usr/bin/zsh

Как сменить оболочку?

Если вы хотите использовать другую оболочку, вы можете просто ввести ее имя и войти в новую оболочку. Например, если вы хотите использовать Z Shell (zsh), вы можете использовать:

Чтобы выйти из новой оболочки и вернуться к предыдущей достаточно выполнить команду exit .

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

Предположим, нам очень понравилась оболочка Fish, и мы хотим использовать ее в качестве оболочки по умолчанию, вместо оболочки bash которая поставляется по умолчанию.

Linux позволяет изменить оболочку по умолчанию с помощью команды chsh . Лучший способ изменить оболочку по умолчанию для вошедшего в систему пользователя — сменить имя оболочки, указанное в файле /etc/shells, с помощью опции -s.

Для того, чтобы изменения вступили в силу необходимо выйти из системы, иначе создастся ощущение, что запуск chsh не изменил оболочку.

Необходимо указывать полный путь к файлу /etc/shells? Если использовать chsh -s fish , то получим ошибку типа chsh: fish не является допустимой оболочкой .

Если не указано иное, содержимое этой вики предоставляется на условиях следующей лицензии:
CC Attribution-Noncommercial-Share Alike 4.0 International

Источник

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

Bash — не единственная оболочка Linux. Легко попробовать другие оболочки, такие как Zsh, который очень популярен. Когда вы найдете тот, который вам нравится, используйте команду chsh , чтобы сделать его оболочкой по умолчанию. Мы покажем вам, как это сделать.

Читайте также:  Linux zen manjaro установка

Почему оболочка важна

Оболочка находится между вами и операционной системой. Он предоставляет среду внутри окна терминала, которая позволяет вам вводить команды и запускать программы. Оболочка проверяет ваш ввод и выясняет, что вы хотите. Если он может сам выполнять ваши ставки, он это делает. Если ему нужна помощь извне, он ищет путь и находит программы, которые могут делать то, что вы просите.

В Linux доступно множество различных оболочек. Все они позволяют выполнять одни и те же основные задачи: исследовать файловую систему, работать с файлами, запускать программы и запускать скрипты. Однако каждый из них выполняет эти задачи по-своему и имеет свои особенности и особенности.

Оболочки, как правило, разрабатываются людьми, которые хотят, чтобы вещи вели себя определенным образом. Если ваше мышление совпадает с мышлением этого дизайнера, эта оболочка вполне может вам подойти. Кроме того, попробовать новую оболочку в Linux несложно.

В большинстве дистрибутивов Linux, включая Ubuntu, оболочкой по умолчанию является bash . Он делает большую работу и очень способный. Однако другая оболочка может предложить экономию времени, которая сильно повлияет на ваш рабочий процесс. Вы никогда не узнаете, если не посмотрите!

Ведро ракушек

Мы рассмотрели различные оболочки Linux раньше, но вот краткое введение в наиболее распространенные:

  • bash. Оболочка Bourne Again используется по умолчанию во многих дистрибутивах.
  • rbash. Эта оболочка с ограниченным доступом bash предоставляет минимальные функциональные возможности пользователю или скрипту, работающему в ней.
  • ash: оболочка Almquist – это облегченная версия bash.
  • дефис: Debian Alquist Shell — это сценарий оболочки по умолчанию в Ubuntu. В то время как bash – это логин и интерактивная оболочка по умолчанию, dash используется для запуска системных процессов, поскольку он намного легче, чем bash .
  • zsh. Оболочка Z — это современный взгляд на семейство оболочек bash . Он предлагает аккуратные улучшения, такие как проверка орфографии команд и предлагаемые исправления.
  • fish: эта удобная интерактивная оболочка была написана с нуля и не является производным от какого-либо другого семейства оболочек. Он предназначен для удобства пользователя. Помимо множества других преимуществ, fish предлагает варианты команд на основе вашей истории и содержимого текущей папки, подобно интеллектуальному вводу текста.
  • ksh. KornShell предоставляет особенно мощный язык сценариев.

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

Чтобы увидеть, какие оболочки установлены на вашем компьютере, используйте эту команду. Он просто перечисляет содержимое файла /etc/shells :

Мы уже упоминали bash , dash и rbash , но что такое sh ?

sh — это оболочка Томпсона, написанная еще в 1971 году Кеном Томпсоном из Bell Labs. Он больше не поддерживается и давно заменен современными оболочками. Он включен исключительно для обеспечения совместимости со старыми скриптами, в первой строке которых все еще есть следующее:

Это указывает системе использовать оболочку sh для выполнения скрипта. У вас действительно есть эта древняя оболочка на вашей машине и используется ли она для запуска ваших скриптов? Команда what сообщает нам, какая программа на самом деле запускается, когда вы вводите команду.

Читайте также:  Linux good text editor

Давайте посмотрим, что запускается, когда вы набираете sh :

Это, кажется, найти двоичный файл. если мы копнем немного глубже, мы увидим, что это символическая ссылка, которая на самом деле указывает на dash , облегченную оболочку, используемую для выполнения скриптов:

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

Установка другой оболочки

Давайте установим оболочку fish и установим ее по умолчанию для dave . В Ubuntu мы вводим следующую команду:

В Manjaro используйте pacman :

В Fedora введите следующее:

Когда установка будет завершена, вы можете еще раз проверить установленные оболочки:

Наша новая оболочка выглядит как /usr/bin/fish . Обратите внимание на этот путь — он вам скоро понадобится.

Переменная окружения $SHELL

Переменная окружения $SHELL содержит имя вашей текущей оболочки. Мы можем проверить, какой из них установлен, с помощью echo :

Теперь давайте еще раз проверим, что говорит переменная окружения $SHELL :

В первый раз, когда мы используем echo $SHELL , мы находимся в оболочке bash . Переменная среды содержит путь к исполняемому файлу bash , /bin/bash .

Когда мы запускаем оболочку fish , мы получаем дружественное приветственное сообщение, и командная строка меняется. Что может удивить, так это то, что среда $SHELL по-прежнему содержит путь к исполняемому файлу bash , /bin/bash . Это нормально — это нормально.

Когда вы запускаете новую оболочку (или любую другую программу), она наследует среду родительской оболочки. Итак, оболочка fish наследует глобальные и экспортированные переменные среды от оболочки bash . Поскольку значение переменной окружения $SHELL не изменилось, оно имеет то же значение в оболочке fish , что и в bash оболочка.

Мы запускаем fish , как и любую другую программу. Мы также можем использовать exit для выхода из оболочки fish . Она закрывается, как и любая другая программа, и мы возвращаемся в оболочку bash .

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

Если вы решите сделать fish или любую другую оболочку по умолчанию, вам нужно будет использовать команду chsh .

Команда chsh

Команда chsh позволяет изменить оболочку по умолчанию. Хитрость заключается в том, что он позволяет вам изменить как логин по умолчанию, так и интерактивные оболочки по умолчанию. Возможно, вы захотите изменить один или другой, или оба.

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

Чтобы установить оболочку входа, используйте chsh без параметров:

Вам будет предложено ввести пароль. Затем вы должны ввести путь к новой оболочке и нажать Enter.

Если мы установим удаленное подключение к этому тестовому компьютеру с другого, мы окажемся в оболочке fish после входа в систему.

Чтобы изменить интерактивную оболочку, используйте chsh с параметром -s (оболочка). Передайте путь к новой оболочке в командной строке:

Читайте также:  Xbox 360 установка linux

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

Переменная среды $SHELL теперь содержит путь к вашей новой оболочке по умолчанию:

Изменение оболочки другой учетной записи пользователя

Если у вас есть привилегии root и вы можете использовать sudo , вы можете изменить оболочки других учетных записей пользователей. Команда такая же, как и раньше, с добавлением имени пользователя этого человека в командную строку:

sudo chsh -s /usr/bin/fish mary

Когда mary в следующий раз войдет в систему, она увидит новую оболочку при открытии окна терминала.

У каждого есть любимый

Пока вас устраивает выбранная вами оболочка, и она работает на вас, это здорово! Просто помните, что он должен иметь возможность запускать общие сценарии, такие как процедуры установки. Для упомянутых здесь оболочек это не должно быть проблемой.

Конечно, вы также можете загрузить и установить новую оболочку и протестировать ее, не внося никаких изменений в конфигурацию вашего компьютера. Когда вы будете готовы связать себя узами брака, chsh проведет для вас церемонию.

Linux Commands
Files tar · pv · cat · tac · chmod · grep · diff · sed · ar · man · pushd · popd · fsck · testdisk · seq · fd · pandoc · cd · $PATH · awk · join · jq · fold · uniq · journalctl · tail · stat · ls · fstab · echo · less · chgrp · chown · rev · look · strings · type · rename · zip · unzip · mount · umount · install · fdisk · mkfs · rm · rmdir · rsync · df · gpg · vi · nano · mkdir · du · ln · patch · convert · rclone · shred · srm · scp · gzip · chattr · cut · find · umask · wc
Processes alias · screen · top · nice · renice · progress · strace · systemd · tmux · chsh · history · at · batch · free · which · dmesg · chfn · usermod · ps · chroot · xargs · tty · pinky · lsof · vmstat · timeout · wall · yes · kill · sleep · sudo · su · time · groupadd · usermod · groups · lshw · shutdown · reboot · halt · poweroff · passwd · lscpu · crontab · date · bg · fg · pidof · nohup · pmap
Networking netstat · ping · traceroute · ip · ss · whois · fail2ban · bmon · dig · finger · nmap · ftp · curl · wget · who · whoami · w · iptables · ssh-keygen · ufw · arping · firewalld

RELATED: Best Linux Laptops for Developers and Enthusiasts

Источник

Оцените статью
Adblock
detector