Just appending -l to $SHELL to create a login shell is wrong: -l is not POSIX,

and some people may use shells which do not support it. Instead, make an empty
default-command option mean a login shell, and fork it with a - in argv[0]
which is the method used by login(1).

Also fix the automatic-rename code to handle this correctly and to strip a
leading - if present.
This commit is contained in:
Nicholas Marriott
2009-07-08 05:26:45 +00:00
parent b4efd1ca89
commit 084d07f4eb
5 changed files with 53 additions and 18 deletions

8
tmux.1
View File

@ -1070,8 +1070,12 @@ maintain this maximum length.
Set the command used for new windows (if not specified when the window is
created) to
.Ar command .
The default is
.Dq exec $SHELL -l .
The default is an empty string, which instructs
.Nm
to create a login shell using the
.Ev SHELL
environment variable or, if it is unset, the user's shell returned by
.Xr getpwuid 3 .
.It Ic default-path Ar path
Set the default working directory for processes created from keys, or
interactively from the prompt.