Solved!

So bash -lv was a good tip: it showed my file was sourced but I guarded
some PATH updates within if:
if [[ -d "$HOME/bin" ]] ; then
   PATH="$HOME/bin:$PATH"
fi

I do not know which program, bash or sh, or even if they are equivalent,
but replace [[ by [ does the trick...

Thanks everyone for your help.

B


On Thu, May 14, 2026 at 11:32 AM <[email protected]> wrote:

> On Thu, May 14, 2026 at 10:51:53AM +0200, Nicolas George wrote:
> > Brieuc Desoutter (HE12026-05-14):
> > > TL/DR: On Trixie with Gnome, right after login with…
> > > - default .profile -> ~/bin and ~/.local/bin in PATH
> > > - .profile as a symlink to the default .profile located in different
> > > directory -> no ~/bin or ~/.local/bin in PATH
> > >
> > > Why?
> >
> > If you are logging with Gnome, then no login shell gets invoked, and
> > therefore .profile is not supposed to be sourced. If it is, that means
> > something in the chain sources it explicitly, and it is entirely
> > possible it does something like this:
> >
> > if [ -f "$HOME/.profile" ] ; then
> >   . "$HOME/.profile"
> > fi
> >
> > A -f instead of -e would exclude symlinks.
>
> Yep, that would be one of the candidates. That's why I'm insisting Brieuc
> tries things like "bash -l" and reports the results.
>
> Actually "shopt login_shell" will tell you (with bash at least) whether
> your current shell thinks it is a login shell.
>
> > My two pieces of advice:
> >
> > 1. Be the master of your login process: start with a .xsession file that
> > does exactly what you want it to do before it starts a desktop.
>
> That's what I usually do for shells running beneath X.
>
> > 2. Use zsh instead of bash [...]
>
> This is not really helpful: I know zsh can do many tricks bash can't, and
> there are reasons for it (and against, mind you), but this doesn't address
> OP's problem.
>
> Cheers
> --
> t
>

Reply via email to