Solved Fish shell on FreeBSD?

Did you set anyone's shell to be fish? It sounds as if you may have tried to change someone's shell to fish, (hopefully not root's), and perhaps mistyped the path.

If this is what you did, then log in as root and reset the shell.

If this isn't what you did, give us more information. You installed the fish shell. Is that ALL you did? Did you change anything afterwards? If so, what did you change.
 
You need to patch the port, like it's mentioned in the PR. The PR hangs somehow for unexplicable reasons. No one wants to commit the fix.

I am using shells/fish. It is quite modern, well designed (not POSIX though, but POSIX-compliance is crap for interactive shells, I think) and very similar to tcsh. It has also some annoyances (most annoying is resolving softlinked paths eagerly instead of doing it lazy), but the author is open for suggestions and lets people discuss in the bug tracker. I also have oh-my-fish installed, my own prompt theme and some additional settings.
 
Last edited:
I installed shells/fish on my root!:( Why FreeBSD does not include a switch to booting into recovery mode at bootup options?:eek: And why does this absolutely unstable shells put on the ports?:mad:
 
When you are in the loader press ESC and type in boot -s. FreeBSD now boots in single user mode. / is mounted read-only in single user mode, so remember to remount read-write with mount -uw /.

EDIT: What was I thinking? Just press 2 in the loader to boot into single user mode.
 
I boot into single user mode then mounting / and then I removed fish by pkg remove fish!
BUT Now, I can not login as root!!
Please Help!
 
It is a FreeBSD problem. It uses a incompatible version of iconv.

The patch is already submitted, as I said. All the FreeBSD porters need to do is to commit it to the ports tree.
 
You should not change root's shell to fish. There are inherent dangers to changing root's shell, as you found out.

Generally, one tries to avoid working as root as much as possible. If you must work as root, and like fish that much, you should su to root, then just type fish at the command prompt to change your shell.

This way if a particular shell (and this would go for bash, zsh, or any other shell) has a problem, you're not locked out of your system.
 
You can use the toor account for the custom shell if you really want to do direct logins to the superuser account. The other option is using the custom shell on your regular account and using security/sudo for running programs with elevated privileges.
 
The handbook is good, but sometimes out of date, and sometimes just written for people much smarter than me, so they'll leave out steps that these smarter people already know.

It probably says somewhere in the handbook that you shouldn't change root's shell. It might be considered so basic (though believe me, you're not the only one to have made the mistake) that it never got in there. I'm too lazy to look. :)
 
Never ever change your root shell.
That's a rule that I apply to any OS since I changed Solaris 9 shell to bash and ... I let you imagine what happened.
But nothing prevents you to use shells/fish for root after login; just enter fish ...
 
Back
Top