Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

Re: zsh as login shell and x-terms.

On Fri, 10 Sep 2010, Piotr Karbowski wrote:

Hi there.

Greetings, Piotr,

I found quite strange issue with zsh as login shell. When I log to system by tty or by ssh my zsh checking/execing zprofile, which is good. but when I open new urxvt window (or any other terminal, such as xterm) there is no zprofile loaded. I need to do manualy 'zsh -l'. I have no idea why, I think my zprofile should be loaded every time I start new terminal window.

This is more a question of urxvt and xterm configuration than zsh, or
really a matter of X configuration.

A short answer to your question is that both terminal emulators start
your shell as a sub-shell by default, instead of as a login-shell.

Both emulators have options to start the shell as a login shell (see "man
urxvt" or "man xterm"), but I suspect you'd prefer, as most people would,
a more automatic solution, which is to add an entry to your
$HOME/.Xresources file (which is loaded once when you start your X
session) or $HOME/.Xdefaults file (which is used dynamically each time an
X app runs).

Both emulators happen to use the same X resource name for the action of
running a login-shell, so you can cover both by adding a single entry to
either of the above mentioned files:

  *loginShell: true

Or, of you prefer to tailor this action to these specific emulator(s)

  xterm*loginShell: true
  urxvt*loginShell: true

I'd suggest putting which ever you form you choose into .Xdefaults so you
can easily disable it without having to log out of your X session to
effect the change.

-- Piotr.

Peter A. Castro <doctor@xxxxxxxxxxxx> or <Peter.Castro@xxxxxxxxxx>
	"Cats are just autistic Dogs" -- Dr. Tony Attwood

Messages sorted by: Reverse Date, Date, Thread, Author