[Bug 273720] tcsh doesn't expand "~" in $PATH upon login under X

From: <bugzilla-noreply_at_freebsd.org>
Date: Mon, 11 Sep 2023 14:26:17 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=273720

            Bug ID: 273720
           Summary: tcsh doesn't expand "~" in $PATH upon login under X
           Product: Base System
           Version: 13.2-RELEASE
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Only Me
          Priority: ---
         Component: bin
          Assignee: bugs@FreeBSD.org
          Reporter: vsasjason@gmail.com

Noticed subj when tried to run something in my ~/bin (I'm running XFCE started
by lightdm).

Path is defined in login.conf only (no "set path" in .cshrc):
jason@jnb: [?:0] ~ $ sed -nr '/^\t:path/p' /etc/login.conf
  :path=/sbin /bin /usr/sbin /usr/bin /usr/local/sbin /usr/local/bin ~/bin:\
  :path=/sbin /bin /usr/sbin /usr/bin /usr/local/sbin /usr/local/bin:\

That's what I can see after starting xfce4-terminal:
jason@jnb: [?:0] ~ $ echo $PATH
/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:~/bin
jason@jnb: [?:0] ~ $ set | egrep '^path'
path  (/sbin /bin /usr/sbin /usr/bin /usr/local/sbin /usr/local/bin ~/bin)

Setting $PATH env var manually doesn't expand ~:
jason@jnb: [?:0] ~ $ setenv PATH
/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:~/bin
jason@jnb: [?:0] ~ $ echo $PATH
/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:~/bin

Setting "path" tcsh var manually expands it:
jason@jnb: [?:0] ~ $ set path = (/sbin /bin /usr/sbin /usr/bin /usr/local/sbin
/usr/local/bin ~/bin)
jason@jnb: [?:0] ~ $ set | egrep '^path'
path  (/sbin /bin /usr/sbin /usr/bin /usr/local/sbin /usr/local/bin
/home/jason/bin)
jason@jnb: [?:0] ~ $ echo $PATH
/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:/home/jason/bin
jason@jnb: [?:0] ~ $

If I log in through console, path is expanded correctly right away.
Probably adding "set path ..." to every user's .cshrc will do the trick, but I
still don't understand why it doesn't work under X and would prefer to avoid
duplicating same variable definition (I mean, login.conf should be enough,
isn't it?)

-- 
You are receiving this mail because:
You are the assignee for the bug.