Fish linux установить как shell по умолчанию

Обновлено: 07.07.2024

В терминале многие пользователи придерживаются Bash. В результате их терминальный опыт не так хорош, как мог бы быть. Он очень простой, без современных функций из коробки. Если вы хотите улучшить работу с терминалом, подумайте о переходе с Bash на Fish Shell.

Установить Fish Shell

Перед переключением с Bash на Fish Shell в качестве основной оболочки терминала вам необходимо установить его в Linux. К счастью, он очень популярен, и его пакеты есть практически в каждом дистрибутиве Linux. Откройте терминал и введите команду ниже, чтобы установить его.

Ubuntu

Debian

Arch Linux

Fedora

OpenSUSE

Другие Linux

Рыба существует уже некоторое время, несмотря на то, что она довольно современна по своим функциям. Из-за его возраста довольно легко установить его практически в любом дистрибутиве Linux. Чтобы установить его, откройте терминал и проверьте в диспетчере пакетов наличие «рыбы» или «рыбной раковины». Как вариант, посмотрите официальная страница Github и собрать его из исходного кода с помощью программного кода.

Переключить Bash на Fish Shell

Использование Fish в качестве основной оболочки может потребовать некоторого привыкания, поскольку она сильно отличается от Bash. В отличие от множества других альтернатив (таких как Zsh, Ksh и т. Д.), Fish не использует систему Bash в качестве основы. Поскольку Fish имеет такой дизайн, некоторые команды могут полностью отказаться работать из-за другого синтаксиса, и вам, вероятно, придется изменить некоторые привычки при использовании терминала.

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

После того, как вы просмотрели шпаргалку, можно безопасно открыть терминал и изменить оболочку пользователя по умолчанию с Bash на Fish Shell. В терминале запустите команду chsh. Однако не запускайте его с помощью sudo, иначе вы можете заменить оболочку пользователя Root на Fish вместо своей собственной.

Выполнение команды chsh назначит вашему пользователю новую оболочку. Чтобы получить мгновенный доступ к Fish вместе с пользователем, введите fish в терминал. В противном случае перезагрузите компьютер с Linux, чтобы завершить переключение. После перезагрузки снова войдите в систему и снова откройте терминал. Если все пойдет правильно, по умолчанию будет использоваться Fish, и вас встретит Fish Shell, а не Bash.

Проверь это - Как использовать изображение Chrome в режиме изображения

Настройка Fish

Хотя вы перешли на Fish Shell, он еще не полностью готов к использованию. Следующим шагом будет его настройка. В терминале создайте новую папку конфигурации.

Затем создайте новый файл конфигурации внутри новой папки конфигурации Fish:

Резервная копия конфигурации Fish

Чтобы восстановить конфиг, переместите файл на новый компьютер, поместите его в папку Documents и запустите:

Настройка

По большей части Fish настроен и готов к использованию. Однако, если вы хотите настроить и настроить его дальше, есть способ сделать это. Зайдите в терминал и запустите эту команду:

Выполнение этой команды автоматически откроет новую вкладку в вашем веб-браузере с возможными аспектами Fish.

В окне Fish_Config вы сможете применять предустановленные темы оболочки, назначать переменные, устанавливать пользовательские функции, просматривать историю команд, назначать аббревиатуры, псевдонимы и многое другое!

Автозаполнение рыбы

Безусловно, самой привлекательной функцией Fish является функция автозаполнения. Он настолько опережает все остальное, и одной этой функции достаточно, чтобы убедить даже самых стойких фанатов Bash проверить ее. Самое лучшее в этой функции то, что для ее использования не требуется много ноу-хау. Даже терминальные новички могут получить от этого много пользы.

Чтобы использовать функцию автозаполнения Fish, перейдите в терминал и начните вводить команду. По мере ввода вы увидите, как оболочка пытается угадать, как вы. Он исправляет по мере получения дополнительной информации. В любой момент вы можете автоматически выполнить команду, нажав на клавиатуре клавишу со стрелкой вправо. После нажатия правильной клавиши ваша полуфинишная команда будет автоматически завершена.

Стилизованная подсказка оболочки на ноутбуке в стиле Ubuntu.

