Fish

Rating: 
5
Your rating: None Average: 5 (7 votes)

Fish is a fully-equipped command line shell (like bash or zsh) that is smart and user-friendly. Fish supports powerful features like syntax highlighting, autosuggestions, and tab completions that just work, with nothing to learn or configure.

Note: If you get errors about missing dependencies (e.g. `libtinfo.so.5`, double check that you are trying to install the correct build for your Sailfish OS version. See below for details.

If you want to make your command line more productive, more useful, and more fun, without learning a bunch of arcane syntax and configuration options, then fish might be just what you’re looking for!

You'll need a terminal emulator - such as Fingerterm or Toeterm - in order to use this. You can also SSH into your device, if you have the developer mode enabled.

If you're unfamiliar with Fish, please check out the Introduction or Fish for bash users to get started!

Warning! Install at your own risk!

Big fat warning! Do NOT install fish as your default shell!

There are four different builds available:

  • sf340: targets 3.4.0.24, works on SFOS == 3.4
  • sf430: targets 4.3.0.12, works on 4.0 <= SFOS <= 4.3
  • sf440: targets 4.4.0.58, works on SFOS >= 4.4
  • sf450: targets 4.5.0.18, work on SFOS >= 4.5

Source code: https://github.com/direc85/fish

Fish shell homepage: https://fishshell.com/

Fish shell source code: https://github.com/fish-shell/fish-shell

Keywords:

Application versions: 
AttachmentSizeDate
File fish-3.6.0-1_sf340.aarch64.rpm1.84 MB05/03/2023 - 13:42
File fish-3.6.0-1_sf340.armv7hl.rpm1.76 MB05/03/2023 - 13:42
File fish-3.6.0-1_sf340.i486.rpm1.88 MB05/03/2023 - 13:42
File fish-3.6.0-1_sf430.aarch64.rpm1.84 MB05/03/2023 - 13:42
File fish-3.6.0-1_sf430.armv7hl.rpm1.76 MB05/03/2023 - 13:42
File fish-3.6.0-1_sf430.i486.rpm1.88 MB05/03/2023 - 13:42
File fish-3.6.0-1_sf440.aarch64.rpm1.84 MB05/03/2023 - 13:42
File fish-3.6.0-1_sf440.armv7hl.rpm1.76 MB05/03/2023 - 13:42
File fish-3.6.0-1_sf440.i486.rpm1.88 MB05/03/2023 - 13:42
File fish-3.6.0-1_sf450.aarch64.rpm2 MB05/03/2023 - 13:42
File fish-3.6.0-1_sf450.armv7hl.rpm1.9 MB05/03/2023 - 13:42
File fish-3.6.0-1_sf450.i486.rpm1.99 MB05/03/2023 - 13:42
File fish-3.6.1-1_sf340.aarch64.rpm1.85 MB30/09/2023 - 17:24
File fish-3.6.1-1_sf340.armv7hl.rpm1.77 MB30/09/2023 - 17:24
File fish-3.6.1-1_sf340.i486.rpm1.89 MB30/09/2023 - 17:24
File fish-3.6.1-1_sf430.aarch64.rpm1.85 MB30/09/2023 - 17:24
File fish-3.6.1-1_sf430.armv7hl.rpm1.77 MB30/09/2023 - 17:24
File fish-3.6.1-1_sf430.i486.rpm1.89 MB30/09/2023 - 17:24
File fish-3.6.1-1_sf440.aarch64.rpm1.85 MB30/09/2023 - 17:24
File fish-3.6.1-1_sf440.armv7hl.rpm1.77 MB30/09/2023 - 17:24
File fish-3.6.1-1_sf440.i486.rpm1.89 MB30/09/2023 - 17:24
File fish-3.6.1-1_sf450.aarch64.rpm2.01 MB30/09/2023 - 17:24
File fish-3.6.1-1_sf450.armv7hl.rpm1.91 MB30/09/2023 - 17:24
File fish-3.6.1-1_sf450.i486.rpm2 MB30/09/2023 - 17:24
File fish-3.7.0-1_sf340.aarch64.rpm1.88 MB30/01/2024 - 12:44
File fish-3.7.0-1_sf340.armv7hl.rpm1.8 MB30/01/2024 - 12:44
File fish-3.7.0-1_sf340.i486.rpm1.92 MB30/01/2024 - 12:44
File fish-3.7.0-1_sf430.aarch64.rpm1.88 MB30/01/2024 - 12:44
File fish-3.7.0-1_sf430.armv7hl.rpm1.8 MB30/01/2024 - 12:44
File fish-3.7.0-1_sf430.i486.rpm1.92 MB30/01/2024 - 12:44
File fish-3.7.0-1_sf440.aarch64.rpm1.88 MB30/01/2024 - 12:44
File fish-3.7.0-1_sf440.armv7hl.rpm1.8 MB30/01/2024 - 12:44
File fish-3.7.0-1_sf440.i486.rpm1.92 MB30/01/2024 - 12:44
File fish-3.7.0-1_sf450.aarch64.rpm2.04 MB30/01/2024 - 12:44
File fish-3.7.0-1_sf450.armv7hl.rpm1.94 MB30/01/2024 - 12:44
File fish-3.7.0-1_sf450.i486.rpm2.03 MB30/01/2024 - 12:44
Changelog: 

3.7.0-1

  • Fish 3.7.0
  • Fetch Fish version automatically in build script

3.6.1-1

  • Fish 3.6.1

3.6.0-1

  • Fish 3.6.0
  • Provide four builds for different SFOS versions:
    • sf340 for Sailfish OS 3.4.0
    • sf430 for Sailfish OS 4.0.0 - 4.3.0
    • sf440 for Sailfish OS 4.4.0 (and newer)
    • sf450 for Sailfish OS 4.5.0 (and newer)

3.5.1-1

  • Fish 3.5.1
  • Removed mainlained patch to fix launching fish_config

3.4.1-1

  • Fish 3.4.1
  • Fix launching fish_config browser on older SFOS versions
  • Fix fish --version
  • Provide three builds for different SFOS versions:
    • sf340 for Sailfish OS 3.4.0
    • sf430 for Sailfish OS 4.0.0 - 4.3.0
    • sf440 for Sailfish OS 4.4.0 (and newer)
  • Use nproc-2 threads for compiling to keep system responsive

3.4.0-4

  • Fix launching fish_config with sandboxing

3.4.0-3

  • Provide separate builds for SFOS 3 and SFOS 4+

3.4.0-2

  • Fixed dependencies
  • Enabled build-time tests

3.4.0-1

  • Initial release

Comments

Seven_of_nine's picture

libtinfo.so.5()(64bit) is missing on Volla / 4.5.0.19, installation failed.

direc85's picture

Try fish-3.6.1-1_sf450.aarch64.rpm instead, that should install. Storeman doesn't pick the correct RPM unfortunately.

This hassle could be avoided by moving the package to Chum, but that's going to have to wait for just a bit longer...

Ahti30708's picture

My 10 II has both the so.5 and so.6 versions so any version will install and work.

It's not just Storeman - I uninstalled and installed with zypper and got the 3.4 version!

Ahti30708's picture

0) for missing bc install ncurses
1) install fish with zypper, ignore dependencies
2) symlink (or copy) /usr/lib64/libtinfo.so.6 and libncurses.so.6

