Most recently, I discovered the
Ridiculous fish shell, which is fundamentally different from bash and zsh with which I worked before. On my MacBook Pro under Mac OS X, the shell was installed without any problems and worked fine. Having mastered the new shell, I decided that it was time to install and configure it in the same way on servers that have 64-bit Debian Squeeze installed. It was then that I was faced with the fact that the 32-bit deb package that they have on the site is not installed on 64-bit Debian. And I decided to build a favorite shell from source. This process will be described in the article.
Download the source from the site and unpack them.
wget http://ridiculousfish.com/shell/files/fishfish.tar.gz tar xzf fishfish.tar.gz
Some complexity caused the search for the necessary dependencies, I could not quickly find a place where they would be described. Probably, the dependencies are not the right ones, but for me, with such dependencies, everything is going.
sudo apt-get install autoconf g++ libncurses5-dev libncursesw5-dev gettext
Once the dependencies are installed, proceed with the assembly of the shell itself.
autoconf ./configure --without-xsel
When configuring, I specify the option --without-xsel. If you do not specify it, then the script will not find some of the X11 libraries when building it. I had no desire to install X11 on sevrer. If everything went well, you will see:
fish is now configured. Use 'make' and 'make install' to build and install fish.
Run the assembly.
make
If the build is successful, you will see:
fish has now been built. Use 'make install' to install fish.
After assembly, install the fish.
sudo make install
If everything is good, you will see:
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!
Add the line / usr / local / bin / fish to / etc / shells, as recommended by the installer.
sudoedit /etc/shells
Choose fish as a shell.
chsh -s /usr/local/bin/fish
After the installation was complete, I still had some problems: annoying blinking of commands and prompts and idle generation of completions due to manpath. The problem with blinking, I decided to remove the "extra" settings in the colors in which the command shell colors. You can choose the one you like using the set fish_color_ * parameters.
set fish_color_autosuggestion yellow set fish_color_command green set fish_color_param cyan
The problem with the broken generation of completions was also solved with the help of a terrible stunt. Edit the file:
sudoedit /usr/local/share/fish/tools/create_manpage_completions.py
Go to line number 744 and as described
here edit this line so that instead of
proc = subprocess.Popen(['man', '--path'], stdout=subprocess.PIPE)
happened
proc = subprocess.Popen(['manpath'], stdout=subprocess.PIPE)
Then we start the generation of completions
fish_update_completions
If we get everything right, something like
Parsing man pages and writing completions to /home/rp/.config/fish/completions/
Voila! Enjoy the beautiful shell.