Snap applications don't show up after re-login using fish shell
On Ubuntu 18.04 I've changed my shell to fish via
chsh -s `which fish`
I've installed Maillspring and Visual Studio Code snap apps, they installed fine and could be launched from the dash initially, but after logging in and logging back out none of them showed up in the dash anymore.
Searching for them in software store shows that are installed and I can launch them from there.
Why will the default shell matter for this?
unity-dash snap fish
add a comment |
On Ubuntu 18.04 I've changed my shell to fish via
chsh -s `which fish`
I've installed Maillspring and Visual Studio Code snap apps, they installed fine and could be launched from the dash initially, but after logging in and logging back out none of them showed up in the dash anymore.
Searching for them in software store shows that are installed and I can launch them from there.
Why will the default shell matter for this?
unity-dash snap fish
Updated answer based on your comment.
– Elder Geek
May 10 at 16:04
@calin Can you provide examples of snap packages you have installed and do not show up after re-login?
– estibordo
May 14 at 22:11
Which version of Ubuntu? Do the snaps run fine when run from thefishshell?
– muru
May 15 at 8:17
@estibordo I did.
– Calin
May 15 at 9:31
add a comment |
On Ubuntu 18.04 I've changed my shell to fish via
chsh -s `which fish`
I've installed Maillspring and Visual Studio Code snap apps, they installed fine and could be launched from the dash initially, but after logging in and logging back out none of them showed up in the dash anymore.
Searching for them in software store shows that are installed and I can launch them from there.
Why will the default shell matter for this?
unity-dash snap fish
On Ubuntu 18.04 I've changed my shell to fish via
chsh -s `which fish`
I've installed Maillspring and Visual Studio Code snap apps, they installed fine and could be launched from the dash initially, but after logging in and logging back out none of them showed up in the dash anymore.
Searching for them in software store shows that are installed and I can launch them from there.
Why will the default shell matter for this?
unity-dash snap fish
unity-dash snap fish
edited May 15 at 14:03
asked May 6 at 0:29
Calin
3002315
3002315
Updated answer based on your comment.
– Elder Geek
May 10 at 16:04
@calin Can you provide examples of snap packages you have installed and do not show up after re-login?
– estibordo
May 14 at 22:11
Which version of Ubuntu? Do the snaps run fine when run from thefishshell?
– muru
May 15 at 8:17
@estibordo I did.
– Calin
May 15 at 9:31
add a comment |
Updated answer based on your comment.
– Elder Geek
May 10 at 16:04
@calin Can you provide examples of snap packages you have installed and do not show up after re-login?
– estibordo
May 14 at 22:11
Which version of Ubuntu? Do the snaps run fine when run from thefishshell?
– muru
May 15 at 8:17
@estibordo I did.
– Calin
May 15 at 9:31
Updated answer based on your comment.
– Elder Geek
May 10 at 16:04
Updated answer based on your comment.
– Elder Geek
May 10 at 16:04
@calin Can you provide examples of snap packages you have installed and do not show up after re-login?
– estibordo
May 14 at 22:11
@calin Can you provide examples of snap packages you have installed and do not show up after re-login?
– estibordo
May 14 at 22:11
Which version of Ubuntu? Do the snaps run fine when run from the
fish shell?– muru
May 15 at 8:17
Which version of Ubuntu? Do the snaps run fine when run from the
fish shell?– muru
May 15 at 8:17
@estibordo I did.
– Calin
May 15 at 9:31
@estibordo I did.
– Calin
May 15 at 9:31
add a comment |
3 Answers
3
active
oldest
votes
The command you had originally in your question chsh -s which bash was as you say a typo which caused a great deal of confusion around your question. Even if it had been properly formed with the ` symbols around which bash as shown below.

it would change the shell to bash (the default). To change the shell to fish use

or simply use the command chsh and enter the path to the shell you want to use. See below:
me@zippy-64bit:~$ chsh
Password:
Changing the login shell for me
Enter the new value, or press ENTER for the default
Login Shell [/bin/bash]:
For more information on the fish shell see this.
EDIT: Regarding snap packages: Will the default shell matter? the answer is possibly, as it depends on the assumptions made by and the approach taken by the programmer. Refer to the differences in how bash and how fish handle things in the previous link. For example fish has no implicit subshell which can cause surprising side effects in variable assignment for the programmer that is expecting behavior similar to bash. There's a good example of an expectation of an implicit subshell in the question here.
Why? In an attempt to clarify it appears that the concept of inheritance is handled differently between fish and other more common shells like bash. My understanding is that this can result in unexpected behavior from pipes, loops, and functions (All of which are commonly used programming strategies).
The programmer may also be relying on shell builtins which either may not exist in fish or may be implemented in an unexpected fashion.
Sources:
man chsh
fishon Wikipediasubshells on Unix & Linux
Related post on SuperUser.com
+10 rep already and another +100 coming! :O :O :O
– Fabby
May 9 at 22:21
@Fabby Wow. That's unexpected. I just stumbled across it in the review queue and thought perhaps I could help.
– Elder Geek
May 9 at 23:33
Good point, made a typo but still this is not the answer to my question
– Calin
May 10 at 8:21
1
@Calin When I reviewed your question, it had 2 close votes assigned to it "Unclear what you're asking". Mentioning the exact applications would help as they might be console apps.
– Fabby
May 10 at 9:44
Updated answer.
– Elder Geek
May 10 at 15:53
|
show 5 more comments
Same problem here (Ubuntu 18.10): after chsh -s `which fish`, Gnome Shell does not find snapp apps anymore, even after adding /snap/bin to the $PATH.
My workaround:
- open terminal
- go to Preferences, click on your profile then command tab, tick "run a custom command instead of my shell" then in custom command put
fish. - do this for every profile

After that, starting Gnome-Terminal (either from Gnome Shell or with Ctrl+Alt+T) will launch the Fish shell, but the system shell will still be Bash so nothing breaks.
However this means that other applications spawning a user-facing shell (Visual Studio Code for instance) may require customization as well to use Fish instead of Bash.
add a comment |
The snaps that you have installed, can be found in /snap/bin/
You need to have that directory in your $PATH.
Ubuntu automatically adds /snap/bin to your $PATH.
It happens in /etc/profile.d/apps-bin-path.sh which runs when you get a login shell.
I checked, and fish also adds /snap/bin into $PATH so normally it should be fine.
Can you show us the output of the command
echo $PATH
If the output has /snap/bin, then congratulations you have found a bug in Ubuntu and you can file a report on Launchpad for it.
addition: Ubuntu internally probably uses $SHELL for some of the scripting. The fish shell is not 100% compatible with bash and it looks like this is the cause of the problem. It is a common issue when you change your login shell to something other than bash. See, for example, this report https://youtrack.jetbrains.com/issue/CPP-2919 with users changing their shell to /bin/tcsh.
You need to file a bug report to Ubuntu so that someone investigates and fixes the internal scripting to work with fish. If you really love fish, that's what you need to do. ;-)
1
How do you explain that they "could be launched from the dash initially" then?
– Elder Geek
May 14 at 1:20
@Calin said that when they logged out and logged in again, then it stopped working. That makes sense, because the shell information is updated systemwide only when you re-login. The other thing that mystifies me, is that the command waschsh -s fish. That means that the user changed the login shell forroot, not for the non-root user account. Still a bug, but a more delicate one.
– Simos
May 15 at 10:24
The only way that command would change the login shell for root would be if the user was logged in as root when it was issued. it changes the current login shell and not another. Seeman chshfor more information. Cheers! ;-)
– Elder Geek
May 15 at 20:13
FYI. Changing your shell doesn't change your path. ;-)
– Elder Geek
May 17 at 22:06
;-) What I said was that if the $PATH remains the same, then it is a bug in Ubuntu, and that would require a bug report. The reason is that the scripts in Ubuntu use $SHELL to perform tasks, andfishis not 100% compatible withbash. Such an issue is common in Unix/Linux, here is another example, youtrack.jetbrains.com/issue/CPP-2919 The OP gave up and changed back the login $SHELL tobash. No more fish for them.
– Simos
May 19 at 7:34
|
show 1 more comment
Your Answer
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "89"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2faskubuntu.com%2fquestions%2f1032581%2fsnap-applications-dont-show-up-after-re-login-using-fish-shell%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
3 Answers
3
active
oldest
votes
3 Answers
3
active
oldest
votes
active
oldest
votes
active
oldest
votes
The command you had originally in your question chsh -s which bash was as you say a typo which caused a great deal of confusion around your question. Even if it had been properly formed with the ` symbols around which bash as shown below.

