Did you check ownership and permissions for .profile?
Linux
From Wikipedia, the free encyclopedia
Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).
Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.
Rules
- Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.
- No misinformation
- No NSFW content
- No hate speech, bigotry, etc
Related Communities
Community icon by Alpár-Etele Méder, licensed under CC BY 3.0
Changed it allow execution for the owner. Still no results. Tried with both .profile and .bash_profile.
Do you have anything else your ~/.bashrc
that is perhaps overwriting the PATH
?
One thing you can do is just add echo
s to your .profile
to see if it is getting sourced and what the state of PATH
is as it gets loaded. That might help you trace what is happening.
Thanks for the response. I will try to as you have advised. Adding those lines to .bashrc helped with flatpaks but not with nix.
I had a similar issue some time ago, not sure which distro it was. The solution was to rename the .profile
to .bash_profile
:)
Thanks for the response. But in my case, even that does not work as well.
Does your .bashrc actually source .bash_profile? Add [ ! -f "~/.bash_profile" ] || . "~/.bash_profile"
(.bash_profile doesn't exist or source it) to the end if not.
Adding those lines to .bashrc helped with flatpaks but not with nix.
You've probably already checked it out but make sure you've got only one of .profile
, .bash_profile
, .bashprofile
. bash will only execute one of them in case there's more than one (not sure which one off the top of my head.)
I only have .profile. Actually adding those lines as to .bashrc as suggested by @palordrolap@kbin.social helped for the flatpak commands. But the issue with .desktop files for programs installed using nix still persists.
.profile
is only sourced when the shell is a login shell. Most shells started by terminal emulators under a GUI are not login shells.
Depending on how you connect to a machine, you may or may not get a login shell. Through SSH or similar may well get you a login shell. Using the text-console (usually through Ctrl+Alt+F1 through F6 on modern distros) also yields a login shell.
Try putting things in your .bashrc
instead. That one is sourced regardless of login shell or not.
If you're not using bash, substitute the relevant file. .zshrc
and .config/fish
are the main two.
Thanks, that works with the flatpaks. However, it doesn't seem to work with nix packages. I mean rofi doesn't detect the .desktop files for packages installed using nix.