Yep, I understand the difference between terminal emulator and shell. Thanks for the clarification anyway.
It was just easier to type than "with st*loginShell:true set in .Xdefault, st doesn't seem to be able to launch urxvt as login shell that reads .profile at start-up". On 13/12/2012, at 11:59 PM, Dustin Fechner <d...@hush.com> wrote: > On 12/13/2012 01:14 PM, Feng Zhou wrote: >> However, st doesn't seem to be able to read .profile [...] > > Just to be a bit more precise here: > It's *not* the terminal emulator that reads '.profile'. > The terminal emulator just invokes a shell and the shell parses its > configuration files. > > Regarding '.profile', I'll quote the ksh man page (assuming you are > using ksh as your shell): >> -l Login shell. If the basename the shell is called with (i.e. >> argv[0]) starts with `-' or if this option is used, the shell is >> assumed to be a login shell and the shell reads and executes the >> contents of /etc/profile and $HOME/.profile if they exist and are >> readable. > > So it all comes down to *how* (i.e. with what options) the shell gets > invoked. Don't confuse the terminal emulator with the shell, as these > are two distinct things.