Фатмавати Ахмад Заенури / Shutterstock

Почему Shell важна

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

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

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

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

СВЯЗАННЫЕ С: Что такое ZSH, и почему вы должны использовать его вместо Bash?

Ведро снарядов

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

СВЯЗАННЫЕ С: В чем разница между Bash, Zsh и другими оболочками Linux?

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

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

cat / etc / shells в окне терминала.

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

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

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

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

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

который ш в окне терминала.

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

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

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

sudo apt-get устанавливает fish в окне терминала.

На Манджаро, используйте pacman :

sudo pacman -Sy рыбы в окне терминала.

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

После завершения установки вы можете проверить установленные оболочки еще раз:

cat / etc / shells в окне терминала.

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

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

Давайте начнем fish ракушка:

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

эхо $ SHELL в окне терминала.

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

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

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

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

Команда chsh

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

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

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

chsh в окне терминала.

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

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

SSH-соединение, показывающее оболочку fish в качестве оболочки входа в систему в окне терминала.

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

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

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

echo $ SHELL в окне терминала.

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

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

sudo chsh -s / usr / bin / fish mary в окне терминала.

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

пользователь Мэри в командной строке fish shell, в окне терминала.

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

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

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

Fish - современная командная оболочка

Статьи

Первая версия датируется 2005 годом, казалось бы, прошло 15 лет, почему я назвал ее новой?

Название командой оболочкиПервый релиз
Bourne shell (sh)1977
C shell (csh)1978
Bourne again shell (bash)1989
Z shell (zsh)1990
Даты первых релизов популярных командных оболочек Unix/Linux

Особенности

  • История. Подсказывает команды из вашей истории выполнения так, как делает это веб-браузер.
  • Подсветка. Поддерживает подсветку синтаксиса, а так же автоматическое выявление ошибок ввода.
  • Автодополнение. Для автоматизации ввода опций и команд используют справочные man-руководства.
  • Скриптовый язык. Присутствует свой упрощённый язык написания сценариев.
  • Легко найти. Есть удобные средства поиска в истории выполненных команд.
  • Все активировано по умолчанию. После установки вам ничего не придется настраивать, все особенности оболочки работают из коробки.

Установка

Windows

Для MS Windows существует 3 варианта установки

Windows Subsystem for Linux

В подсистеме Linux для Windows мы делаем установку с помощью пакетного менеджера выбранного дистрибутива.

Cygwin

Во время установки необходимо поставить галочку в категории приложений Shell

MSYS2

Один из многих форков Cygwin, его основной плюс в интеграции пакетного менеджера ArchLinux. Для установки fish достаточно ввести команду pacman -S fish

Linux

Процесс установки в Linux практически идентичен, есть лишь два маленьких нюанса. Во-первых у большинства дистрибутивов свой пакетный менеджер, а во-вторых не во всех базовых репозиториях есть fish.

Fedora

ArchLinux

Gentoo

NixOS

Ubuntu, Debian, CentOS и openSUSE

MacOS

Отсутствием разнообразия установки для MacOS обвинить fish не получится, 4 разных способа на любой цвет и вкус 🙂

HomeBrew

MacPorts

Установочный пакет

Отдельное приложение

Запуск

Чтобы запустить оболочку введите команду fish в вашей консоли.

Настройки

В первую очередь, давайте добавим fish в список системных оболочек.

Сделаем fish оболочкой по умолчанию для текущего пользователя.

Запуск веб-конфигуратора

Воспользуемся веб приложением для настройки fish

Перед нами откроется веб браузер с 7 вкладками, расскажу о каждой из них.

Как мы заметили оболочка быстро и легко настраивается под ваши предпочтения.

Дополнения

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

Менеджеры дополнений

Для установки, удаления и обновления дополнений в Fish существуют так называемые фреймворки. Рассмотрим самые популярные.

Fisher

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

Установка Fisher
Управление плагинами

В фреймворке реализованна поддержка управления дополнениями с помощью команд

Установить

Удалить

Обновить

Отобразить список установленных плагинов

Более подробную информацию о работе фреймворка смотрите на странице разработчика.

Fundle

Минималистичный пакетный менеджер для Fish