it would change the shell to bash (the default). To change the shell to fish use

or simply use the command chsh and enter the path to the shell you want to use. See below:
me@zippy-64bit:~$ chsh
Password:
Changing the login shell for me
Enter the new value, or press ENTER for the default
Login Shell [/bin/bash]:
For more information on the fish shell see this.
EDIT: Regarding snap packages: Will the default shell matter? the answer is possibly, as it depends on the assumptions made by and the approach taken by the programmer. Refer to the differences in how bash and how fish handle things in the previous link. For example fish has no implicit subshell which can cause surprising side effects in variable assignment for the programmer that is expecting behavior similar to bash. There's a good example of an expectation of an implicit subshell in the question here.
Why? In an attempt to clarify it appears that the concept of inheritance is handled differently between fish and other more common shells like bash. My understanding is that this can result in unexpected behavior from pipes, loops, and functions (All of which are commonly used programming strategies).
The programmer may also be relying on shell builtins which either may not exist in fish or may be implemented in an unexpected fashion.
Sources:
man chsh
fishon Wikipediasubshells on Unix & Linux
Related post on SuperUser.com
+10 rep already and another +100 coming! :O :O :O
– Fabby
May 9 at 22:21
@Fabby Wow. That's unexpected. I just stumbled across it in the review queue and thought perhaps I could help.
– Elder Geek
May 9 at 23:33
Good point, made a typo but still this is not the answer to my question
– Calin
May 10 at 8:21
1
@Calin When I reviewed your question, it had 2 close votes assigned to it "Unclear what you're asking". Mentioning the exact applications would help as they might be console apps.
– Fabby
May 10 at 9:44
Updated answer.
– Elder Geek
May 10 at 15:53
|
show 5 more comments
The command you had originally in your question chsh -s which bash was as you say a typo which caused a great deal of confusion around your question. Even if it had been properly formed with the ` symbols around which bash as shown below.

it would change the shell to bash (the default). To change the shell to fish use

or simply use the command chsh and enter the path to the shell you want to use. See below:
me@zippy-64bit:~$ chsh
Password:
Changing the login shell for me
Enter the new value, or press ENTER for the default
Login Shell [/bin/bash]:
For more information on the fish shell see this.
EDIT: Regarding snap packages: Will the default shell matter? the answer is possibly, as it depends on the assumptions made by and the approach taken by the programmer. Refer to the differences in how bash and how fish handle things in the previous link. For example fish has no implicit subshell which can cause surprising side effects in variable assignment for the programmer that is expecting behavior similar to bash. There's a good example of an expectation of an implicit subshell in the question here.
Why? In an attempt to clarify it appears that the concept of inheritance is handled differently between fish and other more common shells like bash. My understanding is that this can result in unexpected behavior from pipes, loops, and functions (All of which are commonly used programming strategies).
The programmer may also be relying on shell builtins which either may not exist in fish or may be implemented in an unexpected fashion.
Sources:
man chsh
fishon Wikipediasubshells on Unix & Linux
Related post on SuperUser.com
+10 rep already and another +100 coming! :O :O :O
– Fabby
May 9 at 22:21
@Fabby Wow. That's unexpected. I just stumbled across it in the review queue and thought perhaps I could help.
– Elder Geek
May 9 at 23:33
Good point, made a typo but still this is not the answer to my question
– Calin
May 10 at 8:21
1
@Calin When I reviewed your question, it had 2 close votes assigned to it "Unclear what you're asking". Mentioning the exact applications would help as they might be console apps.
– Fabby
May 10 at 9:44
Updated answer.
– Elder Geek
May 10 at 15:53
|
show 5 more comments
The command you had originally in your question chsh -s which bash was as you say a typo which caused a great deal of confusion around your question. Even if it had been properly formed with the ` symbols around which bash as shown below.

it would change the shell to bash (the default). To change the shell to fish use

or simply use the command chsh and enter the path to the shell you want to use. See below:
me@zippy-64bit:~$ chsh
Password:
Changing the login shell for me
Enter the new value, or press ENTER for the default
Login Shell [/bin/bash]:
For more information on the fish shell see this.
EDIT: Regarding snap packages: Will the default shell matter? the answer is possibly, as it depends on the assumptions made by and the approach taken by the programmer. Refer to the differences in how bash and how fish handle things in the previous link. For example fish has no implicit subshell which can cause surprising side effects in variable assignment for the programmer that is expecting behavior similar to bash. There's a good example of an expectation of an implicit subshell in the question here.
Why? In an attempt to clarify it appears that the concept of inheritance is handled differently between fish and other more common shells like bash. My understanding is that this can result in unexpected behavior from pipes, loops, and functions (All of which are commonly used programming strategies).
The programmer may also be relying on shell builtins which either may not exist in fish or may be implemented in an unexpected fashion.
Sources:
man chsh
fishon Wikipediasubshells on Unix & Linux
Related post on SuperUser.com
The command you had originally in your question chsh -s which bash was as you say a typo which caused a great deal of confusion around your question. Even if it had been properly formed with the ` symbols around which bash as shown below.

it would change the shell to bash (the default). To change the shell to fish use

or simply use the command chsh and enter the path to the shell you want to use. See below:
me@zippy-64bit:~$ chsh
Password:
Changing the login shell for me
Enter the new value, or press ENTER for the default
Login Shell [/bin/bash]:
For more information on the fish shell see this.
EDIT: Regarding snap packages: Will the default shell matter? the answer is possibly, as it depends on the assumptions made by and the approach taken by the programmer. Refer to the differences in how bash and how fish handle things in the previous link. For example fish has no implicit subshell which can cause surprising side effects in variable assignment for the programmer that is expecting behavior similar to bash. There's a good example of an expectation of an implicit subshell in the question here.
Why? In an attempt to clarify it appears that the concept of inheritance is handled differently between fish and other more common shells like bash. My understanding is that this can result in unexpected behavior from pipes, loops, and functions (All of which are commonly used programming strategies).
The programmer may also be relying on shell builtins which either may not exist in fish or may be implemented in an unexpected fashion.
Sources:
man chsh
fishon Wikipediasubshells on Unix & Linux
Related post on SuperUser.com
edited May 16 at 15:34
answered May 9 at 16:08
Elder Geek
26.4k952125
26.4k952125
+10 rep already and another +100 coming! :O :O :O
– Fabby
May 9 at 22:21
@Fabby Wow. That's unexpected. I just stumbled across it in the review queue and thought perhaps I could help.
– Elder Geek
May 9 at 23:33
Good point, made a typo but still this is not the answer to my question
– Calin
May 10 at 8:21
1
@Calin When I reviewed your question, it had 2 close votes assigned to it "Unclear what you're asking". Mentioning the exact applications would help as they might be console apps.
– Fabby
May 10 at 9:44
Updated answer.
– Elder Geek
May 10 at 15:53
|
show 5 more comments
+10 rep already and another +100 coming! :O :O :O
– Fabby
May 9 at 22:21
@Fabby Wow. That's unexpected. I just stumbled across it in the review queue and thought perhaps I could help.
– Elder Geek
May 9 at 23:33
Good point, made a typo but still this is not the answer to my question
– Calin
May 10 at 8:21
1
@Calin When I reviewed your question, it had 2 close votes assigned to it "Unclear what you're asking". Mentioning the exact applications would help as they might be console apps.
– Fabby
May 10 at 9:44
Updated answer.
– Elder Geek
May 10 at 15:53
+10 rep already and another +100 coming! :O :O :O
– Fabby
May 9 at 22:21
+10 rep already and another +100 coming! :O :O :O
– Fabby
May 9 at 22:21
@Fabby Wow. That's unexpected. I just stumbled across it in the review queue and thought perhaps I could help.
– Elder Geek
May 9 at 23:33
@Fabby Wow. That's unexpected. I just stumbled across it in the review queue and thought perhaps I could help.
– Elder Geek
May 9 at 23:33
Good point, made a typo but still this is not the answer to my question
– Calin
May 10 at 8:21
Good point, made a typo but still this is not the answer to my question
– Calin
May 10 at 8:21
1
1
@Calin When I reviewed your question, it had 2 close votes assigned to it "Unclear what you're asking". Mentioning the exact applications would help as they might be console apps.
– Fabby
May 10 at 9:44
@Calin When I reviewed your question, it had 2 close votes assigned to it "Unclear what you're asking". Mentioning the exact applications would help as they might be console apps.
– Fabby
May 10 at 9:44
Updated answer.
– Elder Geek
May 10 at 15:53
Updated answer.
– Elder Geek
May 10 at 15:53
|
show 5 more comments
Same problem here (Ubuntu 18.10): after chsh -s `which fish`, Gnome Shell does not find snapp apps anymore, even after adding /snap/bin to the $PATH.
My workaround:
- open terminal
- go to Preferences, click on your profile then command tab, tick "run a custom command instead of my shell" then in custom command put
fish. - do this for every profile

After that, starting Gnome-Terminal (either from Gnome Shell or with Ctrl+Alt+T) will launch the Fish shell, but the system shell will still be Bash so nothing breaks.
However this means that other applications spawning a user-facing shell (Visual Studio Code for instance) may require customization as well to use Fish instead of Bash.
add a comment |
Same problem here (Ubuntu 18.10): after chsh -s `which fish`, Gnome Shell does not find snapp apps anymore, even after adding /snap/bin to the $PATH.
My workaround:
- open terminal
- go to Preferences, click on your profile then command tab, tick "run a custom command instead of my shell" then in custom command put
fish. - do this for every profile

After that, starting Gnome-Terminal (either from Gnome Shell or with Ctrl+Alt+T) will launch the Fish shell, but the system shell will still be Bash so nothing breaks.
However this means that other applications spawning a user-facing shell (Visual Studio Code for instance) may require customization as well to use Fish instead of Bash.
add a comment |
Same problem here (Ubuntu 18.10): after chsh -s `which fish`, Gnome Shell does not find snapp apps anymore, even after adding /snap/bin to the $PATH.
My workaround:
- open terminal
- go to Preferences, click on your profile then command tab, tick "run a custom command instead of my shell" then in custom command put
fish. - do this for every profile

After that, starting Gnome-Terminal (either from Gnome Shell or with Ctrl+Alt+T) will launch the Fish shell, but the system shell will still be Bash so nothing breaks.
However this means that other applications spawning a user-facing shell (Visual Studio Code for instance) may require customization as well to use Fish instead of Bash.
Same problem here (Ubuntu 18.10): after chsh -s `which fish`, Gnome Shell does not find snapp apps anymore, even after adding /snap/bin to the $PATH.
My workaround:
- open terminal
- go to Preferences, click on your profile then command tab, tick "run a custom command instead of my shell" then in custom command put
fish. - do this for every profile

After that, starting Gnome-Terminal (either from Gnome Shell or with Ctrl+Alt+T) will launch the Fish shell, but the system shell will still be Bash so nothing breaks.
However this means that other applications spawning a user-facing shell (Visual Studio Code for instance) may require customization as well to use Fish instead of Bash.
edited 2 days ago
mature
1,629422
1,629422
answered Dec 23 at 15:31
Cédric Van Rompay
1165
1165
add a comment |
add a comment |
The snaps that you have installed, can be found in /snap/bin/
You need to have that directory in your $PATH.
Ubuntu automatically adds /snap/bin to your $PATH.
It happens in /etc/profile.d/apps-bin-path.sh which runs when you get a login shell.
I checked, and fish also adds /snap/bin into $PATH so normally it should be fine.
Can you show us the output of the command
echo $PATH
If the output has /snap/bin, then congratulations you have found a bug in Ubuntu and you can file a report on Launchpad for it.
addition: Ubuntu internally probably uses $SHELL for some of the scripting. The fish shell is not 100% compatible with bash and it looks like this is the cause of the problem. It is a common issue when you change your login shell to something other than bash. See, for example, this report https://youtrack.jetbrains.com/issue/CPP-2919 with users changing their shell to /bin/tcsh.
You need to file a bug report to Ubuntu so that someone investigates and fixes the internal scripting to work with fish. If you really love fish, that's what you need to do. ;-)
1
How do you explain that they "could be launched from the dash initially" then?
– Elder Geek
May 14 at 1:20
@Calin said that when they logged out and logged in again, then it stopped working. That makes sense, because the shell information is updated systemwide only when you re-login. The other thing that mystifies me, is that the command waschsh -s fish. That means that the user changed the login shell forroot, not for the non-root user account. Still a bug, but a more delicate one.
– Simos
May 15 at 10:24
The only way that command would change the login shell for root would be if the user was logged in as root when it was issued. it changes the current login shell and not another. Seeman chshfor more information. Cheers! ;-)
– Elder Geek
May 15 at 20:13
FYI. Changing your shell doesn't change your path. ;-)
– Elder Geek
May 17 at 22:06
;-) What I said was that if the $PATH remains the same, then it is a bug in Ubuntu, and that would require a bug report. The reason is that the scripts in Ubuntu use $SHELL to perform tasks, andfishis not 100% compatible withbash. Such an issue is common in Unix/Linux, here is another example, youtrack.jetbrains.com/issue/CPP-2919 The OP gave up and changed back the login $SHELL tobash. No more fish for them.
– Simos
May 19 at 7:34
|
show 1 more comment
The snaps that you have installed, can be found in /snap/bin/
You need to have that directory in your $PATH.
Ubuntu automatically adds /snap/bin to your $PATH.
It happens in /etc/profile.d/apps-bin-path.sh which runs when you get a login shell.
I checked, and fish also adds /snap/bin into $PATH so normally it should be fine.
Can you show us the output of the command
echo $PATH
If the output has /snap/bin, then congratulations you have found a bug in Ubuntu and you can file a report on Launchpad for it.
addition: Ubuntu internally probably uses $SHELL for some of the scripting. The fish shell is not 100% compatible with bash and it looks like this is the cause of the problem. It is a common issue when you change your login shell to something other than bash. See, for example, this report https://youtrack.jetbrains.com/issue/CPP-2919 with users changing their shell to /bin/tcsh.
You need to file a bug report to Ubuntu so that someone investigates and fixes the internal scripting to work with fish. If you really love fish, that's what you need to do. ;-)
1
How do you explain that they "could be launched from the dash initially" then?
– Elder Geek
May 14 at 1:20
@Calin said that when they logged out and logged in again, then it stopped working. That makes sense, because the shell information is updated systemwide only when you re-login. The other thing that mystifies me, is that the command waschsh -s fish. That means that the user changed the login shell forroot, not for the non-root user account. Still a bug, but a more delicate one.
– Simos
May 15 at 10:24
The only way that command would change the login shell for root would be if the user was logged in as root when it was issued. it changes the current login shell and not another. Seeman chshfor more information. Cheers! ;-)
– Elder Geek
May 15 at 20:13
FYI. Changing your shell doesn't change your path. ;-)
– Elder Geek
May 17 at 22:06
;-) What I said was that if the $PATH remains the same, then it is a bug in Ubuntu, and that would require a bug report. The reason is that the scripts in Ubuntu use $SHELL to perform tasks, andfishis not 100% compatible withbash. Such an issue is common in Unix/Linux, here is another example, youtrack.jetbrains.com/issue/CPP-2919 The OP gave up and changed back the login $SHELL tobash. No more fish for them.
– Simos
May 19 at 7:34
|
show 1 more comment
The snaps that you have installed, can be found in /snap/bin/
You need to have that directory in your $PATH.
Ubuntu automatically adds /snap/bin to your $PATH.
It happens in /etc/profile.d/apps-bin-path.sh which runs when you get a login shell.
I checked, and fish also adds /snap/bin into $PATH so normally it should be fine.
Can you show us the output of the command
echo $PATH
If the output has /snap/bin, then congratulations you have found a bug in Ubuntu and you can file a report on Launchpad for it.
addition: Ubuntu internally probably uses $SHELL for some of the scripting. The fish shell is not 100% compatible with bash and it looks like this is the cause of the problem. It is a common issue when you change your login shell to something other than bash. See, for example, this report https://youtrack.jetbrains.com/issue/CPP-2919 with users changing their shell to /bin/tcsh.
You need to file a bug report to Ubuntu so that someone investigates and fixes the internal scripting to work with fish. If you really love fish, that's what you need to do. ;-)
The snaps that you have installed, can be found in /snap/bin/
You need to have that directory in your $PATH.
Ubuntu automatically adds /snap/bin to your $PATH.
It happens in /etc/profile.d/apps-bin-path.sh which runs when you get a login shell.
I checked, and fish also adds /snap/bin into $PATH so normally it should be fine.
Can you show us the output of the command
echo $PATH
If the output has /snap/bin, then congratulations you have found a bug in Ubuntu and you can file a report on Launchpad for it.
addition: Ubuntu internally probably uses $SHELL for some of the scripting. The fish shell is not 100% compatible with bash and it looks like this is the cause of the problem. It is a common issue when you change your login shell to something other than bash. See, for example, this report https://youtrack.jetbrains.com/issue/CPP-2919 with users changing their shell to /bin/tcsh.
You need to file a bug report to Ubuntu so that someone investigates and fixes the internal scripting to work with fish. If you really love fish, that's what you need to do. ;-)
edited May 19 at 7:38
answered May 13 at 23:01
Simos
1475
1475
1
How do you explain that they "could be launched from the dash initially" then?
– Elder Geek
May 14 at 1:20
@Calin said that when they logged out and logged in again, then it stopped working. That makes sense, because the shell information is updated systemwide only when you re-login. The other thing that mystifies me, is that the command waschsh -s fish. That means that the user changed the login shell forroot, not for the non-root user account. Still a bug, but a more delicate one.
– Simos
May 15 at 10:24
The only way that command would change the login shell for root would be if the user was logged in as root when it was issued. it changes the current login shell and not another. Seeman chshfor more information. Cheers! ;-)
– Elder Geek
May 15 at 20:13
FYI. Changing your shell doesn't change your path. ;-)
– Elder Geek
May 17 at 22:06
;-) What I said was that if the $PATH remains the same, then it is a bug in Ubuntu, and that would require a bug report. The reason is that the scripts in Ubuntu use $SHELL to perform tasks, andfishis not 100% compatible withbash. Such an issue is common in Unix/Linux, here is another example, youtrack.jetbrains.com/issue/CPP-2919 The OP gave up and changed back the login $SHELL tobash. No more fish for them.
– Simos
May 19 at 7:34
|
show 1 more comment
1
How do you explain that they "could be launched from the dash initially" then?
– Elder Geek
May 14 at 1:20
@Calin said that when they logged out and logged in again, then it stopped working. That makes sense, because the shell information is updated systemwide only when you re-login. The other thing that mystifies me, is that the command waschsh -s fish. That means that the user changed the login shell forroot, not for the non-root user account. Still a bug, but a more delicate one.
– Simos
May 15 at 10:24
The only way that command would change the login shell for root would be if the user was logged in as root when it was issued. it changes the current login shell and not another. Seeman chshfor more information. Cheers! ;-)
– Elder Geek
May 15 at 20:13
FYI. Changing your shell doesn't change your path. ;-)
– Elder Geek
May 17 at 22:06
;-) What I said was that if the $PATH remains the same, then it is a bug in Ubuntu, and that would require a bug report. The reason is that the scripts in Ubuntu use $SHELL to perform tasks, andfishis not 100% compatible withbash. Such an issue is common in Unix/Linux, here is another example, youtrack.jetbrains.com/issue/CPP-2919 The OP gave up and changed back the login $SHELL tobash. No more fish for them.
– Simos
May 19 at 7:34
1
1
How do you explain that they "could be launched from the dash initially" then?
– Elder Geek
May 14 at 1:20
How do you explain that they "could be launched from the dash initially" then?
– Elder Geek
May 14 at 1:20
@Calin said that when they logged out and logged in again, then it stopped working. That makes sense, because the shell information is updated systemwide only when you re-login. The other thing that mystifies me, is that the command was
chsh -s fish. That means that the user changed the login shell for root, not for the non-root user account. Still a bug, but a more delicate one.– Simos
May 15 at 10:24
@Calin said that when they logged out and logged in again, then it stopped working. That makes sense, because the shell information is updated systemwide only when you re-login. The other thing that mystifies me, is that the command was
chsh -s fish. That means that the user changed the login shell for root, not for the non-root user account. Still a bug, but a more delicate one.– Simos
May 15 at 10:24
The only way that command would change the login shell for root would be if the user was logged in as root when it was issued. it changes the current login shell and not another. See
man chsh for more information. Cheers! ;-)– Elder Geek
May 15 at 20:13
The only way that command would change the login shell for root would be if the user was logged in as root when it was issued. it changes the current login shell and not another. See
man chsh for more information. Cheers! ;-)– Elder Geek
May 15 at 20:13
FYI. Changing your shell doesn't change your path. ;-)
– Elder Geek
May 17 at 22:06
FYI. Changing your shell doesn't change your path. ;-)
– Elder Geek
May 17 at 22:06
;-) What I said was that if the $PATH remains the same, then it is a bug in Ubuntu, and that would require a bug report. The reason is that the scripts in Ubuntu use $SHELL to perform tasks, and
fish is not 100% compatible with bash. Such an issue is common in Unix/Linux, here is another example, youtrack.jetbrains.com/issue/CPP-2919 The OP gave up and changed back the login $SHELL to bash. No more fish for them.– Simos
May 19 at 7:34
;-) What I said was that if the $PATH remains the same, then it is a bug in Ubuntu, and that would require a bug report. The reason is that the scripts in Ubuntu use $SHELL to perform tasks, and
fish is not 100% compatible with bash. Such an issue is common in Unix/Linux, here is another example, youtrack.jetbrains.com/issue/CPP-2919 The OP gave up and changed back the login $SHELL to bash. No more fish for them.– Simos
May 19 at 7:34
|
show 1 more comment
Thanks for contributing an answer to Ask Ubuntu!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Some of your past answers have not been well-received, and you're in danger of being blocked from answering.
Please pay close attention to the following guidance:
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2faskubuntu.com%2fquestions%2f1032581%2fsnap-applications-dont-show-up-after-re-login-using-fish-shell%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Updated answer based on your comment.
– Elder Geek
May 10 at 16:04
@calin Can you provide examples of snap packages you have installed and do not show up after re-login?
– estibordo
May 14 at 22:11
Which version of Ubuntu? Do the snaps run fine when run from the
fishshell?– muru
May 15 at 8:17
@estibordo I did.
– Calin
May 15 at 9:31