- PVSM.RU - https://www.pvsm.ru -

Как установить и настроить оболочку ridiculous fish в Debian Squeeze

Совсем недавно я открыл для себя оболочку Ridiculous fish [1], которая принципиально отличается от bash и zsh с которыми я работал ранее. На моем MacBook Pro под Mac OS X оболочка установилась без каких либо проблем и замечательно работала. Освоившись в новой оболочке, я решил что пришло время установить и настроить ее так же и на серверах, на которых установлен 64-разрядный Debian Squeeze. Тут то я и столкнулся с тем, что 32-разрядный deb пакет, который лежит у них на сайте, на 64-разрядный Debian не устанавливается. И я решил собрать любимую оболочку из исходников. Этот процес и будет описан в статье.

Скачиваем исходники с сайта и распаковываем их.

wget http://ridiculousfish.com/shell/files/fishfish.tar.gz
tar xzf fishfish.tar.gz

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

sudo apt-get install autoconf g++ libncurses5-dev libncursesw5-dev gettext

После того, как зависимости установлены приступаем с сборке самой оболочки.

autoconf
./configure --without-xsel

При конфигурации я указываю опцию --without-xsel. Если ее не указывать, то при сборке скрипт не найдет некоторых библиотек от X11. Устанавливать же X11 на севрер у меня желания не было. Если все прошло хорошо — вы увидите:

fish is now configured.
Use 'make' and 'make install' to build and install fish.

Запускаем сборку.

make

Если сборка завершилась успешно, то вы увидите:

fish has now been built.
Use 'make install' to install fish.

После сборки устанавливаем fish.

sudo make install

Если все хорошо — вы увидете:

fish is now installed on your system.
To run fish, type 'fish' in your terminal.

To use fish as your login shell:
* add the line '/usr/local/bin/fish' to the file '/etc/shells'.
* use the command 'chsh -s /usr/local/bin/fish'.

To set your colors, run 'fish_config'
To scan your man pages for completions, run 'fish_update_completions'

Have fun!

Добавляем строку /usr/local/bin/fish в /etc/shells, как рекомендует инсталятор.

sudoedit /etc/shells 

Выбираем fish в качестве оболочки.

chsh -s /usr/local/bin/fish

После завершения установки у меня остались некоторые проблемы: раздражающее мигание команд и подсказок и неработающая генерация completions из-за manpath. Проблему с миганиями я решил убрав «лишние» настройки в цветах, в которые раскрашивает оболочка команды. Вы можете выбрать такую раскарсску, какая вам нравится с помощью set fish_color_* параметров.

set fish_color_autosuggestion yellow
set fish_color_command green
set fish_color_param cyan

Проблему с неработающей генерацией completions тоже удалось решить с помощью страшного трюка. Редактируем файлик:

sudoedit /usr/local/share/fish/tools/create_manpage_completions.py

Переходим на строку с номером 744 и как описано здесь [2] редактируем эту строчку так, что бы вместо

proc = subprocess.Popen(['man', '--path'], stdout=subprocess.PIPE)

получилось

proc = subprocess.Popen(['manpath'], stdout=subprocess.PIPE)

Потом запускаем генерацию completions

fish_update_completions 

Если все правильно получаем в ответ, что-то вроде

Parsing man pages and writing completions to /home/rp/.config/fish/completions/

Вуаля! Наслаждаемся прекрасной оболочкой.

Автор: dohque


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/linux/13763

Ссылки в тексте:

[1] Ridiculous fish: http://ridiculousfish.com/shell/

[2] здесь: http://www.digipedia.pl/usenet/thread/16437/3150/