Skip to main content
Welcome guest. | Register | Login | Post

fish trouble

5 replies [Last post]
tbuitenh's picture
Joined: 2005-12-21

I set my shell to fish.

The PATH was rather minimal (only /bin /usr/bin /usr/X11R6/bin) so I put this line in /etc/fish :

set PATH $PATH /sbin /usr/sbin /usr/local/bin /opt/*/bin /opt/java/jre/bin $HOME/bin

resulting in the path

/bin /usr/bin /usr/X11R6/bin /sbin /usr/sbin /usr/local/bin /opt/acrobat/bin /opt/gnome/bin /opt/java/bin /opt/kde/bin /opt/mozilla/bin /opt/NX/bin /opt/qt/bin /opt/xfce4/bin /opt/java/jre/bin /home/taco/bin /sbin /usr/sbin /usr/local/bin /opt/acrobat/bin /opt/gnome/bin /opt/java/bin /opt/kde/bin /opt/mozilla/bin /opt/NX/bin /opt/qt/bin /opt/xfce4/bin /opt/java/jre/bin /home/taco/bin

for comparison the PATH in bash is:


Now when I run startx, I get this error dialog:

The NetworkManager applet could not find some required resources. It cannot continue.

(my .xinitrc starts nm-applet)

I bet some other environment variable is missing or too minimal. But which one? Puzzled

libervisco's picture
Joined: 2006-05-04
Noone replied yet?? Hmm, I'm

Noone replied yet??

Hmm, I'm not a fish user nor very knowledgable on environment variables, but doesn't it support wildcards? If yes, then I suppose putting a wild card on some general path ought to include the one which may be missing. I'm not sure.

Did you try reverting to the way it was, the defaults, just to see if it's that which causes the error?

*shrugs* I wish I could help more.

a thing's picture
Joined: 2005-12-20

Why don't you just copy and paste your Bash $PATH into your FISH $PATH?

tbuitenh's picture
Joined: 2005-12-21
The bash $PATH is a subset

The bash $PATH is a subset of the fish $PATH, so that shouldn't be the problem.
Fish uses a different syntax for $PATH (and any type of array), so I can't just copy paste it. I tried

set PATH (bash -c echo $PATH)

and also

set PATH (bash -c echo $PATH | tr : ' ')

neither did quite what I expected.

Anyway, after running "export" back in bash, I found these:

declare -x GNOME2_PATH="/opt/gnome"
declare -x GNOMEDIR="/opt/gnome"

Those probably are what I'm looking for, I'll check.

tbuitenh's picture
Joined: 2005-12-21
It was an environment

It was an environment variable, but I have no idea which one. I simply copied all my environment variables from bash to fish.

Hint 1: you can make fish remember a variable permanently with "set -U" ("set -U -x" if it's an environment variable)

Hint 2: you can get exactly the same environment as before the switch to fish by running "su - (whoami) -s /bin/bash"

tbuitenh's picture
Joined: 2005-12-21
I'm going to switch back to

I'm going to switch back to bash. Two reasons:

- sometimes fish hangs when using tab completion
- after running (and ending) startx, I can't use su anymore (it will tell me incorrect password even before typing a password)

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.