Fish linux установить как shell по умолчанию
В терминале многие пользователи придерживаются 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, перейдите в терминал и начните вводить команду. По мере ввода вы увидите, как оболочка пытается угадать, как вы. Он исправляет по мере получения дополнительной информации. В любой момент вы можете автоматически выполнить команду, нажав на клавиатуре клавишу со стрелкой вправо. После нажатия правильной клавиши ваша полуфинишная команда будет автоматически завершена.
Почему Shell важна
Оболочка сидит между вами и операционной системой. Он обеспечивает среду внутри окна терминала, которая позволяет вводить команды и запускать программы. Оболочка проверяет ваш ввод и выясняет, что вы хотите. Если он может выполнять ваши ставки самостоятельно, он делает это. Если ему нужна помощь извне, он ищет путь и находит программы, которые могут делать все, что вам нужно.
В Linux доступно много различных оболочек. Все они позволяют выполнять одни и те же основные задачи: исследовать файловую систему, работать с файлами, запускать программы и запускать сценарии. Однако каждый из них выполняет эти задачи по-своему, и у них есть свои особенности и особенности.
Оболочки, как правило, разрабатываются людьми, которые хотят, чтобы вещи вели себя определенным образом. Если ваше мышление совпадает с мышлением этого дизайнера, эта оболочка вполне подойдет вам. Плюс, пробовать новую оболочку в Linux легко.
В большинстве дистрибутивов Linux, включая Ubuntu, оболочка по умолчанию bash , Это делает большую работу и очень способный. Тем не менее, другая оболочка может сэкономить время, что окажет большое влияние на ваш рабочий процесс. Вы никогда не узнаете, не посмотрите ли вы!
СВЯЗАННЫЕ С: Что такое ZSH, и почему вы должны использовать его вместо Bash?
Ведро снарядов
Ранее мы рассмотрели различные оболочки Linux, но вот краткое введение к наиболее распространенным:
СВЯЗАННЫЕ С: В чем разница между Bash, Zsh и другими оболочками Linux?
Список установленных оболочек
Чтобы увидеть, какие оболочки установлены на вашем компьютере, используйте эту команду. Он просто перечисляет содержимое /etc/shells файл:
Мы упоминали bash , dash , а также rbash , но что sh ?
sh это Томпсон оболочка, написанная еще в 1971 году Кен Томпсон из Bell Labs известность. Он больше не поддерживается и давно заменен современными оболочками. Он включен исключительно для обеспечения совместимости со старыми сценариями, в которых в первой строке по-прежнему указывается следующее:
Это инструктирует систему использовать sh оболочка для выполнения скрипта. У вас действительно есть эта древняя оболочка на вашем компьютере, и она используется для запуска ваших скриптов? which Команда скажет нам, какая программа действительно запускается при вводе команды.
Давайте посмотрим, что работает, когда вы печатаете sh :
Это кажется, чтобы найти двоичный файл. если мы копнем немного глубже, мы увидим, что это символическая ссылка, которая на самом деле указывает на dash облегченная оболочка, используемая для выполнения скриптов:
Это аккуратный и легкий способ обеспечения безопасности для сценариев, которые ожидают найти sh на современных системах.
Установка другой оболочки
Давайте установим fish оболочки и установить его по умолчанию для dave , В Ubuntu мы вводим следующую команду:
На Манджаро, используйте pacman :
На Fedora введите следующее:
После завершения установки вы можете проверить установленные оболочки еще раз:
Переменная окружения $ SHELL
$SHELL Переменная окружения содержит имя вашей текущей оболочки. Мы можем проверить, какой из них установлен с echo :
Давайте начнем fish ракушка:
Теперь давайте еще раз проверим, что $SHELL переменная окружения говорит:
Первый раз мы используем echo $SHELL мы в bash ракушка. Переменная окружения содержит путь к bash исполняемый файл, /bin/bash ,
Когда вы запускаете новую оболочку (или любую другую программу), она наследует среду родительской оболочки. Так что fish оболочка наследует глобальные и экспортированные переменные среды из bash ракушка. Потому что значение в $SHELL переменная окружения не была изменена, она имеет то же значение в fish оболочка, что он сделал в bash ракушка.
Были запущены fish как и любая другая программа. Мы также можем использовать exit выйти из fish ракушка. Он закрывается, как и любая другая программа, и мы возвращаемся к bash ракушка.
Это здорово для того, чтобы опробовать новые оболочки, посмотреть, что они могут сделать, и ладят ли вы с ними. Вы можете исследовать, прежде чем совершить прыжок, и принять его в качестве оболочки для перехода.
Команда chsh
chsh Команда позволяет изменить оболочку по умолчанию. Хитрость заключается в том, что вы можете изменить как логин по умолчанию, так и интерактивные оболочки по умолчанию. Вы можете изменить один или другой, или оба.
Всякий раз, когда вы входите в систему для получения командной строки, вы используете оболочку, настроенную для вашей оболочки входа. Когда вы уже вошли в систему и открыли окно терминала, вы используете оболочку, настроенную для вашей интерактивной оболочки. Это могут быть как одинаковые, так и разные оболочки.
Чтобы установить оболочку входа в систему, используйте chsh без параметров:
Вам будет предложено ввести пароль. Затем вы должны ввести путь к новой оболочке и нажать Enter.
Если мы сделаем удаленное соединение с этим тестовым компьютером с другого, мы окажемся в fish Shell, как только мы вошли в систему.
Для изменения вашей интерактивной оболочки используйте chsh с -s (оболочка) вариант. Передайте путь к новой оболочке в командной строке:
Вам будет предложено ввести пароль и вы вернетесь в командную строку вашей текущей оболочки. Чтобы изменения вступили в силу, вам необходимо выйти из системы и снова войти в нее. Когда вы это сделаете, вы увидите приветствие и fish командная строка оболочки.
$SHELL Переменная окружения теперь содержит путь к вашей новой оболочке по умолчанию:
Изменение оболочки другого пользователя
Если у вас есть права root и вы можете использовать sudo Вы можете изменить оболочки других учетных записей пользователей. Команда такая же, как и раньше, с добавлением имени пользователя этого человека в командной строке:
когда mary при следующем входе в систему она увидит новую оболочку, когда откроет окно терминала.
У каждого есть любимый
Если вам удобен выбор оболочки и она работает для вас, это здорово! Просто помните, что он должен быть в состоянии запускать обычные сценарии, такие как процедуры установки. Для оболочек, упомянутых здесь, это не должно быть проблемой.
Конечно, вы также можете загрузить и установить новую оболочку и взять ее на тест-драйв, не внося никаких изменений в конфигурацию вашего компьютера. Когда вы будете готовы связать себя узами брака, chsh проведет церемонию для вас.
Первая версия датируется 2005 годом, казалось бы, прошло 15 лет, почему я назвал ее новой?
Название командой оболочки | Первый релиз |
---|---|
Bourne shell (sh) | 1977 |
C shell (csh) | 1978 |
Bourne again shell (bash) | 1989 |
Z shell (zsh) | 1990 |
Особенности
- История. Подсказывает команды из вашей истории выполнения так, как делает это веб-браузер.
- Подсветка. Поддерживает подсветку синтаксиса, а так же автоматическое выявление ошибок ввода.
- Автодополнение. Для автоматизации ввода опций и команд используют справочные 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, это акроним от f riendly i nteractive sh ell, и является хорошо оборудованной, умной и удобной оболочкой для Unix-подобных систем.
Fish поставляется с многими интересными функциями, такими как аутсорсинг, подсветка синтаксиса, история поиска (например, CTRL + R в Bash), интеллектуальная функция поиска, великолепная поддержка цвета VGA, веб-настройка, и многое другое.
Вы также, можете разукрасить свою оболочку Bash, если хотите
Вы можете найти конфигурацию fish, вот по такому пути
/.config/fish/config.fish (аналогично .bashrc). Если этого файла не существует, просто создайте его.
Автоматическая подстановка кода
Когда я набираю команду, он автоматически предлагает дополнить команду. Например, я набираю несколько первых букв команды, он подставляет мне вариант команды, и я нажимаю TAB чтобы дополнить команду.
Если вы нажмете клавишу TAB два раза, то у вас будет список доступных команд с этими первыми буквами. Вы можете выбрать перечисленные команды из списка, используя клавиши со стрелками вверх/вниз. Для того чтобы выбрать команду, которую вы хотите запустить, просто нажмите клавишу со стрелкой вправо и нажмите ENTER, чтобы запустить ее.
Вам больше не понадобится CTRL + R!
Как вы уже знаете, в оболочке Bash, мы делаем обратный поиск, нажимая сочетание клавиш ctrl + r, для поиска команд которые мы набирали ранее. Но это не обязательно в Fish.
Подсветка синтаксиса
Как вы возможно заметили, после установки оболочки, у вас сразу же изменилась подсветка синтаксиса, которой вы можете управлять, и самостоятельно изменять цвета.
Веб-конфигурация
Это еще одна интересная особенность Fish. Мы можем установить наши цвета, просмотреть функции, переменные, историю, привязки клавиш с веб-страницы.
Чтобы запустить интерфейс веб-конфигурации, просто введите:
На этой странице, вы можете изменять цветовую схему по вашему желанию, также доступны и другие функции, с которыми вы можете ознакомится самостоятельно.
После окончания редактирования, не закрывая страницу, нажмите в терминале клавишу Enter, чтобы изменения вступили в силу.
Отключить приветствие
Добавьте следующую строку:
Установить Fish в качестве оболочки по умолчанию
Вам понравилась оболочка? Тогда вы можете установить ее по-умолчанию. Для этого используйте команду chsh:
Где /usr/bin/fish - это путь к оболочке fish. Если вы не знаете правильный путь, вам поможет следующая команда.
Выйдите из системы, а затем обратно войдите, чтобы использовать новую оболочку по умолчанию.
Помните, что многие сценарии оболочки, написанные для Bash, могут не полностью быть совместимы с fish.
Чтобы вернуть Bash, просто запустите:
Если вы хотите, чтобы оболочка Bash была в качестве оболочки по умолчанию, введите:
А вы пользуетесь этой оболочкой?
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Читайте также: