screen/screen-man-loginshell.diff

134 lines
5.6 KiB
Diff

--- screen-4.0.2/doc/screen.texinfo.orig 2003-12-05 14:51:46.000000000 +0100
+++ screen-4.0.2/doc/screen.texinfo 2008-05-14 15:29:52.252937000 +0200
@@ -140,7 +140,8 @@
When a program terminates, @code{screen} (per default) kills the window
that contained it. If this window was in the foreground, the display
switches to the previously displayed window; if none are left,
-@code{screen} exits.
+@code{screen} exits. Shells usually distinguish between running as login-shell or sub-shell.
+Screen runs them as sub-shells, unless told otherwise (See @code{shell} .screenrc command).
Everything you type is sent to the program running in the current
window. The only exception to this is the one keystroke that is used to
@@ -151,7 +152,8 @@
customized to be anything you like, though they are always two
characters in length.
-@code{Screen} does not understand the prefix @kbd{C-} to mean control.
+@code{Screen} does not understand the prefix @kbd{C-} to mean control, although
+this notation is used in this manual for readability.
Please use the caret notation (@kbd{^A} instead of @kbd{C-a}) as arguments
to e.g. the @code{escape} command or the @code{-e} option. @code{Screen}
will also print out control characters in caret notation.
@@ -386,7 +388,7 @@
Set the default shell to be @var{program}. By default, @code{screen}
uses the value of the environment variable @code{$SHELL}, or
@file{/bin/sh} if it is not defined. This option is equivalent to the
-@code{shell} command (@pxref{Shell}).
+@code{shell} command (@pxref{Shell}). See also there.
@item -S @var{sessionname}
Set the name of the new session to @var{sessionname}. This option can
@@ -1261,10 +1263,12 @@
Set the command to be used to create a new shell. This overrides the
value of the environment variable @code{$SHELL}. This is useful if
you'd like to run a tty-enhancer which is expecting to execute the
-program specified in @code{$SHELL}. If the command begins with
-a @samp{-} character, the shell will be started as a login-shell.
+program specified in @code{$SHELL}.
+If the command begins with a @samp{-} character, the shell will be started as a
+login-shell. Typical shells do only minimal initialization when not started as a login-shell.
+E.g. Bash will not read your @file{~/.bashrc} unless it is a login-shell.
-@code{defshell} is currently a synonym to the @code{shell} command.
+@code{defshell} is currently a synonym to the @code{shell} .screenrc command.
@end deffn
@deffn Command shelltitle title
@@ -1544,7 +1548,7 @@
Mainly the same as @code{detach}, but also sends a HANGUP signal
to the parent process of @code{screen}.@*
@emph{Caution}: This will result in a
-logout if @code{screen} was started from your login shell.
+logout if @code{screen} was started from your login-shell.
@end deffn
@deffn Command pow_detach_msg [message]
@@ -4932,6 +4936,7 @@
@item SHELL
Default shell program for opening windows (default @file{/bin/sh}).
+See also @code{shell} .screenrc command.
@item STY
Alternate socket name. If @code{screen} is invoked, and the environment variable
--- screen-4.0.2/doc/screen.1.orig 2003-12-05 14:51:57.000000000 +0100
+++ screen-4.0.2/doc/screen.1 2008-05-14 15:21:06.956755000 +0200
@@ -59,7 +59,8 @@
If this window was in the foreground, the display switches to the previous
window; if none are left,
.I screen
-exits.
+exits. Shells usually distinguish between running as login-shell or sub-shell.
+Screen runs them as sub-shells, unless told otherwise (See \*Qshell\*U .screenrc command).
.PP
Everything you type is sent to the program running in the current window.
The only exception to this is the one keystroke that is used to initiate
@@ -70,7 +71,8 @@
to be anything you like, though they are always two characters in length.
.PP
.I Screen
-does not understand the prefix \*QC-\*U to mean control.
+does not understand the prefix \*QC-\*U to mean control, although this notation is
+used in this manual for readability.
Please use the caret notation (\*Q^A\*U instead of \*QC-a\*U) as arguments
to e.g. the
.I escape
@@ -330,6 +332,7 @@
sets the default shell to the program specified, instead of the value
in the environment variable $SHELL (or \*Q/bin/sh\*U if not defined).
This can also be defined through the \*Qshell\*U .screenrc command.
+See also there.
.TP 5
.BI "\-S " sessionname
When creating a new session, this option can be used to specify a
@@ -1557,7 +1560,7 @@
.ne 3
.BI "defshell " command
.PP
-Synonym to the \fBshell\fP command. See there.
+Synonym to the \fBshell\fP .screenrc command. See there.
.sp
.ne 3
.BR "defsilence on" | off
@@ -2381,7 +2384,7 @@
.IR screen .
CAUTION: This will result in a logout, when
.I screen
-was started from your login shell.
+was started from your login-shell.
.sp
.ne 3
.B pow_detach_msg
@@ -2625,8 +2628,10 @@
Set the command to be used to create a new shell.
This overrides the value of the environment variable $SHELL.
This is useful if you'd like to run a tty-enhancer which is expecting to
-execute the program specified in $SHELL. If the command begins with
-a '-' character, the shell will be started as a login-shell.
+execute the program specified in $SHELL.
+If the command begins with a '-' character, the shell will be started as a
+login-shell. Typical shells do only minimal initialization when not started as a login-shell.
+E.g. Bash will not read your \*Q~/.bashrc\*U unless it is a login-shell.
.sp
.ne 3
.B "shelltitle \fItitle\fP"
@@ -4397,6 +4402,7 @@
Alternate user screenrc file.
.IP SHELL
Default shell program for opening windows (default \*Q/bin/sh\*U).
+See also \*Qshell\*U .screenrc command.
.IP STY
Alternate socket name.
.IP SYSSCREENRC