Установка и обновление пакетов происходит и использованием git. Пакетный менеджер имеет полную совместимость с oh-my-fish плагинами.

Установка Fundle
Установка плагинов

Принцип установки немного отличается от предыдущего фреймворка. В первую очередь вам необходимо добавить список необходимых плагинов в файл с настройками и в конце инициализировать их установку

Функции управления дополнениями легко запомнить

Полный список доступных команд

  • fundle init : Инициализация пакетного менеджера и загрузка всех доступных плагинов
  • fundle install : Установка всех плагинов
  • fundle update : Обновление всех плагинов
  • fundle plugin PLUGIN [--url PLUGIN_URL] [--path PATH] : Добавить плагин.
    • --url Указать URL для клонирования плагина.
    • --path Указать директорию установка

    Более подробную информацию о работе фреймворка смотрите на странице разработчика.

    Фреймворк для Fish. Создан для легкой организации и публикации коллекций из функций, утилит и тем.

    Tacklebox

    Установка Tacklebox
    Обновление

    Фреймворк создает в домашнем каталоге клон своего github репозитория

    Более подробную информацию о работе с фреймворком смотрите на странице разработчика.

    Oh My Fish

    Oh My Fish предоставляет базовую инфраструктуру, позволяющую устанавливать пакеты, расширяющие или изменяющие внешний вид вашей оболочки. Он быстрый, расширяемый и простой в использовании.

    Установка Oh My Fish

    Для установки достаточно запустить команду в терминале

    Доступные команды

    Oh My Fish включает в себя небольшую программу omf

    Более подробную информацию о работе с фреймворком смотрите на странице разработчика.

    fish

    Fish, это акроним от f riendly i nteractive sh ell, и является хорошо оборудованной, умной и удобной оболочкой для Unix-подобных систем.

    Fish поставляется с многими интересными функциями, такими как аутсорсинг, подсветка синтаксиса, история поиска (например, CTRL + R в Bash), интеллектуальная функция поиска, великолепная поддержка цвета VGA, веб-настройка, и многое другое.

    Вы также, можете разукрасить свою оболочку Bash, если хотите

    fish

    Вы можете найти конфигурацию fish, вот по такому пути

    /.config/fish/config.fish (аналогично .bashrc). Если этого файла не существует, просто создайте его.

    Автоматическая подстановка кода

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

    fish

    Если вы нажмете клавишу TAB два раза, то у вас будет список доступных команд с этими первыми буквами. Вы можете выбрать перечисленные команды из списка, используя клавиши со стрелками вверх/вниз. Для того чтобы выбрать команду, которую вы хотите запустить, просто нажмите клавишу со стрелкой вправо и нажмите ENTER, чтобы запустить ее.

    fish

    Вам больше не понадобится CTRL + R!

    Как вы уже знаете, в оболочке Bash, мы делаем обратный поиск, нажимая сочетание клавиш ctrl + r, для поиска команд которые мы набирали ранее. Но это не обязательно в Fish.

    Подсветка синтаксиса

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

    Веб-конфигурация

    Это еще одна интересная особенность Fish. Мы можем установить наши цвета, просмотреть функции, переменные, историю, привязки клавиш с веб-страницы.

    Чтобы запустить интерфейс веб-конфигурации, просто введите:

    fish

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

    После окончания редактирования, не закрывая страницу, нажмите в терминале клавишу Enter, чтобы изменения вступили в силу.

    Отключить приветствие

    Добавьте следующую строку:

    Установить Fish в качестве оболочки по умолчанию

    Вам понравилась оболочка? Тогда вы можете установить ее по-умолчанию. Для этого используйте команду chsh:

    Где /usr/bin/fish - это путь к оболочке fish. Если вы не знаете правильный путь, вам поможет следующая команда.

    Выйдите из системы, а затем обратно войдите, чтобы использовать новую оболочку по умолчанию.

    Помните, что многие сценарии оболочки, написанные для Bash, могут не полностью быть совместимы с fish.

    Чтобы вернуть Bash, просто запустите:

    Если вы хотите, чтобы оболочка Bash была в качестве оболочки по умолчанию, введите:

    А вы пользуетесь этой оболочкой?

    Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

    Читайте также: