Several Flatpak apps broken after changing shells and rebooting
Just booted up my computer today and was surprised that the icons in my panel were broken for a couple of Flatpak apps. When I tried clicking them to launch the apps, it seems that is also broken. The apps I've discovered so far that are missing are Firefox, Zen Browser, Vencord, and Gear Lever. The Discover store seems to think these apps are all installed. I tried removing and reinstalling them, but they still can't be launched using the button in the Discover store.
I was able to launch them from the terminal with
flatpak run
. Not sure what's happening here. Yesterday, I did change my default shell to ZSH but everything seems to be working properly there since I sourced /etc/profile
in my config. Any idea what this weird bug might be?Solution:Jump to solution
Found a solution for this and commented with it on that GH issue. Replicating it here in case anyone finds this thread.
Maybe there's a cleaner way to do this, but I was able to work around this issue by writing a shell wrapper script to start ZSH for interactive shells and Bash for anything else. Here's the script:
```bash...
31 Replies
Looks like it's the same issue this user had, but they didn't seem to find a solution aside from falling back to Bash as the default shell. https://github.com/ublue-os/bazzite/issues/1196
GitHub
Flatpaks apps missing · Issue #1196 · ublue-os/bazzite
Describe the bug Sometimes apps are seemingly disappearing. For example Firefox is missing and searching for it prompts me to Get it from the discover store. Upon doing so it states that it's a...
Solution
Found a solution for this and commented with it on that GH issue. Replicating it here in case anyone finds this thread.
Maybe there's a cleaner way to do this, but I was able to work around this issue by writing a shell wrapper script to start ZSH for interactive shells and Bash for anything else. Here's the script:
The ZSH path assumes you installed with Homebrew.
Then, make the script executable:
Finally, set this script as your default shell:
When prompted for the shell path, give it
/path/to/shell-script.sh
(replacing, of course, with the actual path; I just dropped it into my home directory). Restart once you've set the new shell, and you should see your Flatpaks work and you can have ZSH as your interactive shell.main issue here is you changed your shell with chsh, which is not how youre supposed to do it on atomic systems, leave the default shell as bash.
then make your terminal run zsh as a custom command and you will have 0 issues and you will not break your system if you rebase to an image that does not have zsh
I did change my default shell to ZSH
We explicitly removed chsh
so you wouldn't footgun yourselfHow is this communicated to the user? How would I have known? I didn't even know
chsh
was a thing or had been removed. I searched for how to change the shell in Fedora and found sudo lchsh $USER
, so I ran that. It apparently hasn't been removed.
If this was the intent, it's communicated very poorly.@j0rge 2nd command to delete in main, opening a PR for it
I'll give that a shot. Sounds better than my solution. 😅
Right now under stock KDE just switching your shell can break login
This isn't a ublue or immutable specific thing
we removed it to disincentivize doing this
so you've helped today by giving us another avenue
It would be great if there was an alias or something for
chsh
and lchsh
that echoed out some instructions with the ideal way to change a shell.
I wasn't aware of this either, so that doesn't help me unfortunately.
Users are likely not as aware of the state of various bugs as some of the contributors and developers might be.we removed chsh already
@j0rge I think he's referring to
lchsh
.I don't have that binary on my system
It's on mine, bazzite gnome
I'm on KDE, and I have it.
yeah confirmed on my bazzite laptop, want a PR?
I got it
something is pulling it in because I thought we nuked this in main
Just chsh
Not lchsh
yeah but then how come lchsh isn't in bluefin then?
I'll PR the docs
@Kyle Gospo I'd love to contribute something to the docs to capture this for anyone who might want to change shells in the future. Is there a place it would fit? FAQ maybe?
It's a tough one because it's not something a lot of users do
Might be good to have a best practices doc?
https://docs.projectbluefin.io/administration#changing-the-default-terminal-shell you can copy it from the bluefin docs, already has screenshots and everything
Administrator's Guide
The next generation Linux workstation, designed for reliability, performance, and sustainability. Built for the love of the game. Welcome to indie Cloud Native.
fedora's getting rid of chsh too, we just went earlier
@j0rge This Bluefin documentation says fish and zsh are included with the image. I find fish in my Bazzite install but not zsh. Did that somehow get deleted from
/usr/bin
because I installed it via Homebrew, or is it not included with Bazzite? Just doing some basic adaptation of the documentation for Bazzite and confirming everything also applies here.not sure
OK. I'll take out the mention of it being available, and I can revisit when the PR is reviewed if need be.
PR is in. Happy to tweak if it isn't quite right: https://github.com/KyleGospo/docs.bazzite.gg/pull/8
GitHub
chore(docs): add changing shell best practice by raddevon · Pull Re...
Mostly took this from the Project Bluefin docs, changing "Project Bluefin" to "Bazzite" and removing mention of ZSH being included since it doesn't appea...
bazzite is not bluefin, we do not include zsh
I footgunned myself with
usermod -s
, though I'm not sure how feasible that one is to removemaybe just by straight up patching the functionality out of usermod