JacekJagosz's picture

It can't find libtinfo.so.5()(64bit)
But thank you so much for keeping fish up to date!

direc85's picture

It looks like you're installing sf430 version on Sailfish 4.4.0.x. If you're using Storeman, it's known not to handle several versions of the same package very well. Try downloading the correct package manually.

Kabouik's picture

Would it be possible to add the package to Chum too, to handle that kind of issues (and also to promote Chum with more good software!)? Chum can handle different package versions for different SFOS versions, with adequate conditions in the .spec file.

direc85's picture

Yes, that's the plan actually! I have tried to poke around Chum a few times, but the servers have been down at those times.

JacekJagosz's picture

Yup, I was using storeman. Thank you!

JacekJagosz's picture

Newest version of ToeTerm allows you to set autostart command. This is where you can put fish without making it default shell system-wide.
Just put /usr/bin/fish there

direc85's picture

Actually, the autostart isn't really an autostart, it's effectively defining a custom shell. I'll update that in the next version, as if set wrong, it can still be fixed in the application.

Mister_Magister's picture

had fish running on sfos long time ago but it causes developer tools to not work, have you figured that one out or nah?

direc85's picture

If you have fish as a default shell, all kinds of things break (I think it's mostly because fish isn't bash-compatible). My packaging of fish doesn't even add itself to /etc/shells to make it harder to achieve.

Please do try fish again (not as default shell though) and let us know how it went :)

direc85's picture

Important: Version 3.4.1-1 now has proper builds for various Sailfish OS versions with proper dependencies. Please update fish to which ever build variant (sf340, sf430, sf440) is the newest for you, and uninstall ncurses-compat-libs if you had it installed (unless you have other software depending on it)!

direc85's picture

Fish requires ncurses-compat-libs with Sailfish OS 4.4.0, but for some reason it is still missing from the repositories. So, if you really want to install Fish before Jolla makes the compat lib available, head over to the ticket where you can download the RPM files.

Install them at your own risk! They are system packages and things may/will break when Jolla releases the official packages!

direc85's picture

Just a heads up: fish isn't compatible with SFOS 4.4 - at least until I can build it against it. I opened a ticket about it, if you want to see the details.

direc85's picture

It was as I anticipated; not only separate builds are needed, but separate .spec files, too.

Now it installs into my Jolla Phone, but `fish_config` doesn't work :(

objectifnul's picture

Cannot update the OS on Xperia X without factory reset (due to insane default partitioning)

direc85's picture

I just now realized that you're running 3.4, it probably just needs some tweaking with the dependencies. I'll look into it later today. I also have a Jolla Phone, but didn't try fish on it yet, it would have revealed the bug, too.

dimoon91's picture

На первый взгляд очень классно. Поставил и на ПК. Будем разбираться)

objectifnul's picture

Still same dependency error: python3dist(curses) missing

objectifnul's picture

Easy. Just tried to install fish on my Xperia X (SFOS 3.4.0.24) and read the error message.

dimoon91's picture

Update the OS.

direc85's picture

Updated version pushed with fixed dependencies!

objectifnul's picture

How do I fix the missing dependency "python3dist(curses)"?

direc85's picture

Thanks for reporting. The packaging needs a lot of attention..!

How did you discover this, out of curiosity?