Penguin
Annotated edit history of screen(1) version 9, including all changes. View license author blame.
Rev Author # Line
9 AristotlePagaltzis 1 !!!SCREEN
7 WikiFaq 2
3 ----
4 !!NAME
5
6
7 screen - screen manager with VT100/ANSI terminal emulation
8 !!SYNOPSIS
9
10
11 __screen__ [[ __-__''options'' ] [[ ''cmd'' [[''args'' ] ]
12 __screen -r__ [[[[''pid''.]''tty''[[__.__''host'']]
13 __screen -r__ ''sessionowner''/[[[[''pid''.]''tty''[[.''host'']]
14
15 !!DESCRIPTION
16
17 ''Screen'' is a full-screen window manager that
18 multiplexes a physical terminal between several processes
19 (typically interactive shells). Each virtual terminal
20 provides the functions of a DEC VT100 terminal and, in
21 addition, several control functions from the ISO 6429 (ECMA
22 48, ANSI X3.64) and ISO 2022 standards (e.g. insert/delete
23 line and support for multiple character sets). There is a
24 scrollback history buffer for each virtual terminal and a
25 copy-and-paste mechanism that allows moving text regions
26 between windows.
27
28
29 When ''screen'' is called, it creates a single window
30 with a shell in it (or the specified command) and then gets
31 out of your way so that you can use the program as you
32 normally would. Then, at any time, you can create new
33 (full-screen) windows with other programs in them (including
34 more shells), kill existing windows, view a list of windows,
35 turn output logging on and off, copy-and-paste text between
36 windows, view the scrollback history, switch between windows
37 in whatever manner you wish, etc. All windows run their
38 programs completely independent of each other. Programs
39 continue to run when their window is currently not visible
40 and even when the whole ''screen'' session is detached
41 from the user's terminal. When a program terminates,
42 ''screen'' (per default) kills the window that contained
43 it. If this window was in the foreground, the display
44 switches to the previous window; if none are left,
45 ''screen'' exits.
46
47
48 Everything you type is sent to the program running in the
49 current window. The only exception to this is the one
50 keystroke that is used to initiate a command to the window
51 manager. By default, each command begins with a control-a
52 (abbreviated C-a from now on), and is followed by one other
53 keystroke. The command character and all the key bindings
54 can be fully customized to be anything you like, though they
55 are always two characters in length.
56
57
58 ''Screen'' does not understand the prefix "C-" to mean
59 control. Please use the caret notation ("^A" instead of
60 "C-a") as arguments to e.g. the "escape" command or
61 the "-e" option. ''Screen'' will also print out
62 control characters in caret notation.
63
64
65 The standard way to create a new window is to type "C-a
66 c". This creates a new window running a shell and switches
67 to that window immediately, regardless of the state of the
68 process running in the current window. Similarly, you can
69 create a new window with a custom command in it by first
70 binding the command to a keystroke (in your .screenrc file
71 or at the "C-a :" command line) and then using it just
72 like the "C-a c" command. In addition, new windows can be
73 created by running a command like:
74
75 ;:screen emacs prog.c
76
77
78 from a shell prompt within a previously created window. This
79 will not run another copy of ''screen'', but will instead
80 supply the command name and its arguments to the window
81 manager (specified in the $STY environment variable) who
82 will use it to create the new window. The above example
83 would start the emacs editor (editing prog.c) and switch to
84 its window.
85
86
87 If "/var/run/utmp" is writable by ''screen'', an
88 appropriate record will be written to this file for each
89 window, and removed when the window is terminated. This is
90 useful for working with "talk", "script", "shutdown",
91 "rsend", "sccs" and other similar programs that use the
92 utmp file to determine who you are. As long as ''screen''
93 is active on your terminal, the terminal's own record is
94 removed from the utmp file. See also "C-a L".
95 !!GETTING STARTED
96
97
98 Before you begin to use ''screen'' you'll need to make
99 sure you have correctly selected your terminal type, just as
100 you would for any other termcap/terminfo program. (You can
101 do this by using ''tset'' for example.)
102
103
104 If you're impatient and want to get started without doing a
105 lot more reading, you should remember this one command:
106 "C-a ?". Typing these two characters will display a list
107 of the available ''screen'' commands and their bindings.
108 Each keystroke is discussed in the section "DEFAULT KEY
109 BINDINGS". The manual section "CUSTOMIZATION" deals with
110 the contents of your .screenrc.
111
112
113 If your terminal is a "true" auto-margin terminal (it
114 doesn't allow the last position on the screen to be updated
115 without scrolling the screen) consider to use a version of
116 your terminal's termcap that has automatic margins turned
117 ''off''. This will ensure an accurate and optimal update
118 of the screen in all circumstances. Most terminals nowadays
119 have "magic" margins (automatic margins plus usable last
120 column). This is the VT100 style type and perfectly suited
121 for ''screen''. If all you've got is a "true"
122 auto-margin terminal ''screen'' will be content to use
123 it, but updating a character put into the last position on
124 the screen may not be possible until the screen scrolls or
125 the character is moved into a safe position in some other
126 way. This delay can be shortened by using a terminal with
127 insert-character capability.
128
129
130 !!COMMAND-LINE OPTIONS
131
132
133 Screen has the following command-line options:
134
135
136 ;__-a__: include ''all'' capabilities (with some minor exceptions) in each window's termcap, even if ''screen'' must redraw parts of the display in order to implement a function.
137
138 ;__-A__: Adapt the sizes of all windows to the size of the current terminal. By default, ''screen'' tries to restore its old window sizes when attaching to resizable terminals (those with "WS" in its description, e.g. suncmd or some xterm).
139
140 ;__-c__ ''file'': override the default configuration file from "$HOME/.screenrc" to ''file''.
141
142
143 ;__-d__|__-D__ [[''pid.tty.host'']: does not start ''screen'', but detaches the elsewhere running ''screen'' session. It has the same effect as typing "C-a d" from ''screen'''s controlling terminal. __-D__ is the equivalent to the power detach key. If no session can be detached, this option is ignored. In combination with the __-r__/__-R__ option more powerful effects can be achieved:
144
145
146 ;__-d -r__: Reattach a session and if necessary detach it first.
147
148 ;__-d -R__: Reattach a session and if necessary detach or even create it first.
149
150 ;__-d -RR__: Reattach a session and if necessary detach or create it. Use the first session if more than one session is available.
151
152 ;__-D -r__: Reattach a session. If necessary detach and logout remotely first.
153
154 :__-D -R__: Attach here and now. In detail this means: If a session is running, then reattach. If necessary detach and logout remotely first. If it was not running create it and notify the user. This is the author's favorite.
155
156 ;__-D -RR__: Attach here and now. Whatever that means, just do it. Note: It is always a good idea to check the status of your sessions by means of ``screen -list''.
157
158 ;__-e__ ''xy'': specifies the command character to be ''x'' and the character generating a literal command character to ''y'' (when typed after the command character). The default is ``C-a'' and `a', which can be specified as ``-e^Aa''. When creating a ''screen'' session, this option sets the default command character. In a multiuser session all users added will start off with this command character. But when attaching to an already running session, this option changes only the command character of the attaching user. This option is equivalent to either the commands ``defescape'' or ``escape'' respectively.
159
160 ;__-f__, __-fn__, and __-fa__: turns flow-control on, off, or "automatic switching mode". This can also be defined through the "defflow" .screenrc command.
161
162 ;__-h__ ''num'': Specifies the history scrollback buffer to be ''num'' lines high.
163
164 ;__-i__: will cause the interrupt key (usually C-c) to interrupt the display immediately when flow-control is on. See the "defflow" .screenrc command for details. The use of this option is discouraged.
165
166 ;__-l__ and __-ln__: turns login mode on or off (for /var/run/utmp updating). This can also be defined through the ``deflogin'' .screenrc command.
167
168 ;__-ls__ and __-list__: does not start ''screen'', but prints a list of ''pid.tty.host'' strings identifying your ''screen'' sessions. Sessions marked `detached' can be resumed with "screen -r". Those marked `attached' are running and have a controlling terminal. If the session runs in multiuser mode, it is marked `multi'. Sessions marked as `unreachable' either live on a different host or are `dead'. An unreachable session is considered dead, when its name matches either the name of the local host, or the specified parameter, if any. See the __-r__ flag for a description how to construct matches. Sessions marked as `dead' should be thoroughly checked and removed. Ask your system administrator if you are not sure. Remove sessions with the __-wipe__ option.
169
170 ;__-L__: tells ''screen'' your auto-margin terminal has a writable last-position on the screen. This can also be set in your .screenrc by specifying `LP' in a ``termcap'' command.
171
172 ;__-m__: causes ''screen'' to ignore the $STY environment variable. With ``screen -m'' creation of a new session is enforced, regardless whether ''screen'' is called from within another ''screen'' session or not. This flag has a special meaning in connection with the `-d' option:
173
174 ;__-d -m__: Start ''screen'' in "detached" mode. This creates a new session but doesn't attach to it. This is useful for system startup scripts.
175
176 ;__-D -m__: This also starts screen in ``detached'' mode, but doesn't fork a new process. The command exits if the session terminates.
177
178 ;__-O__: selects a more optimal output mode for your terminal rather than true VT100 emulation (only affects auto-margin terminals without `LP'). This can also be set in your .screenrc by specifying `OP' in a "termcap" command.
179
180 ;__-q__: Suppress printing of error messages. In combination with ``-ls'' the exit value is as follows: 9 indicates a directory without sessions. 10 indicates a directory with running but not attachable sessions. 11 (or more) indicates 1 (or more) usable sessions. In combination with ``-r'' the exit value is as follows: 10 indicates that there is no session to resume. 12 (or more) indicates that there are 2 (or more) sessions to resume and you should specify which one to choose. In all other cases "-q" has no effect.
181
182 ;__-r__ [[''pid.tty.host'']:
183
184 ;__-r__ ''sessionowner/[[pid.tty.host'']: resumes a detached ''screen'' session. No other options (except combinations with __-d__/__-D__) may be specified, though an optional prefix of [[''pid.'']''tty.host'' may be needed to distinguish between multiple detached ''screen'' sessions. The second form is used to connect to another user's screen session which runs in multiuser mode. This indicates that screen should look for sessions in another user's directory. This requires setuid-root.
185
186 ;__-R__: attempts to resume the first detached ''screen'' session it finds. If successful, all other command-line options are ignored. If no detached session exists, starts a new session using the specified options, just as if __-R__ had not been specified. The option is set by default if ''screen'' is run as a login-shell (actually screen uses "-xRR" in that case). For combinations with the __-d__/__-D__ option see there.
187
188 ;__-s__: sets the default shell to the program specified, instead of the value in the environment variable $SHELL (or "/bin/sh" if not defined). This can also be defined through the "shell" .screenrc command.
189
190 ;__-S__ ''sessionname'': When creating a new session, this option can be used to specify a meaningful name for the session. This name identifies the session for "screen -list" and "screen -r" actions. It substitutes the default [[''tty.host''] suffix.
191
192 ;__-t__ ''name'': sets the title (a.k.a.) for the default shell or specified program. See also the "shelltitle" .screenrc command.
193
194 ;__-U__: Run screen in UTF-8 mode. This option tells screen that your terminal sends and understands UTF-8 encoded characters. It also sets the default encoding for new windows to `utf8'.
195
196 ;__-v__: Print version number.
197
198 ;__-wipe__ [[''match'']: does the same as "screen -ls", but removes destroyed sessions instead of marking them as `dead'. An unreachable session is considered dead, when its name matches either the name of the local host, or the explicitly given parameter, if any. See the __-r__ flag for a description how to construct matches.
199
200 ;__-x__: Attach to a not detached ''screen'' session. (Multi display mode).
201
202 ;__-X__: Send the specified command to a running screen session. You can use the __-d__ or __-r__ option to tell screen to look only for attached or detached screen sessions. Note that this command doesn't work if the session is password protected.
203
204 !!DEFAULT KEY BINDINGS
205
206
207 As mentioned, each ''screen'' command consists of a
208 "C-a" followed by one other character. For your
209 convenience, all commands that are bound to lower-case
210 letters are also bound to their control character
211 counterparts (with the exception of "C-a a"; see below),
212 thus, "C-a c" as well as "C-a C-c" can be used to create
213 a window. See section "CUSTOMIZATION" for a description of
214 the command.
215
216
217 The following table shows the default key
218 bindings:
219
220
221 __C-a '__ (select)
222
223
224 Prompt for a window name or number to switch
225 to.
226
227
228 __C-a __ (windowlist -b)
229
230
231 Present a list of all windows for selection.
232
233
234 __C-a 0__ (select 0)
235
236
237 __...__ ...
238
239
240 __C-a 9__ (select 9)
241
242
243 __C-a -__ (select -)
244
245
246 Switch to window number 0 - 9, or to the blank
247 window.
248
249
250 __C-a tab__ (focus)
251
252
253 Switch the input focus to the next region.
254
255
256 __C-a C-a__ (other)
257
258
259 Toggle to the window displayed previously. Note that this
260 binding defaults to the command character typed twice,
261 unless overridden. For instance, if you use the option
262 ``__-e]x__'', this command becomes ``]]''.
263
264
265 __C-a a__ (meta) Send the command character (C-a) to
266 window. See ''escape'' command.
267
268
269 __C-a A__ (title)
270
271
272 Allow the user to enter a name for the current
273 window.
274
275
276 __C-a b__
277
278
279 __C-a C-b__ (break)
280
281
282 Send a break to window.
283
284
285 __C-a B__ (pow_break)
286
287
288 Reopen the terminal line and send a break.
289
290
291 __C-a c__
292
293
294 __C-a C-c__ (screen)
295
296
297 Create a new window with a shell and switch to that
298 window.
299
300
301 __C-a C__ (clear)
302
303
304 Clear the screen.
305
306
307 __C-a d__
308
309
310 __C-a C-d__ (detach)
311
312
313 Detach ''screen'' from this terminal.
314
315
316 __C-a D D__ (pow_detach)
317
318
319 Detach and logout.
320
321
322 __C-a f__
323
324
325 __C-a C-f__ (flow) Toggle flow ''on'', ''off'' or
326 ''auto''.
327
328
329 __C-a F__ (fit) Resize the window to the current region
330 size.
331
332
333 __C-a C-g__ (vbell)
334
335
336 Toggles ''screen's'' visual bell mode.
337
338
339 __C-a h__ (hardcopy)
340
341
342 Write a hardcopy of the current window to the file
343 ``hardcopy.''n''''.
344
345
346 __C-a H__ (log) Begins/ends logging of the current window
347 to the file ``screenlog.''n''''.
348
349
350 __C-a i__
351
352
353 __C-a C-i__ (info) Show info about this
354 window.
355
356
357 __C-a k__
358
359
360 __C-a C-k__ (kill) Destroy current window.
361
362
363 __C-a l__
364
365
366 __C-a C-l__ (redisplay)
367
368
369 Fully refresh current window.
370
371
372 __C-a L__ (login)
373
374
375 Toggle this windows login slot. Available only if
376 ''screen'' is configured to update the utmp
377 database.
378
379
380 __C-a m__
381
382
383 __C-a C-m__ (lastmsg)
384
385
386 Repeat the last message displayed in the message
387 line.
388
389
390 __C-a M__ (monitor)
391
392
393 Toggles monitoring of the current window.
394
395
396 __C-a space__
397
398
399 __C-a n__
400
401
402 __C-a C-n__ (next) Switch to the next
403 window.
404
405
406 __C-a N__ (number)
407
408
409 Show the number (and title) of the current
410 window.
411
412
413 __C-a backspace__
414
415
416 __C-a h__
417
418
419 __C-a p__
420
421
422 __C-a C-p__ (prev) Switch to the previous window
423 (opposite of __C-a n__).
424
425
426 __C-a q__
427
428
429 __C-a C-q__ (xon) Send a control-q to the current
430 window.
431
432
433 __C-a Q__ (only) Delete all regions but the current
434 one.
435
436
437 __C-a r__
438
439
440 __C-a C-r__ (wrap) Toggle the current window's line-wrap
441 setting (turn the current window's automatic margins on and
442 off).
443
444
445 __C-a s__
446
447
448 __C-a C-s__ (xoff) Send a control-s to the current
449 window.
450
451
452 __C-a S__ (split)
453
454
455 Split the current region into two new ones.
456
457
458 __C-a t__
459
460
461 __C-a C-t__ (time) Show system information.
462
463
464 __C-a v__ (version)
465
466
467 Display the version and compilation date.
468
469
470 __C-a C-v__ (digraph)
471
472
473 Enter digraph.
474
475
476 __C-a w__
477
478
479 __C-a C-w__ (windows)
480
481
482 Show a list of window.
483
484
485 __C-a W__ (width)
486
487
488 Toggle 80/132 columns.
489
490
491 __C-a x__
492
493
494 __C-a C-x__ (lockscreen)
495
496
497 Lock this terminal.
498
499
500 __C-a X__ (remove)
501
502
503 Kill the current region.
504
505
506 __C-a z__
507
508
509 __C-a C-z__ (suspend)
510
511
512 Suspend ''screen''. Your system must support BSD-style
513 job-control.
514
515
516 __C-a Z__ (reset)
517
518
519 Reset the virtual terminal to its ``power-on''
520 values.
521
522
523 __C-a .__ (dumptermcap)
524
525
526 Write out a ``.termcap'' file.
527
528
529 __C-a ?__ (help) Show key bindings.
530
531
532 __C-a C-\__ (quit) Kill all windows and terminate
533 ''screen''.
534
535
536 __C-a :__ (colon)
537
538
539 Enter command line mode.
540
541
542 __C-a [[__
543
544
545 __C-a C-[[__
546
547
548 __C-a esc__ (copy) Enter copy/scrollback
549 mode.
550
551
552 __C-a ]__ (paste .)
553
554
555 Write the contents of the paste buffer to the stdin queue of
556 the current window.
557
558
559 __C-a {__
560
561
562 __C-a }__ (history)
563
564
565 Copy and paste a previous (command) line.
566
567
568 __C-a __ (writebuf)
569
570
571 Write paste buffer to a file.
572
573
574 __C-a __ (readbuf)
575
576
577 Reads the screen-exchange file into the paste
578 buffer.
579
580
581 __C-a =__ (removebuf)
582
583
584 Removes the file used by __C-a __ and __C-a
585 __.
586
587
588 __C-a ,__ (license)
589
590
591 Shows where ''screen'' comes from, where it went to and
592 why you can use it.
593
594
595 __C-a ___ (silence)
596
597
598 Start/stop monitoring the current window for
599 inactivity.
600
601
602 __C-a *__ (displays)
603
604
605 Show a listing of all currently attached
606 displays.
607 !!CUSTOMIZATION
608
609
610 The ``socket directory'' defaults either to $HOME/.screen or
611 simply to /tmp/screens or preferably to /var/run/screen
612 chosen at compile-time. If ''screen'' is installed
613 setuid-root, then the administrator should compile
614 ''screen'' with an adequate (not NFS mounted) socket
615 directory. If ''screen'' is not running setuid-root, the
616 user can specify any mode 700 directory in the environment
617 variable $SCREENDIR.
618
619
620 When ''screen'' is invoked, it executes initialization
621 commands from the files ``/etc/screenrc'' and ``.screenrc''
622 in the user's home directory. These are the ``programmer's
623 defaults'' that can be overridden in the following ways: for
624 the global screenrc file ''screen'' searches for the
625 environment variable $SYSSCREENRC (this override feature may
626 be disabled at compile-time). The user specific screenrc
627 file is searched in $SCREENRC, then $HOME/.screenrc. The
628 command line option __-c__ takes precedence over the
629 above user screenrc files.
630
631
632 Commands in these files are used to set options, bind
633 functions to keys, and to automatically establish one or
634 more windows at the beginning of your ''screen'' session.
635 Commands are listed one per line, with empty lines being
636 ignored. A command's arguments are separated by tabs or
637 spaces, and may be surrounded by single or double quotes. A
638 `#' turns the rest of the line into a comment, except in
639 quotes. Unintelligible lines are warned about and ignored.
640 Commands may contain references to environment variables.
641 The syntax is the shell-like
642 ''screen'' versions, as now the
643 '$'-character has to be protected with '' if no variable
644 substitution shall be performed. A string in single-quotes
645 is also protected from variable substitution.
646
647
648 Two configuration files are shipped as examples with your
649 screen distribution: ``etc/screenrc'' and
650 ``etc/etcscreenrc''. They contain a number of useful
651 examples for various commands.
652
653
654 Customization can also be done 'on-line'. To enter the
655 command mode type `C-a :'. Note that commands starting with
656 ``def'' change default values, while others change current
657 settings.
658
659
660 The following commands are available:
661
662
663 __acladd__ ''usernames'' [[''crypted-pw'']__
664 addacl__ ''usernames''
665
666
667 Enable users to fully access this screen session.
668 ''Usernames'' can be one user or a comma separated list
669 of users. This command enables to attach to the
670 ''screen'' session and performs the equivalent of `aclchg
671 ''usernames'' +rwx
672 ''
673
674
675 __aclchg__ ''usernames permbits list''__
676 chacl__ ''usernames permbits list''
677
678
679 Change permissions for a comma separated list of users.
680 Permission bits are represented as `r', `w' and `x'.
681 Prefixing `+' grants the permission, `-' removes it. The
682 third parameter is a comma separated list of commands and/or
683 windows (specified either by number or title). The special
684 list `#' refers to all windows, `?' to all commands. if
685 ''usernames'' consists of a single `*', all known users
686 are affected. A command can be executed when the user has
687 the `x' bit for it. The user can type input to a window when
688 he has its `w' bit set and no other user obtains a writelock
689 for this window. Other bits are currently ignored. To
690 withdraw the writelock from another user in window 2:
691 `aclchg ''username'' -w+w 2'. To allow read-only access
692 to the session: `aclchg ''username'' -w
693 ''screen'' he can
694 attach to the session and (per default) has full permissions
695 for all command and windows. Execution permission for the
696 acl commands, `at' and others should also be removed or the
697 user may be able to regain write permission. Rights of the
698 special username __nobody__ cannot be changed (see the
699 ``su'' command). `Chacl' is a synonym to `aclchg'. Multi
700 user mode only.
701
702
703 __acldel__ ''username''
704
705
706 Remove a user from ''screen'''s access control list. If
707 currently attached, all the user's displays are detached
708 from the session. He cannot attach again. Multi user mode
709 only.
710
711
712 __aclgrp__ ''username''
713 [[''groupname'']
714
715
716 Creates groups of users that share common access rights. The
717 name of the group is the username of the group leader. Each
718 member of the group inherits the permissions that are
719 granted to the group leader. That means, if a user fails an
720 access check, another check is made for the group leader. A
721 user is removed from all groups the special value ``none''
722 is used for ''groupname''. If the second parameter is
723 omitted all groups the user is in are listed.
724
725
726 __aclumask__ [[[[''users'']''+bits''
727 |[[''users'']''-bits'' .... ]__
728 umask__ [[[[''users'']''+bits''
729 |[[''users'']''-bits'' .... ]
730
731
732 This specifies the access other users have to windows that
733 will be created by the caller of the command. ''Users''
734 may be no, one or a comma separated list of known usernames.
735 If no users are specified, a list of all currently known
736 users is assumed. ''Bits'' is any combination of access
737 control bits allowed defined with the ``aclchg'' command.
738 The special username ``?'' predefines the access that not
739 yet known users will be granted to any window initially. The
740 special username ``??'' predefines the access that not yet
741 known users are granted to any command. Rights of the
742 special username __nobody__ cannot be changed (see the
743 ``su'' command). `Umask' is a synonym to
744 `aclumask'.
745
746
747 __activity__ ''message''
748
749
750 When any activity occurs in a background window that is
751 being monitored, ''screen'' displays a notification in
752 the message line. The notification message can be re-defined
753 by means of the ``activity'' command. Each occurrence of `%'
754 in ''message'' is replaced by the number of the window in
755 which activity has occurred, and each occurrence of `^G' is
756 replaced by the definition for bell in your termcap (usually
757 an audible bell). The default message is
758
759
760 'Activity in window %n'
761
762
763 Note that monitoring is off for all windows by default, but
764 can be altered by use of the ``monitor'' command (C-a
765 M).
766
767
768 __allpartial on__|__off__
769
770
771 If set to on, only the current cursor line is refreshed on
772 window change. This affects all windows and is useful for
773 slow terminal lines. The previous setting of full/partial
774 refresh for each window is restored with ``allpartial off''.
775 This is a global flag that immediately takes effect on all
776 windows overriding the ``partial'' settings. It does not
777 change the default redraw behavior of newly created
778 windows.
779
780
781 __at__ [[''identifier''][[__#__|__*__|__%__]
782 ''command'' [[''args'' ... ]
783
784
785 Execute a command at other displays or windows as if it had
786 been entered there. ``At'' changes the context (the `current
787 window' or `current display' setting) of the command. If the
788 first parameter describes a non-unique context, the command
789 will be executed multiple times. If the first parameter is
790 of the form `''identifier''*' then identifier is matched
791 against user names. The command is executed once for each
792 display of the selected user(s). If the first parameter is
793 of the form `''identifier''%' identifier is matched
794 against displays. Displays are named after the ttys they
795 attach. The prefix `/dev/' or `/dev/tty' may be omitted from
796 the identifier. If ''identifier'' has a `#' or nothing
797 appended it is matched against window numbers and titles.
798 Omitting an identifier in front of the `#', `*' or
799 `%'-character selects all users, displays or windows because
800 a prefix-match is performed. Note that on the affected
801 display(s) a short message will describe what happened.
802 Permission is checked for initiator of the ``at'' command,
803 not for the owners of the affected display(s). Note that the
804 '#' character works as a comment introducer when it is
805 preceded by whitespace. This can be escaped by prefixing a
806 ''. Permission is checked for the initiator of the ``at''
807 command, not for the owners of the affected display(s).
808 Caveat: When matching against windows, the command is
809 executed at least once per window. Commands that change the
810 internal arrangement of windows (like ``other'') may be
811 called again. In shared windows the command will be repeated
812 for each attached display. Beware, when issuing toggle
813 commands like ``login''! Some commands (e.g. ``stuff'',
814 ``process'' or ``paste'') require that a display is
815 associated with the target windows. These commands may not
816 work correctly under ``at'' looping over
817 windows.
818
819
820 __attrcolor__ ''attrib''
821 [[''attribute/color-modifier'']
822
823
824 This command can be used to highlight attributes by changing
825 the color of the text. If the attribute ''attrib'' is in
826 use, the specified attribute/color modifier is also applied.
827 If no modifier is given, the current one is deleted. See the
828 ``STRING ESCAPES'' chapter for the syntax of the modifier.
829 Screen understands two pseudo-attributes, ``i'' stands for
830 high-intensity foreground color and ``I'' for high-intensity
831 background color.
832
833
834 Examples:
835
836
837 attrcolor b
838
839
840 Change the color to bright red if bold text is to be
841 printed.
842
843
844 attrcolor u
845
846
847 Use blue text instead of underline.
848
849
850 attrcolor b
851
852
853 Use bright colors for bold text. Most terminal emulators do
854 this already.
855
856
857 attrcolor i
858
859
860 Make bright colored text also bold.
861
862
863 __autodetach on__|__off__
864
865
866 Sets whether ''screen'' will automatically detach upon
867 hangup, which saves all your running programs until they are
868 resumed with a __screen -r__ command. When turned off, a
869 hangup signal will terminate ''screen'' and all the
870 processes it contains. Autodetach is on by
871 default.
872
873
874 __autonuke on__|__off__
875
876
877 Sets whether a clear screen sequence should nuke all the
878 output that has not been written to the terminal. See also
879 ``obuflimit''.
880
881
882 __bce__ [[__on__|__off__]
883
884
885 Change background-color-erase setting. If ``bce'' is set to
886 on, all characters cleared by an erase/insert/scroll/clear
887 operation will be displayed in the current background color.
888 Otherwise the default background color is used.
889
890
891 __bell_msg__ [[''message'']
892
893
894 When a bell character is sent to a background window,
895 ''screen'' displays a notification in the message line.
896 The notification message can be re-defined by this command.
897 Each occurrence of `%' in ''message'' is replaced by the
898 number of the window to which a bell has been sent, and each
899 occurrence of `^G' is replaced by the definition for bell in
900 your termcap (usually an audible bell). The default message
901 is
902
903
904 'Bell in window %n'
905
906
907 An empty message can be supplied to the ``bell_msg'' command
908 to suppress output of a message line (bell_msg
909
910
911 __bind__ [[__-c__ ''class''] ''key''
912 [[''command'' [[''args'']]
913
914
915 Bind a command to a key. By default, most of the commands
916 provided by ''screen'' are bound to one or more keys as
917 indicated in the ``DEFAULT KEY BINDINGS'' section, e.g. the
918 command to create a new window is bound to ``C-c'' and
919 ``c''. The ``bind'' command can be used to redefine the key
920 bindings and to define new bindings. The ''key'' argument
921 is either a single character, a two-character sequence of
922 the form ``^x'' (meaning ``C-x''), a backslash followed by
923 an octal number (specifying the ASCII code of the
924 character), or a backslash followed by a second character,
925 such as ``^'' or ``\''. The argument can also be quoted, if
926 you like. If no further argument is given, any previously
927 established binding for this key is removed. The
928 ''command'' argument can be any command listed in this
929 section.
930
931
932 If a command class is specified via the ``-c'' option, the
933 key is bound for the specified class. Use the ``command''
934 command to activate a class. Command classes can be used to
935 create multiple command keys or multi-character
936 bindings.
937
938
939 Some examples:
940
941
942 bind ' ' windows
943 bind ^k
944 bind k
945 bind K kill
946 bind ^f screen telnet foobar
947 bind 033 screen -ln -t root -h 1000 9 su
948 would bind the space key to the command that displays a list of windows (so that the command usually invoked by ``C-a C-w'' would also be available as ``C-a space''). The next three lines remove the default kill binding from ``C-a C-k'' and ``C-a k''. ``C-a K'' is then bound to the kill command. Then it binds ``C-f'' to the command ``create a window with a TELNET connection to foobar'', and bind ``escape'' to the command that creates an non-login window with a.k.a. ``root'' in slot #9, with a superuser shell and a scrollback buffer of 1000 lines.
949
950
951 bind -c demo1 0 select 10
952 bind -c demo1 1 select 11
953 bind -c demo1 2 select 12
954 bindkey
955 makes ``C-b 0'' select window 10, ``C-b 1'' window 11, etc.
956
957
958 bind -c demo2 0 select 10
959 bind -c demo2 1 select 11
960 bind -c demo2 2 select 12
961 bind - command -c demo2
962 makes ``C-a - 0'' select window 10, ``C-a - 1'' window 11, etc.
963
964
965 __bindkey__ [[__-d__] [[__-m__] [[__-a__]
966 [[[[__-k__|__-t__] ''string'' [[''cmd
967 args'']]
968
969
970 This command manages screen's input translation tables.
971 Every entry in one of the tables tells screen how to react
972 if a certain sequence of characters is encountered. There
973 are three tables: one that should contain actions programmed
974 by the user, one for the default actions used for terminal
975 emulation and one for screen's copy mode to do cursor
976 movement. See section ``INPUT TRANSLATION'' for a list of
977 default key bindings.
978 If the __-d__ option is given, bindkey modifies the
979 default table, __-m__ changes the copy mode table and
980 with neither option the user table is selected. The argument
981 ''string'' is the sequence of characters to which an
982 action is bound. This can either be a fixed string or a
983 termcap keyboard capability name (selectable with the
984 __-k__ option).
985 Some keys on a VT100 terminal can send a different string if
986 application mode is turned on (e.g the cursor keys). Such
987 keys have two entries in the translation table. You can
988 select the application mode entry by specifying the
989 __-a__ option.
990 The __-t__ option tells screen not to do inter-character
991 timing. One cannot turn off the timing if a termcap
992 capability is used.''
993 Cmd'' can be any of screen's commands with an arbitrary
994 number of ''args''. If ''cmd'' is omitted the
995 key-binding is removed from the table.
996 Here are some examples of keyboard bindings:
997
998
999 bindkey -d
1000 Show all of the default key bindings. The application mode entries are marked with [[A].
1001
1002
1003 bindkey -k k1 select 1
1004 Make the
1005
1006
1007 bindkey -t foo stuff barfoo
1008 Make
1009
1010
1011 bindkey
1012 This key-binding makes ``^T'' an escape character for key-bindings. If you did the above ``stuff barfoo'' binding, you can enter the word ``foo'' by typing ``^Tfoo''. If you want to insert a ``^T'' you have to press the key twice (i.e. escape the escape binding).
1013
1014
1015 bindkey -k F1 command
1016 Make the F11 (not F1!) key an alternative screen escape (besides ^A).
1017
1018
1019 __break__ [[''duration'']
1020
1021
1022 Send a break signal for ''duration''*0.25 seconds to this
1023 window. For non-Posix systems the time interval may be
1024 rounded up to full seconds. Most useful if a character
1025 device is attached to the window rather than a shell process
1026 (See also chapter ``WINDOW TYPES''). The maximum duration of
1027 a break signal is limited to 15 seconds.
1028
1029
1030 __breaktype__ [[''tcsendbreak''|''TIOCSBRK''
1031 |''TCSBRK'']
1032
1033
1034 Choose one of the available methods of generating a break
1035 signal for terminal devices. This command should affect the
1036 current window only. But it still behaves identical to
1037 ``defbreaktype''. This will be changed in the future.
1038 Calling ``breaktype'' with no parameter displays the break
1039 method for the current window.
1040
1041
1042 __bufferfile__ [[''exchange-file'']
1043
1044
1045 Change the filename used for reading and writing with the
1046 paste buffer. If the optional argument to the ``bufferfile''
1047 command is omitted, the default setting
1048 (``/tmp/screen-exchange'') is reactivated. The following
1049 example will paste the system's password file into the
1050 ''screen'' window (using the paste buffer, where a copy
1051 remains):
1052
1053
1054 C-a : bufferfile /etc/passwd
1055 C-a
1056 __c1__ [[__on__|__off__]
1057
1058
1059 Change c1 code processing. ``C1 on'' tells screen to treat
1060 the input characters between 128 and 159 as control
1061 functions. Such an 8-bit code is normally the same as ESC
1062 followed by the corresponding 7-bit code. The default
1063 setting is to process c1 codes and can be changed with the
1064 ``defc1'' command. Users with fonts that have usable
1065 characters in the c1 positions may want to turn this
1066 off.
1067
1068
1069 __caption always__|__splitonly__
1070 [[''string'']__
1071 caption string__ [[''string'']
1072
1073
1074 This command controls the display of the window captions.
1075 Normally a caption is only used if more than one window is
1076 shown on the display (split screen mode). But if the type is
1077 set to __always__ screen shows a caption even if only one
1078 window is displayed. The default is
1079 __splitonly__.
1080
1081
1082 The second form changes the text used for the caption. You
1083 can use all escapes from the ``STRING ESCAPES'' chapter.
1084 Screen uses a default of `%3n %t'.
1085
1086
1087 You can mix both forms by providing a string as an
1088 additional argument.
1089
1090
1091 __charset__ ''set''
1092
1093
1094 Change the current character set slot designation and
1095 charset mapping. The first four character of ''set'' are
1096 treated as charset designators while the fifth and sixth
1097 character must be in range '0' to '3' and set the GL/GR
1098 charset mapping. On every position a '.' may be used to
1099 indicate that the corresponding charset/mapping should not
1100 be changed (''set'' is padded to six characters
1101 internally by appending '.' chars). New windows have
1102 ''
1103 The current setting can be viewed with the ``info''
1104 command.
1105
1106
1107 __chdir__ [[''directory'']
1108
1109
1110 Change the ''current directory'' of ''screen'' to the
1111 specified directory or, if called without an argument, to
1112 your home directory (the value of the environment variable
1113 $HOME). All windows that are created by means of the
1114 ``screen'' command from within ``.screenrc'' or by means of
1115 ``C-a : screen ...'' or ``C-a c'' use this as their default
1116 directory. Without a chdir command, this would be the
1117 directory from which ''screen'' was invoked. Hardcopy and
1118 log files are always written to the ''window's'' default
1119 directory, ''not'' the current directory of the process
1120 running in the window. You can use this command multiple
1121 times in your .screenrc to start various windows in
1122 different default directories, but the last chdir value will
1123 affect all the windows you create
1124 interactively.
1125
1126
1127 __clear__
1128
1129
1130 Clears the current window and saves its image to the
1131 scrollback buffer.
1132
1133
1134 __colon__ [[''prefix'']
1135
1136
1137 Allows you to enter ``.screenrc'' command lines. Useful for
1138 on-the-fly modification of key bindings, specific window
1139 creation and changing settings. Note that the ``set''
1140 keyword no longer exists! Usually commands affect the
1141 current window rather than default settings for future
1142 windows. Change defaults with commands starting with
1143 'def...'.
1144
1145
1146 If you consider this as the `Ex command mode' of
1147 ''screen'', you may regard ``C-a esc'' (copy mode) as its
1148 `Vi command mode'.
1149
1150
1151 __command__ [[__-c__ ''class'']
1152
1153
1154 This command has the same effect as typing the screen escape
1155 character (^A). It is probably only useful for key bindings.
1156 If the ``-c'' option is given, select the specified command
1157 class. See also ``bind'' and ``bindkey''.
1158
1159
1160 __compacthist__ [[__on__|__off__]
1161
1162
1163 This tells screen weather to suppress trailing blank lines
1164 when scrolling up text into the history buffer.
1165
1166
1167 __console__ [[__on__|__off__]
1168
1169
1170 Grabs or un-grabs the machines console output to a window.
1171 ''Note'': Only the owner of /dev/console can grab the
1172 console output. This command is only available if the
1173 machine supports the ioctl TIOCCONS.
1174
1175
1176 __copy__
1177
1178
1179 Enter copy/scrollback mode. This allows you to copy text
1180 from the current window and its history into the paste
1181 buffer. In this mode a vi-like `full screen editor' is
1182 active:''
1183 Movement keys'':
1184
1185
1186 __h__, __j__, __k__, __l__ move the cursor line
1187 by line or column by column.
1188
1189
1190 __0__, __^__ and __$__ move to the leftmost column,
1191 to the first or last non-whitespace character on the
1192 line.
1193
1194
1195 __H__, __M__ and __L__ move the cursor to the
1196 leftmost column of the top, center or bottom line of the
1197 window.
1198
1199
1200 __+__ and __-__ positions one line up and
1201 down.
1202
1203
1204 __G__ moves to the specified absolute line (default: end
1205 of buffer).
1206
1207
1208 __|__ moves to the specified absolute
1209 column.
1210
1211
1212 __w__, __b__, __e__ move the cursor word by
1213 word.
1214
1215
1216 __C-u__ and __C-d__ scroll the display up/down by the
1217 specified amount of lines while preserving the cursor
1218 position. (Default: half screen-full).
1219
1220
1221 __C-b__ and __C-f__ scroll the display up/down a full
1222 screen.
1223
1224
1225 __g__ moves to the beginning of the buffer.
1226
1227
1228 __%__ jumps to the specified percentage of the
1229 buffer.
1230
1231
1232 ''Note'':
1233
1234
1235 Emacs style movement keys can be customized by a .screenrc
1236 command. (E.g. markkeys
1237
1238
1239 ''Marking'':
1240
1241
1242 The copy range is specified by setting two marks. The text
1243 between these marks will be highlighted. Press
1244
1245
1246 __space__ to set the first or second mark
1247 respectively.
1248
1249
1250 __Y__ and __y__ used to mark one whole line or to mark
1251 from start of line.
1252
1253
1254 __W__ marks exactly one word.
1255
1256
1257 ''Repeat count'':
1258
1259
1260 Any of these commands can be prefixed with a repeat count
1261 number by pressing digits
1262
1263
1264 __0__..__9__ which is taken as a repeat
1265 count.
1266
1267
1268 Example: ``C-a C-[[ H 10 j 5 Y'' will copy lines 11 to 15
1269 into the paste buffer.
1270
1271
1272 ''Searching'':
1273
1274
1275 __/__ ''Vi''-like search forward. __?__
1276 ''Vi''-like search backward. __C-a s__ ''Emacs''
1277 style incremental search forward. __C-r__ ''Emacs''
1278 style reverse i-search.
1279
1280
1281 ''Specials'':
1282
1283
1284 There are however some keys that act differently than in
1285 ''vi''. ''Vi'' does not allow one to yank rectangular
1286 blocks of text, but ''screen'' does. Press__
1287 c__ or __C__ to set the left or right margin
1288 respectively. If no repeat count is given, both default to
1289 the current cursor position.
1290 Example: Try this on a rather full text screen: ``C-a [[ M 20
1291 l SPACE c 10 l 5 j C SPACE''.
1292
1293
1294 This moves one to the middle line of the screen, moves in 20
1295 columns left, marks the beginning of the paste buffer, sets
1296 the left column, moves 5 columns down, sets the right
1297 column, and then marks the end of the paste buffer. Now
1298 try:
1299 ``C-a [[ M 20 l SPACE 10 l 5 j SPACE''
1300
1301
1302 and notice the difference in the amount of text
1303 copied.__
1304 J__ joins lines. It toggles between 4 modes: lines
1305 separated by a newline character (012), lines glued
1306 seamless, lines separated by a single whitespace and comma
1307 separated lines. Note that you can prepend the newline
1308 character with a carriage return character, by issuing a
1309 ``crlf on''.__
1310 v__ is for all the ''vi'' users with ``:set numbers'' -
1311 it toggles the left margin between column 9 and 1.
1312 Press__
1313 a__ before the final space key to toggle in append mode.
1314 Thus the contents of the paste buffer will not be
1315 overwritten, but is appended to.__
1316 A__ toggles in append mode and sets a (second)
1317 mark.__
1318 sets the (second) mark and writes the contents of
1319 the paste buffer to the screen-exchange file
1320 (/tmp/screen-exchange per default) once copy-mode is
1321 finished.
1322 This example demonstrates how to dump the whole scrollback
1323 buffer to that file: ``C-A [[ g SPACE G $
1324 C-g__ gives information about the current line and
1325 column.__
1326 x__ exchanges the first mark and the current cursor
1327 position. You can use this to adjust an already placed
1328 mark.__
1329 @__ does nothing. Does not even exit copy mode.
1330 All keys not described here exit copy mode.
1331
1332
1333 __copy_reg__ [[''key'']
1334
1335
1336 No longer exists, use ``readreg'' instead.
1337
1338
1339 __crlf__ [[__on__|__off__]
1340
1341
1342 This affects the copying of text regions with the `C-a [['
1343 command. If it is set to `on', lines will be separated by
1344 the two character sequence `CR' - `LF'. Otherwise (default)
1345 only `LF' is used. When no parameter is given, the state is
1346 toggled.
1347
1348
1349 __debug on__|__off__
1350
1351
1352 Turns runtime debugging on or off. If ''screen'' has been
1353 compiled with option -DDEBUG debugging available and is
1354 turned on per default. Note that this command only affects
1355 debugging output from the main ``SCREEN'' process correctly.
1356 Debug output from attacher processes can only be turned off
1357 once and forever.
1358
1359
1360 __defc1 on__|__off__
1361
1362
1363 Same as the __c1__ command except that the default
1364 setting for new windows is changed. Initial setting is
1365 `on'.
1366
1367
1368 __defautonuke on__|__off__
1369
1370
1371 Same as the __autonuke__ command except that the default
1372 setting for new displays is changed. Initial setting is
1373 `off'. Note that you can use the special `AN' terminal
1374 capability if you want to have a dependency on the terminal
1375 type.
1376
1377
1378 __defbce on__|__off__
1379
1380
1381 Same as the __bce__ command except that the default
1382 setting for new windows is changed. Initial setting is
1383 `off'.
1384
1385
1386 __defbreaktype__ [[''tcsendbreak''|''TIOCSBRK''
1387 |''TCSBRK'']
1388
1389
1390 Choose one of the available methods of generating a break
1391 signal for terminal devices. The preferred methods are
1392 ''tcsendbreak'' and ''TIOCSBRK''. The third,
1393 ''TCSBRK'', blocks the complete ''screen'' session for
1394 the duration of the break, but it may be the only way to
1395 generate long breaks. ''Tcsendbreak'' and ''TIOCSBRK''
1396 may or may not produce long breaks with spikes (e.g. 4 per
1397 second). This is not only system dependant, this also
1398 differs between serial board drivers. Calling
1399 ``defbreaktype'' with no parameter displays the current
1400 setting.
1401
1402
1403 __defcharset__ [[''set'']
1404
1405
1406 Like the __charset__ command except that the default
1407 setting for new windows is changed. Shows current default if
1408 called without argument.
1409
1410
1411 __defescape__ ''xy''
1412
1413
1414 Set the default command characters. This is equivalent to
1415 the ``escape'' except that it is useful multiuser sessions
1416 only. In a multiuser session ``escape'' changes the command
1417 character of the calling user, where ``defescape'' changes
1418 the default command characters for users that will be added
1419 later.
1420
1421
1422 __defflow on__|__off__|__auto__
1423 [[__interrupt__]
1424
1425
1426 Same as the __flow__ command except that the default
1427 setting for new windows is changed. Initial setting is
1428 `auto'. Specifying ``defflow auto interrupt'' is the same as
1429 the command-line options __-fa__ and
1430 __-i__.
1431
1432
1433 __defgr on__|__off__
1434
1435
1436 Same as the __gr__ command except that the default
1437 setting for new windows is changed. Initial setting is
1438 `off'.
1439
1440
1441 __defhstatus__ [[''status'']
1442
1443
1444 The hardstatus line that all new windows will get is set to
1445 ''status''. This command is useful to make the hardstatus
1446 of every window display the window number or title or the
1447 like. ''Status'' may contain the same directives as in
1448 the window messages, but the directive escape character is
1449 '^E' (octal 005) instead of '%'. This was done to make a
1450 misinterpretation of program generated hardstatus lines
1451 impossible. If the parameter ''status'' is omitted, the
1452 current default string is displayed. Per default the
1453 hardstatus line of new windows is empty.
1454
1455
1456 __defencoding__ ''enc''
1457
1458
1459 Same as the __encoding__ command except that the default
1460 setting for new windows is changed. Initial setting is the
1461 encoding taken from the terminal.
1462
1463
1464 __deflog on__|__off__
1465
1466
1467 Same as the __log__ command except that the default
1468 setting for new windows is changed. Initial setting is
1469 `off'.
1470
1471
1472 __deflogin on__|__off__
1473
1474
1475 Same as the __login__ command except that the default
1476 setting for new windows is changed. This is initialized with
1477 `on' as distributed (see config.h.in).
1478
1479
1480 __defmode__ ''mode''
1481
1482
1483 The mode of each newly allocated pseudo-tty is set to
1484 ''mode''. ''Mode'' is an octal number. When no
1485 ``defmode'' command is given, mode 0622 is
1486 used.
1487
1488
1489 __defmonitor on__|__off__
1490
1491
1492 Same as the __monitor__ command except that the default
1493 setting for new windows is changed. Initial setting is
1494 `off'.
1495
1496
1497 __defobuflimit__ ''limit''
1498
1499
1500 Same as the __obuflimit__ command except that the default
1501 setting for new displays is changed. Initial setting is 256
1502 bytes. Note that you can use the special 'OL' terminal
1503 capability if you want to have a dependency on the terminal
1504 type.
1505
1506
1507 __defscrollback__ ''num''
1508
1509
1510 Same as the __scrollback__ command except that the
1511 default setting for new windows is changed. Initial setting
1512 is 100.
1513
1514
1515 __defshell__ ''command''
1516
1517
1518 Synonym to the __shell__ command. See there.
1519
1520
1521 __defsilence on__|__off__
1522
1523
1524 Same as the __silence__ command except that the default
1525 setting for new windows is changed. Initial setting is
1526 `off'.
1527
1528
1529 __defslowpaste__ ''msec''
1530
1531
1532 Same as the __slowpaste__ command except that the default
1533 setting for new windows is changed. Initial setting is 0
1534 milliseconds, meaning `off'.
1535
1536
1537 __defutf8 on__|__off__
1538
1539
1540 Same as the __utf8__ command except that the default
1541 setting for new windows is changed. Initial setting is `on'
1542 if screen was started with ``-U'', otherwise
1543 `off'.
1544
1545
1546 __defwrap on__|__off__
1547
1548
1549 Same as the __wrap__ command except that the default
1550 setting for new windows is changed. Initially line-wrap is
1551 on and can be toggled with the ``wrap'' command (``C-a r'')
1552 or by means of __
1553
1554
1555 __defwritelock on__|__off__|__auto__
1556
1557
1558 Same as the __writelock__ command except that the default
1559 setting for new windows is changed. Initially writelocks
1560 will off.
1561
1562
1563 __defzombie__ [[''keys'']
1564
1565
1566 Synonym to the __zombie__ command. Both currently change
1567 the default. See there.
1568
1569
1570 __detach__ [[__-h__]
1571
1572
1573 Detach the ''screen'' session (disconnect it from the
1574 terminal and put it into the background). This returns you
1575 to the shell where you invoked ''screen''. A detached
1576 ''screen'' can be resumed by invoking ''screen'' with
1577 the __-r__ option (see also section ``COMMAND-LINE
1578 OPTIONS''). The __-h__ option tells screen to immediately
1579 close the connection to the terminal
1580 (``hangup'').
1581
1582
1583 __dinfo__
1584
1585
1586 Show what screen thinks about your terminal. Useful if you
1587 want to know why features like color or the alternate
1588 charset don't work.
1589
1590
1591 __displays__
1592
1593
1594 Shows a tabular listing of all currently connected user
1595 front-ends (displays). This is most useful for multiuser
1596 sessions.
1597
1598
1599 __digraph__ [[''preset'']
1600
1601
1602 This command prompts the user for a digraph sequence. The
1603 next two characters typed are looked up in a builtin table
1604 and the resulting character is inserted in the input stream.
1605 For example, if the user enters 'a
1606 screen'' will treat the following characters (up to
1607 three) as an octal number instead. The optional argument
1608 ''preset'' is treated as user input, thus one can create
1609 an ``umlaut'' key. For example the command
1610 ''
1611
1612
1613 __dumptermcap__
1614
1615
1616 Write the termcap entry for the virtual terminal optimized
1617 for the currently active window to the file ``.termcap'' in
1618 the user's ``$HOME/.screen'' directory (or wherever
1619 ''screen'' stores its sockets. See the ``FILES'' section
1620 below). This termcap entry is identical to the value of the
1621 environment variable $TERMCAP that is set up by
1622 ''screen'' for each window. For terminfo based systems
1623 you will need to run a converter like ''captoinfo'' and
1624 then compile the entry with ''tic''.
1625
1626
1627 __echo__ [[__-n__] ''message''
1628
1629
1630 The echo command may be used to annoy ''screen'' users
1631 with a 'message of the day'. Typically installed in a global
1632 /etc/screenrc. The option ``-n'' may be used to suppress the
1633 line feed. See also ``sleep''. Echo is also useful for
1634 online checking of environment variables.
1635
1636
1637 __escape__ ''xy''
1638
1639
1640 Set the command character to ''x'' and the character
1641 generating a literal command character (by triggering the
1642 ``meta'' command) to ''y'' (similar to the -e option).
1643 Each argument is either a single character, a two-character
1644 sequence of the form ``^x'' (meaning ``C-x''), a backslash
1645 followed by an octal number (specifying the ASCII code of
1646 the character), or a backslash followed by a second
1647 character, such as ``^'' or ``\''. The default is
1648 ``^Aa''.
1649
1650
1651 __eval__ ''command1'' [[''command2
1652 ...'']
1653
1654
1655 Parses and executes each argument as seperate
1656 command.
1657
1658
1659 __exec__ [[[[''fdpat''] ''newcommand'' [[''args
1660 ...'']]
1661
1662
1663 Run a unix subprocess (specified by an executable path
1664 ''newcommand'' and its optional arguments) in the current
1665 window. The flow of data between newcommands
1666 stdin/stdout/stderr, the process originally started in the
1667 window (let us call it
1668 ''screen''. An exclamation mark (!) causes the file
1669 descriptor to be connected to the application-process. A
1670 colon (:) combines both. User input will go to newcommand
1671 unless newcommand receives the application-process' output
1672 (fdpats first character is `!' or `:') or a pipe symbol (|)
1673 is added (as a fourth character) to the end of fdpat.
1674 Invoking `exec' without arguments shows name and arguments
1675 of the currently running subprocess in this window. Only one
1676 subprocess a time can be running in each window.
1677 When a subprocess is running the `kill' command will affect
1678 it instead of the windows process.
1679 Refer to the postscript file `doc/fdpat.ps' for a confusing
1680 illustration of all 21 possible combinations. Each drawing
1681 shows the digits 2,1,0 representing the three file
1682 descriptors of newcommand. The box marked `W' is the usual
1683 pty that has the application-process on its slave side. The
1684 box marked `P' is the secondary pty that now has
1685 ''screen'' at its master side.
1686
1687
1688 Abbreviations:
1689 Whitespace between the word `exec' and fdpat and the command
1690 can be omitted. Trailing dots and a fdpat consisting only of
1691 dots can be omitted. A simple `|' is synonymous for the
1692 pattern `!..|'; the word exec can be omitted here and can
1693 always be replaced by `!'.
1694
1695
1696 Examples:
1697
1698
1699 exec ... /bin/sh
1700 exec /bin/sh
1701 !/bin/sh
1702
1703
1704 Creates another shell in the same window, while the original
1705 shell is still running. Output of both shells is displayed
1706 and user input is sent to the new /bin/sh.
1707
1708
1709 exec !.. stty 19200
1710 exec ! stty 19200
1711 !!stty 19200
1712
1713
1714 Set the speed of the window's tty. If your stty command
1715 operates on stdout, then add another `!'.
1716
1717
1718 exec !..| less
1719 |less
1720
1721
1722 This adds a pager to the window output. The special
1723 character `|' is needed to give the user control over the
1724 pager although it gets its input from the window's process.
1725 This works, because ''less'' listens on stderr (a
1726 behavior that ''screen'' would not expect without the
1727 `|') when its stdin is not a tty. ''Less'' versions newer
1728 than 177 fail miserably here; good old ''pg'' still
1729 works.
1730
1731
1732 !:sed -n s/.*Error.*/007/p
1733
1734
1735 Sends window output to both, the user and the sed command.
1736 The sed inserts an additional bell character (oct. 007) to
1737 the window output seen by ''screen''. This will cause
1738 ''
1739
1740
1741 __fit__
1742
1743
1744 Change the window size to the size of the current region.
1745 This command is needed because screen doesn't adapt the
1746 window size automatically if the window is displayed more
1747 than once.
1748
1749
1750 __flow__ [[__on__|__off__|__auto__]
1751
1752
1753 Sets the flow-control mode for this window. Without
1754 parameters it cycles the current window's flow-control
1755 setting from
1756
1757
1758 __focus__
1759 [[__up__|__down__|__top__|__bottom__]
1760
1761
1762 Move the input focus to the next region. This is done in a
1763 cyclic way so that the top region is selected after the
1764 bottom one. If no subcommand is given it defaults to `down'.
1765 `up' cycles in the opposite order, `top' and `bottom' go to
1766 the top and bottom region respectively. Useful bindings are
1767 (j and k as in vi)
1768
1769
1770 bind j focus down
1771 bind k focus up
1772 bind t focus top
1773 bind b focus bottom
1774 __gr__ [[__on__|__off__]
1775
1776
1777 Turn GR charset switching on/off. Whenever screen sees an
1778 input character with the 8th bit set, it will use the
1779 charset stored in the GR slot and print the character with
1780 the 8th bit stripped. The default (see also ``defgr'') is
1781 not to process GR switching because otherwise the ISO88591
1782 charset would not work.
1783
1784
1785 __hardcopy__ [[__-h__] [[''file'']
1786
1787
1788 Writes out the currently displayed image to the file
1789 ''file'', or, if no filename is specified, to
1790 ''hardcopy.n'' in the default directory, where ''n''
1791 is the number of the current window. This either appends or
1792 overwrites the file if it exists. See below. If the option
1793 __-h__ is specified, dump also the contents of the
1794 scrollback buffer.
1795
1796
1797 __hardcopy_append on__|__off__
1798
1799
1800 If set to screen'' will append to the
1801 ''
1802
1803
1804 __hardcopydir__ ''directory''
1805
1806
1807 Defines a directory where hardcopy files will be placed. If
1808 unset, hardcopys are dumped in ''screen'''s current
1809 working directory.
1810
1811
1812 __hardstatus__ [[__on__|__off__]__
1813 hardstatus__
1814 [[__always__]__lastline__|__message__|__ignore__
1815 [[''string'']__
1816 hardstatus string__ [[''string'']
1817
1818
1819 This command configures the use and emulation of the
1820 terminal's hardstatus line. The first form toggles whether
1821 ''screen'' will use the hardware status line to display
1822 messages. If the flag is set to `off', these messages are
1823 overlaid in reverse video mode at the display line. The
1824 default setting is `on'.
1825
1826
1827 The second form tells ''screen'' what to do if the
1828 terminal doesn't have a hardstatus line (i.e. the
1829 termcap/terminfo capabilities
1830 ''screen'' will
1831 reserve the last line of the display for the hardstatus.
1832 ``message'' uses ''screen's'' message mechanism and
1833 ``ignore'' tells ''screen'' never to display the
1834 hardstatus. If you prepend the word ``always'' to the type,
1835 ''screen'' will use the type even if the terminal
1836 supports a hardstatus.
1837
1838
1839 The third form specifies the contents of the hardstatus
1840 line. '%h' is used as default string, i.e. the stored
1841 hardstatus of the current window (settable via
1842 ``ESC]0;
1843 string'', the current
1844 string is displayed.
1845
1846
1847 You can mix the second and third form by providing the
1848 string as additional argument.
1849
1850
1851 __height__ [[__-w__|__-d__] [[''lines''
1852 [[''cols'']]
1853
1854
1855 Set the display height to a specified number of lines. When
1856 no argument is given it toggles between 24 and 42 lines
1857 display. You can also specify a width if you want to change
1858 both values. The __-w__ option tells screen to leave the
1859 display size unchanged and just set the window size,
1860 __-d__ vice versa.
1861
1862
1863 __help__ [[__-c__ ''class'']
1864
1865
1866 Not really a online help, but displays a help ''screen''
1867 showing you all the key bindings. The first pages list all
1868 the internal commands followed by their current bindings.
1869 Subsequent pages will display the custom commands, one
1870 command per key. Press space when you're done reading each
1871 page, or return to exit early. All other characters are
1872 ignored. If the ``-c'' option is given, display all bound
1873 commands for the specified command class. See also ``DEFAULT
1874 KEY BINDINGS'' section.
1875
1876
1877 __history__
1878
1879
1880 Usually users work with a shell that allows easy access to
1881 previous commands. For example csh has the command ``!!'' to
1882 repeat the last command executed. ''Screen'' allows you
1883 to have a primitive way of re-calling ``the command that
1884 started ...'': You just type the first letter of that
1885 command, then hit `C-a {' and ''screen'' tries to find a
1886 previous line that matches with the `prompt character' to
1887 the left of the cursor. This line is pasted into this
1888 window's input queue. Thus you have a crude command history
1889 (made up by the visible window and its scrollback
1890 buffer).
1891
1892
1893 __hstatus__ ''status''
1894
1895
1896 Change the window's hardstatus line to the string
1897 ''status''.
1898
1899
1900 __ignorecase__ [[__on__|__off__]
1901
1902
1903 Tell screen to ignore the case of caracters in searches.
1904 Default is `off'.
1905
1906
1907 __info__
1908
1909
1910 Uses the message line to display some information about the
1911 current window: the cursor position in the form
1912 ``(column,row)'' starting with ``(1,1)'', the terminal width
1913 and height plus the size of the scrollback buffer in lines,
1914 like in ``(80,24)+50'', the current state of window XON/XOFF
1915 flow control is shown like this (See also section FLOW
1916 CONTROL):
1917
1918
1919 +flow automatic flow control, currently on.
1920 -flow automatic flow control, currently off.
1921 +(+)flow flow control enabled. Agrees with automatic control.
1922 -(+)flow flow control disabled. Disagrees with automatic control.
1923 +(-)flow flow control enabled. Disagrees with automatic control.
1924 -(-)flow flow control disabled. Agrees with automatic control.
1925 The current line wrap setting (`+wrap' indicates enabled, `-wrap' not) is also shown. The flags `ins', `org', `app', `log', `mon' or `nored' are displayed when the window is in insert mode, origin mode, application-keypad mode, has output logging, insert mode, origin mode, application-keypad mode, output logging, activity monitoring or partial redraw enabled.
1926
1927
1928 The currently active character set (''G0'', ''G1'',
1929 ''G2'', or ''G3'') and in square brackets the terminal
1930 character sets that are currently designated as ''G0''
1931 through ''G3'' is shown. If the window is in UTF-8 mode,
1932 the string ``UTF-8'' is shown instead.
1933
1934
1935 Additional modes depending on the type of the window are
1936 displayed at the end of the status line (See also chapter
1937 ``WINDOW TYPES'').
1938 If the state machine of the terminal emulator is in a
1939 non-default state, the info line is started with a string
1940 identifying the current state.
1941 For system information use the ``time''
1942 command.
1943
1944
1945 __ins_reg__ [[''key'']
1946
1947
1948 No longer exists, use ``paste'' instead.
1949
1950
1951 __encoding__ ''enc'' [[''enc'']
1952
1953
1954 Tell ''screen'' how to interpret the input/output. The
1955 first argument sets the encoding of the current window. Each
1956 window can emulate a different encoding. The optional second
1957 parameter overwrites the encoding of the connected terminal.
1958 It should never be needed as screen uses the locale setting
1959 to detect the encoding. There is also a way to select a
1960 terminal encoding depending on the terminal type by using
1961 the ``KJ'' termcap entry.
1962
1963
1964 Supported encodings are eucJP, SJIS, eucKR, eucCN, Big5,
1965 KOI8-R, CP1251, UTF-8, ISO8859-2, ISO8859-3, ISO8859-4,
1966 ISO8859-5, ISO8859-6, ISO8859-7, ISO8859-8, ISO8859-9,
1967 ISO8859-10, ISO8859-15, jis.
1968
1969
1970 See also ``defencoding'', which changes the default setting
1971 of a new window.
1972
1973
1974 __kill__
1975
1976
1977 Kill current window.
1978 If there is an `exec' command running then it is killed.
1979 Otherwise the process (shell) running in the window receives
1980 a HANGUP condition, the window structure is removed and
1981 ''screen'' (your display) switches to another window.
1982 When the last window is destroyed, ''screen'' exits.
1983 After a kill ''screen'' switches to the previously
1984 displayed window.
1985 Note: ''Emacs'' users should keep this command in mind,
1986 when killing a line. It is recommended not to use ``C-a'' as
1987 the ''screen'' escape key or to rebind kill to ``C-a
1988 K''.
1989
1990
1991 __lastmsg__
1992
1993
1994 Redisplay the last contents of the message/status line.
1995 Useful if you're typing when a message appears, because the
1996 message goes away when you press a key (unless your terminal
1997 has a hardware status line). Refer to the commands
1998 ``msgwait'' and ``msgminwait'' for fine tuning.
1999
2000
2001 __license__
2002
2003
2004 Display the disclaimer page. This is done whenever
2005 ''screen'' is started without options, which should be
2006 often enough. See also the ``startup_message''
2007 command.
2008
2009
2010 __lockscreen__
2011
2012
2013 Lock this display. Call a screenlock program (/local/bin/lck
2014 or /usr/bin/lock or a builtin if no other is available).
2015 Screen does not accept any command keys until this program
2016 terminates. Meanwhile processes in the windows may continue,
2017 as the windows are in the `detached' state. The screenlock
2018 program may be changed through the environment variable
2019 $LOCKPRG (which must be set in the shell from which
2020 ''screen'' is started) and is executed with the user's
2021 uid and gid.
2022 Warning: When you leave other shells unlocked and you have
2023 no password set on ''screen'', the lock is void: One
2024 could easily re-attach from an unlocked shell. This feature
2025 should rather be called `lockterminal'.
2026
2027
2028 __log__ [[__on__|__off__]
2029
2030
2031 Start/stop writing output of the current window to a file
2032 ``screenlog.''n'''' in the window's default directory,
2033 where ''n'' is the number of the current window. This
2034 filename can be changed with the `logfile' command. If no
2035 parameter is given, the state of logging is toggled. The
2036 session log is appended to the previous contents of the file
2037 if it already exists. The current contents and the contents
2038 of the scrollback history are not included in the session
2039 log. Default is `off'.
2040
2041
2042 __logfile__ ''filename''__
2043 logfile flush__ ''secs''
2044
2045
2046 Defines the name the logfiles will get. The default is
2047 ``screenlog.%n''. The second form changes the number of
2048 seconds ''screen'' will wait before flushing the logfile
2049 buffer to the file-system. The default value is 10
2050 seconds.
2051
2052
2053 __login__ [[__on__|__off__]
2054
2055
2056 Adds or removes the entry in the utmp database file for the
2057 current window. This controls if the window is `logged in'.
2058 When no parameter is given, the login state of the window is
2059 toggled. Additionally to that toggle, it is convenient
2060 having a `log in' and a `log out' key. E.g. `bind I login
2061 on' and `bind O login off' will map these keys to be C-a I
2062 and C-a O. The default setting (in config.h.in) should be
2063 ``on'' for a ''screen'' that runs under suid-root. Use
2064 the ``deflogin'' command to change the default login state
2065 for new windows. Both commands are only present when
2066 ''screen'' has been compiled with utmp
2067 support.
2068
2069
2070 __logtstamp__ [[__on__|__off__]__
2071 logtstamp after__ [[''secs'']__
2072 logtstamp string__ [[''string'']
2073
2074
2075 This command controls logfile time-stamp mechanism of
2076 ''screen.'' If time-stamps are turned ``on'',
2077 ''screen'' adds a string containing the current time to
2078 the logfile after two minutes of inactivity. When output
2079 continues and more than another two minutes have passed, a
2080 second time-stamp is added to document the restart of the
2081 output. You can change this timeout with the second form of
2082 the command. The third form is used for customizing the
2083 time-stamp string (`-- %n:%t -- time-stamp -- %M/%d/%y %c:%s
2084 --n' by default).
2085
2086
2087 __mapdefault__
2088
2089
2090 Tell ''screen'' that the next input character should only
2091 be looked up in the default bindkey table. See also
2092 ``bindkey''.
2093
2094
2095 __mapnotnext__
2096
2097
2098 Like mapdefault, but don't even look in the default bindkey
2099 table.
2100
2101
2102 __maptimeout__ [[''timo'']
2103
2104
2105 Set the inter-character timer for input sequence detection
2106 to a timeout of ''timo'' ms. The default timeout is
2107 300ms. Maptimeout with no arguments shows the current
2108 setting. See also ``bindkey''.
2109
2110
2111 __markkeys__ ''string''
2112
2113
2114 This is a method of changing the keymap used for
2115 copy/history mode. The string is made up of
2116 ''oldchar''=''newchar'' pairs which are separated by
2117 `:'. Example: The string ``B=^B:F=^F'' will change the keys
2118 `C-b' and `C-f' to the vi style binding (scroll up/down fill
2119 page). This happens to be the default binding for `B' and
2120 `F'. The command ``markkeys h=^B:l=^F:$=^E'' would set the
2121 mode for an emacs-style binding. If your terminal sends
2122 characters, that cause you to abort copy mode, then this
2123 command may help by binding these characters to do nothing.
2124 The no-op character is `@' and is used like this: ``markkeys
2125 @=L=H'' if you do not want to use the `H' or `L' commands
2126 any longer. As shown in this example, multiple keys can be
2127 assigned to one function in a single statement.
2128
2129
2130 __meta__
2131
2132
2133 Insert the command character (C-a) in the current window's
2134 input stream.
2135
2136
2137 __monitor__ [[__on__|__off__]
2138
2139
2140 Toggles activity monitoring of windows. When monitoring is
2141 turned on and an affected window is switched into the
2142 background, you will receive the activity notification
2143 message in the status line at the first sign of output and
2144 the window will also be marked with an `@' in the
2145 window-status display. Monitoring is initially off for all
2146 windows.
2147
2148
2149 __msgminwait__ ''sec''
2150
2151
2152 Defines the time ''screen'' delays a new message when one
2153 message is currently displayed. The default is 1
2154 second.
2155
2156
2157 __msgwait__ ''sec''
2158
2159
2160 Defines the time a message is displayed if ''screen'' is
2161 not disturbed by other activity. The default is 5
2162 seconds.
2163
2164
2165 __multiuser on__|__off__
2166
2167
2168 Switch between singleuser and multiuser mode. Standard
2169 ''screen'' operation is singleuser. In multiuser mode the
2170 commands `acladd', `aclchg', `aclgrp' and `acldel' can be
2171 used to enable (and disable) other users accessing this
2172 ''screen'' session.
2173
2174
2175 __nethack on__|__off__
2176
2177
2178 Changes the kind of error messages used by ''screen''.
2179 When you are familiar with the game ``nethack'', you may
2180 enjoy the nethack-style messages which will often blur the
2181 facts a little, but are much funnier to read. Anyway,
2182 standard messages often tend to be unclear as well.
2183 This option is only available if ''screen'' was compiled
2184 with the NETHACK flag defined. The default setting is then
2185 determined by the presence of the environment variable
2186 $NETHACKOPTIONS.
2187
2188
2189 __next__
2190
2191
2192 Switch to the next window. This command can be used
2193 repeatedly to cycle through the list of
2194 windows.
2195
2196
2197 __nonblock__ [[__on__|__off__]
2198
2199
2200 Enable or disable flow control for the current user
2201 interface (display). It is used to prevent a slow display
2202 from slowing down the processing of data output by a window.
2203 This command may be helpful when multiple displays show the
2204 same window. Nonblock is initially off for all
2205 displays.
2206
2207
2208 __number__ [[''n'']
2209
2210
2211 Change the current windows number. If the given number
2212 ''n'' is already used by another window, both windows
2213 exchange their numbers. If no argument is specified, the
2214 current window number (and title) is shown.
2215
2216
2217 __obuflimit__ [[''limit'']
2218
2219
2220 If the output buffer contains more bytes than the specified
2221 limit, no more data will be read from the windows. The
2222 default value is 256. If you have a fast display (like
2223 xterm), you can set it to some higher value. If no argument
2224 is specified, the current setting is displayed.
2225
2226
2227 __only__
2228
2229
2230 Kill all regions but the current one.
2231
2232
2233 __other__
2234
2235
2236 Switch to the window displayed previously. If this window
2237 does no longer exist, ''other'' has the same effect as
2238 ''next''.
2239
2240
2241 __partial on__|__off__
2242
2243
2244 Defines whether the display should be refreshed (as with
2245 ''redisplay'') after switching to the current window.
2246 This command only affects the current window. To immediately
2247 affect all windows use the ''allpartial'' command.
2248 Default is `off', of course. This default is fixed, as there
2249 is currently no ''defpartial'' command.
2250
2251
2252 __password__ [[''crypted_pw'']
2253
2254
2255 Present a crypted password in your ``.screenrc'' file and
2256 ''screen'' will ask for it, whenever someone attempts to
2257 resume a detached. This is useful if you have privileged
2258 programs running under ''screen'' and you want to protect
2259 your session from reattach attempts by another user
2260 masquerading as your uid (i.e. any superuser.) If no crypted
2261 password is specified, ''screen'' prompts twice for
2262 typing a password and places its encryption in the paste
2263 buffer. Default is `none', this disables password
2264 checking.
2265
2266
2267 __paste__ [[''registers''
2268 [[''dest_reg'']]
2269
2270
2271 Write the (concatenated) contents of the specified registers
2272 to the stdin queue of the current window. The register '.'
2273 is treated as the paste buffer. If no parameter is given the
2274 user is prompted for a single register to paste. The paste
2275 buffer can be filled with the ''copy'', ''history''
2276 and ''readbuf'' commands. Other registers can be filled
2277 with the ''register'', ''readreg'' and ''paste''
2278 commands. If ''paste'' is called with a second argument,
2279 the contents of the specified registers is pasted into the
2280 named destination register rather than the window. If '.' is
2281 used as the second argument, the displays paste buffer is
2282 the destination. Note, that ``paste'' uses a wide variety of
2283 resources: Whenever a second argument is specified no
2284 current window is needed. When the source specification only
2285 contains registers (not the paste buffer) then there need
2286 not be a current display (terminal attached), as the
2287 registers are a global resource. The paste buffer exists
2288 once for every user.
2289
2290
2291 __pastefont__ [[__on__|__off__]
2292
2293
2294 Tell ''screen'' to include font information in the paste
2295 buffer. The default is not to do so. This command is
2296 especially useful for multi character fonts like
2297 kanji.
2298
2299
2300 __pow_break__
2301
2302
2303 Reopen the window's terminal line and send a break
2304 condition. See `break'.
2305
2306
2307 __pow_detach__
2308
2309
2310 Power detach. Mainly the same as ''detach'', but also
2311 sends a HANGUP signal to the parent process of
2312 ''screen''. CAUTION: This will result in a logout, when
2313 ''screen'' was started from your login
2314 shell.
2315
2316
2317 __pow_detach_msg__ [[''message'']
2318
2319
2320 The ''message'' specified here is output whenever a
2321 `Power detach' was performed. It may be used as a
2322 replacement for a logout message or to reset baud rate, etc.
2323 Without parameter, the current message is
2324 shown.
2325
2326
2327 __prev__
2328
2329
2330 Switch to the window with the next lower number. This
2331 command can be used repeatedly to cycle through the list of
2332 windows.
2333
2334
2335 __printcmd__ [[''cmd'']
2336
2337
2338 If ''cmd'' is not an empty string, ''screen'' will not
2339 use the terminal capabilities ``po/pf'' if it detects an
2340 ansi print sequence __ESC [[ 5 i__, but pipe the output
2341 into ''cmd''. This should normally be a command like
2342 ``lpr'' or ``'cat ''printcmd__
2343 without a command displays the current setting. The ansi
2344 sequence __ESC \__ ends printing and closes the pipe.
2345 Warning: Be careful with this command! If other user have
2346 write access to your terminal, they will be able to fire off
2347 print commands.
2348
2349
2350 __process__ [[''key'']
2351
2352
2353 Stuff the contents of the specified register into
2354 ''screen'''s input queue. If no argument is given you are
2355 prompted for a register name. The text is parsed as if it
2356 had been typed in from the user's keyboard. This command can
2357 be used to bind multiple actions to a single
2358 key.
2359
2360
2361 __quit__
2362
2363
2364 Kill all windows and terminate ''screen''. Note that on
2365 VT100-style terminals the keys C-4 and C-\ are identical.
2366 This makes the default bindings dangerous: Be careful not to
2367 type C-a C-4 when selecting window no. 4. Use the empty bind
2368 command (as in ``bind '^''') to remove a key
2369 binding.
2370
2371
2372 __readbuf__ [[__-e__ ''encoding'']
2373 [[''filename'']
2374
2375
2376 Reads the contents of the specified file into the paste
2377 buffer. You can tell screen the encoding of the file via the
2378 __-e__ option. If no file is specified, the
2379 screen-exchange filename is used. See also ``bufferfile''
2380 command.
2381
2382
2383 __readreg__ [[__-e__ ''encoding''] [[''register''
2384 [[''filename'']]
2385
2386
2387 Does one of two things, dependent on number of arguments:
2388 with zero or one arguments it it duplicates the paste buffer
2389 contents into the register specified or entered at the
2390 prompt. With two arguments it reads the contents of the
2391 named file into the register, just as ''readbuf'' reads
2392 the screen-exchange file into the paste buffer. You can tell
2393 screen the encoding of the file via the __-e__ option.
2394 The following example will paste the system's password file
2395 into the ''screen'' window (using register p, where a
2396 copy remains):
2397
2398
2399 C-a : readreg p /etc/passwd
2400 C-a : paste p
2401 __redisplay__
2402
2403
2404 Redisplay the current window. Needed to get a full redisplay
2405 when in partial redraw mode.
2406
2407
2408 __register__ [[__-e__ ''encoding''] ''key
2409 string''
2410
2411
2412 Save the specified ''string'' to the register ''key''.
2413 The encoding of the string can be specified via the
2414 __-e__ option. See also the ``paste''
2415 command.
2416
2417
2418 __remove__
2419
2420
2421 Kill the current region. This is a no-op if there is only
2422 one region.
2423
2424
2425 __removebuf__
2426
2427
2428 Unlinks the screen-exchange file used by the commands
2429 ``writebuf'' and ``readbuf''.
2430
2431
2432 __reset__
2433
2434
2435 Reset the virtual terminal to its ``power-on'' values.
2436 Useful when strange settings (like scroll regions or
2437 graphics character set) are left over from an
2438 application.
2439
2440
2441 __resize__
2442
2443
2444 Resize the current region. The space will be removed from or
2445 added to the region below or if there's not enough space
2446 from the region above.
2447
2448
2449 resize +N increase current region height by N
2450
2451
2452 resize -N decrease current region height by N
2453
2454
2455 resize N set current region height to N
2456
2457
2458 resize = make all windows equally high
2459
2460
2461 resize max maximize current region height
2462
2463
2464 resize min minimize current region height
2465
2466
2467 __screen__ [[''-opts''] [[''n''] [[''cmd''
2468 [[''args'']]
2469
2470
2471 Establish a new window. The flow-control options (__-f__,
2472 __-fn__ and __-fa__), title (a.k.a.) option
2473 (__-t__), login options (__-l__ and __-ln__) ,
2474 terminal type option (__-T__
2475 __-a__) and scrollback option
2476 (__-h__
2477 __-M__) turns monitoring on for this window.
2478 The option (__-L__) turns output logging on for this
2479 window. If an optional number ''n'' in the range 0..9 is
2480 given, the window number ''n'' is assigned to the newly
2481 created window (or, if this number is already in-use, the
2482 next available number). If a command is specified after
2483 ``screen'', this command (with the given arguments) is
2484 started in the window; otherwise, a shell is created. Thus,
2485 if your ``.screenrc'' contains the lines
2486
2487
2488 # example for .screenrc:
2489 screen 1
2490 screen -fn -t foobar -L 2 telnet foobar
2491 ''screen'' creates a shell window (in window #1) and a window with a TELNET connection to the machine foobar (with no flow-control using the title ``foobar'' in window #2) and will write a logfile (``screenlog.2'') of the telnet session. Note, that unlike previous versions of ''screen'' no additional default window is created when ``screen'' commands are included in your ``.screenrc'' file. When the initialization is completed, ''screen'' switches to the last window specified in your .screenrc file or, if none, opens a default window #0.
2492 Screen has built in some functionality of ``cu'' and ``telnet''. See also chapter ``WINDOW TYPES''.
2493
2494
2495 __scrollback__ ''num''
2496
2497
2498 Set the size of the scrollback buffer for the current
2499 windows to ''num'' lines. The default scrollback is 100
2500 lines. See also the ``defscrollback'' command and use ``C-a
2501 i'' to view the current setting.
2502
2503
2504 __select__ [[''WindowID'']
2505
2506
2507 Switch to the window identified by ''WindowID''. This can
2508 be a prefix of a window title (alphanumeric window name) or
2509 a window number. The parameter is optional and if omitted,
2510 you get prompted for an identifier. When a new window is
2511 established, the first available number is assigned to this
2512 window. Thus, the first window can be activated by ``select
2513 0''. The number of windows is limited at compile-time by the
2514 MAXWIN configuration parameter.
2515
2516
2517 __sessionname__ [[''name'']
2518
2519
2520 Rename the current session. Note, that for ``screen -list''
2521 the name shows up with the process-id prepended. If the
2522 argument ``name'' is omitted, the name of this session is
2523 displayed. Caution: The $STY environment variables still
2524 reflects the old name. This may result in confusion. The
2525 default is constructed from the tty and host
2526 names.
2527
2528
2529 __setenv__ [[''var'' [[''string'']]
2530
2531
2532 Set the environment variable ''var'' to value
2533 ''string''. If only ''var'' is specified, the user
2534 will be prompted to enter a value. If no parameters are
2535 specified, the user will be prompted for both variable and
2536 value. The environment is inherited by all subsequently
2537 forked shells.
2538
2539
2540 __setsid__ [[__on__|__off__]
2541
2542
2543 Normally screen uses different sessions and process groups
2544 for the windows. If setsid is turned ''off'', this is not
2545 done anymore and all windows will be in the same process
2546 group as the screen backend process. This also breaks
2547 job-control, so be careful. The default is ''on'', of
2548 course. This command is probably useful only in rare
2549 circumstances.
2550
2551
2552 __shell__ ''command''
2553
2554
2555 Set the command to be used to create a new shell. This
2556 overrides the value of the environment variable $SHELL. This
2557 is useful if you'd like to run a tty-enhancer which is
2558 expecting to execute the program specified in $SHELL. If the
2559 command begins with a '-' character, the shell will be
2560 started as a login-shell.
2561
2562
2563 __shelltitle__ ''title''
2564
2565
2566 Set the title for all shells created during startup or by
2567 the C-A C-c command. For details about what a title is, see
2568 the discussion entitled ``TITLES (naming
2569 windows)''.
2570
2571
2572 __silence__
2573 [[__on__|__off__|''sec'']
2574
2575
2576 Toggles silence monitoring of windows. When silence is
2577 turned on and an affected window is switched into the
2578 background, you will receive the silence notification
2579 message in the status line after a specified period of
2580 inactivity (silence). The default timeout can be changed
2581 with the `silencewait' command or by specifying a number of
2582 seconds instead of `on' or `off'. Silence is initially off
2583 for all windows.
2584
2585
2586 __silencewait__ ''sec''
2587
2588
2589 Define the time that all windows monitored for silence
2590 should wait before displaying a message. Default 30
2591 seconds.
2592
2593
2594 __sleep__ ''num''
2595
2596
2597 This command will pause the execution of a .screenrc file
2598 for ''num'' seconds. Keyboard activity will end the
2599 sleep. It may be used to give users a chance to read the
2600 messages output by ``echo''.
2601
2602
2603 __slowpaste__ ''msec''
2604
2605
2606 Define the speed at which text is inserted into the current
2607 window by the paste (
2608 screen'' will make a pause of ''msec''
2609 milliseconds after each single character write to allow the
2610 application to process its input. Only use slowpaste if your
2611 underlying system exposes flow control problems while
2612 pasting large amounts of text.
2613
2614
2615 __source__ ''file''
2616
2617
2618 Read and execute commands from file ''file''. Source
2619 commands may be nested to a maximum recursion level of ten.
2620 If file is not an absolute path and screen already processes
2621 a source command, the parent directory of the running source
2622 command file is used to search for the new command file
2623 before screen's current directory.
2624
2625
2626 Note that termcap/terminfo/termcapinfo commands only work at
2627 startup and reattach time, so they must be reached via the
2628 default screenrc files to have an effect.
2629
2630
2631 __sorendition__ [[''attr'' [[''color'']]
2632
2633
2634 Change the way ''screen'' does highlighting for text
2635 marking and printing messages. See the ``STRING ESCAPES''
2636 chapter for the syntax of the modifiers. The default is
2637 currently ``=s dd'' (standout, default colors).
2638
2639
2640 __split__
2641
2642
2643 Split the current region into two new ones. All regions on
2644 the display are resized to make room for the new region. The
2645 blank window is displayed on the new region.
2646
2647
2648 __startup_message on__|__off__
2649
2650
2651 Select whether you want to see the copyright notice during
2652 startup. Default is `on', as you probably
2653 noticed.
2654
2655
2656 __stuff__ ''string''
2657
2658
2659 Stuff the string ''string'' in the input buffer of the
2660 current window. This is like the ``paste'' command but with
2661 much less overhead. You cannot paste large buffers with the
2662 ``stuff'' command. It is most useful for key bindings. See
2663 also ``bindkey''.
2664
2665
2666 __su__ [[__username__ [[__password__
2667 [[__password2__]]
2668
2669
2670 Substitute the user of a display. The command prompts for
2671 all parameters that are omitted. If passwords are specified
2672 as parameters, they have to be specified un-crypted. The
2673 first password is matched against the systems passwd
2674 database, the second password is matched against the
2675 ''screen'' password as set with the commands ``acladd''
2676 or ``password''. ``Su'' may be useful for the ''screen''
2677 administrator to test multiuser setups. When the
2678 identification fails, the user has access to the commands
2679 available for user __nobody__. These are ``detach'',
2680 ``license'', ``version'', ``help'' and
2681 ``displays''.
2682
2683
2684 __suspend__
2685
2686
2687 Suspend ''screen''. The windows are in the `detached'
2688 state, while ''screen'' is suspended. This feature relies
2689 on the shell being able to do job control.
2690
2691
2692 __term__ ''term''
2693
2694
2695 In each window's environment ''screen'' opens, the $TERM
2696 variable is set to ``screen'' by default. But when no
2697 description for ``screen'' is installed in the local termcap
2698 or terminfo data base, you set $TERM to - say - ``vt100''.
2699 This won't do much harm, as ''screen'' is VT100/ANSI
2700 compatible. The use of the ``term'' command is discouraged
2701 for non-default purpose. That is, one may want to specify
2702 special $TERM settings (e.g. vt100) for the next ``screen
2703 rlogin othermachine'' command. Use the command ``screen -T
2704 vt100 rlogin othermachine'' rather than setting and
2705 resetting the default.
2706
2707
2708 __termcap__ ''term terminal-tweaks''
2709 [[''window-tweaks'']__
2710 terminfo__ ''term terminal-tweaks''
2711 [[''window-tweaks'']__
2712 termcapinfo__ ''term terminal-tweaks''
2713 [[''window-tweaks'']
2714
2715
2716 Use this command to modify your terminal's termcap entry
2717 without going through all the hassles involved in creating a
2718 custom termcap entry. Plus, you can optionally customize the
2719 termcap generated for the windows. You have to place these
2720 commands in one of the screenrc startup files, as they are
2721 meaningless once the terminal emulator is booted.
2722 If your system works uses the terminfo database rather than
2723 termcap, ''screen'' will understand the `terminfo'
2724 command, which has the same effects as the `termcap'
2725 command. Two separate commands are provided, as there are
2726 subtle syntactic differences, e.g. when parameter
2727 interpolation (using `%') is required. Note that termcap
2728 names of the capabilities have to be used with the
2729 `terminfo' command.
2730 In many cases, where the arguments are valid in both
2731 terminfo and termcap syntax, you can use the command
2732 `termcapinfo', which is just a shorthand for a pair of
2733 `termcap' and `terminfo' commands with identical
2734 arguments.
2735
2736
2737 The first argument specifies which terminal(s) should be
2738 affected by this definition. You can specify multiple
2739 terminal names by separating them with `|'s. Use `*' to
2740 match all terminals and `vt*' to match all terminals that
2741 begin with ``vt''.
2742
2743
2744 Each ''tweak'' argument contains one or more termcap
2745 defines (separated by `:'s) to be inserted at the start of
2746 the appropriate termcap entry, enhancing it or overriding
2747 existing values. The first tweak modifies your terminal's
2748 termcap, and contains definitions that your terminal uses to
2749 perform certain functions. Specify a null string to leave
2750 this unchanged (e.g. ''). The second (optional) tweak
2751 modifies all the window termcaps, and should contain
2752 definitions that ''screen'' understands (see the
2753 ``VIRTUAL TERMINAL'' section).
2754
2755
2756 Some examples:
2757
2758
2759 termcap xterm* LP:hs@
2760
2761
2762 Informs ''screen'' that all terminals that begin with
2763 `xterm' have firm auto-margins that allow the last position
2764 on the screen to be updated (LP), but they don't really have
2765 a status line (no 'hs' - append `@' to turn entries off).
2766 Note that we assume `LP' for all terminal names that start
2767 with ``vt'', but only if you don't specify a termcap command
2768 for that terminal.
2769
2770
2771 termcap vt* LP
2772 termcap vt102|vt220 Z0=E[[?3h:Z1=E[[?3l
2773
2774
2775 Specifies the firm-margined `LP' capability for all
2776 terminals that begin with `vt', and the second line will
2777 also add the escape-sequences to switch into (Z0) and back
2778 out of (Z1) 132-character-per-line mode if this is a VT102
2779 or VT220. (You must specify Z0 and Z1 in your termcap to use
2780 the width-changing commands.)
2781
2782
2783 termcap vt100
2784
2785
2786 This leaves your vt100 termcap alone and adds the function
2787 key labels to each window's termcap entry.
2788
2789
2790 termcap h19|z19 am@:im=E@:ei=EO dc=E[[P
2791
2792
2793 Takes a h19 or z19 termcap and turns off auto-margins (am@)
2794 and enables the insert mode (im) and end-insert (ei)
2795 capabilities (the `@' in the `im' string is after the `=',
2796 so it is part of the string). Having the `im' and `ei'
2797 definitions put into your terminal's termcap will cause
2798 ''screen'' to automatically advertise the
2799 character-insert capability in each window's termcap. Each
2800 window will also get the delete-character capability (dc)
2801 added to its termcap, which ''screen'' will translate
2802 into a line-update for the terminal (we're pretending it
2803 doesn't support character deletion).
2804
2805
2806 If you would like to fully specify each window's termcap
2807 entry, you should instead set the $SCREENCAP variable prior
2808 to running ''screen''. See the discussion on the
2809 ``VIRTUAL TERMINAL'' in this manual, and the termcap(5) man
2810 page for more information on termcap
2811 definitions.
2812
2813
2814 __time__ [[''string'']
2815
2816
2817 Uses the message line to display the time of day, the host
2818 name, and the load averages over 1, 5, and 15 minutes (if
2819 this is available on your system). For window specific
2820 information use ``info''.
2821
2822
2823 If a string is specified, it changes the format of the time
2824 report like it is described in the ``STRING ESCAPES''
2825 chapter. Screen uses a default of
2826
2827
2828 __title__ [[''windowalias'']
2829
2830
2831 Set the name of the current window to ''windowalias''. If
2832 no name is specified, ''screen'' prompts for one. This
2833 command was known as `aka' in previous
2834 releases.
2835
2836
2837 __unsetenv__ ''var''
2838
2839
2840 Unset an environment variable.
2841
2842
2843 __utf8__ [[__on__|__off__
2844 [[__on__|__off__]]
2845
2846
2847 Change the encoding used in the current window. If utf8 is
2848 enabled, the strings sent to the window will be UTF-8
2849 encoded and vice versa. Omitting the parameter toggles the
2850 setting. If a second parameter is given, the display's
2851 encoding is also changed (this should rather be done with
2852 screen's ``-U'' option). See also ``defutf8'', which changes
2853 the default setting of a new window.
2854
2855
2856 __vbell__ [[__on__|__off__]
2857
2858
2859 Sets the visual bell setting for this window. Omitting the
2860 parameter toggles the setting. If vbell is switched on, but
2861 your terminal does not support a visual bell, a
2862 `vbell-message' is displayed in the status line when the
2863 bell character (^G) is received. Visual bell support of a
2864 terminal is defined by the termcap variable `vb' (terminfo:
2865 'flash').
2866 Per default, vbell is off, thus the audible bell is used.
2867 See also `bell_msg'.
2868
2869
2870 __vbell_msg__ [[''message'']
2871
2872
2873 Sets the visual bell message. ''message'' is printed to
2874 the status line if the window receives a bell character
2875 (^G), vbell is set to ``on'', but the terminal does not
2876 support a visual bell. The default message is ``Wuff,
2877 Wuff!!''. Without parameter, the current message is
2878 shown.
2879
2880
2881 __vbellwait__ ''sec''
2882
2883
2884 Define a delay in seconds after each display of
2885 ''screen'''s visual bell message. The default is 1
2886 second.
2887
2888
2889 __verbose__ [[__on__|__off__]
2890
2891
2892 If verbose is switched on, the command name is echoed,
2893 whenever a window is created (or resurrected from zombie
2894 state). Default is off. Without parameter, the current
2895 setting is shown.
2896
2897
2898 __version__
2899
2900
2901 Print the current version and the compile date in the status
2902 line.
2903
2904
2905 __wall__ ''message''
2906
2907
2908 Write a message to all displays. The message will appear in
2909 the terminal's status line.
2910
2911
2912 __width__ [[__-w__|__-d__] [[''cols''
2913 [[''lines'']]
2914
2915
2916 Toggle the window width between 80 and 132 columns or set it
2917 to ''cols'' columns if an argument is specified. This
2918 requires a capable terminal and the termcap entries ``Z0''
2919 and ``Z1''. See the ``termcap'' command for more
2920 information. You can also specify a new height if you want
2921 to change both values. The __-w__ option tells screen to
2922 leave the display size unchanged and just set the window
2923 size, __-d__ vice versa.
2924
2925
2926 __windowlist__ [[__-b__] | __string__
2927 [[''string''] | __title__ [[''title'']
2928
2929
2930 Display all windows in a table for visual window selection.
2931 The desired window can be selected via the standard movement
2932 keys (see the ``copy'' command) and activated via the return
2933 key. If the __-b__ option is given, screen will switch to
2934 the blank window before presenting the list, so that the
2935 current window is also selectable.
2936
2937
2938 The table format can be changed with the __string__ and
2939 __title__ option, the title is displayed as table
2940 heading, while the lines are made by using the string
2941 setting. The default setting is ``Num Name%=Flags'' for the
2942 title and ``%3n %t%=%f'' for the lines. See the ``STRING
2943 ESCAPES'' chapter for more codes (e.g. color
2944 settings).
2945
2946
2947 __windows__
2948
2949
2950 Uses the message line to display a list of all the windows.
2951 Each window is listed by number with the name of process
2952 that has been started in the window (or its title); the
2953 current window is marked with a `*'; the previous window is
2954 marked with a `-'; all the windows that are ``logged in''
2955 are marked with a `$'; a background window that has received
2956 a bell is marked with a `!'; a background window that is
2957 being monitored and has had activity occur is marked with an
2958 `@'; a window which has output logging turned on is marked
2959 with `(L)'; windows occupied by other users are marked with
2960 `
2961
2962
2963 __wrap__ [[__on__|__off__]
2964
2965
2966 Sets the line-wrap setting for the current window. When
2967 line-wrap is on, the second consecutive printable character
2968 output at the last column of a line will wrap to the start
2969 of the following line. As an added feature, backspace (^H)
2970 will also wrap through the left margin to the previous line.
2971 Default is `on'.
2972
2973
2974 __writebuf__ [[__-e__ ''encoding'']
2975 [[''filename'']
2976
2977
2978 Writes the contents of the paste buffer to the specified
2979 file, or the public accessible screen-exchange file if no
2980 filename is given. This is thought of as a primitive means
2981 of communication between ''screen'' users on the same
2982 host. If an encoding is specified the paste buffer is
2983 recoded on the fly to match the encoding. The filename can
2984 be set with the ''bufferfile'' command and defaults to
2985 ``/tmp/screen-exchange''.
2986
2987
2988 __writelock__
2989 [[__on__|__off__|__auto__]
2990
2991
2992 In addition to access control lists, not all users may be
2993 able to write to the same window at once. Per default,
2994 writelock is in `auto' mode and grants exclusive input
2995 permission to the user who is the first to switch to the
2996 particular window. When he leaves the window, other users
2997 may obtain the writelock (automatically). The writelock of
2998 the current window is disabled by the command ``writelock
2999 off''. If the user issues the command ``writelock on'' he
3000 keeps the exclusive write permission while switching to
3001 other windows.
3002
3003
3004 __xoff
3005 xon__
3006
3007
3008 Insert a CTRL-s / CTRL-q character to the stdin queue of the
3009 current window.
3010
3011
3012 __zombie__ [[''keys'']__
3013 defzombie__ [[''keys'']
3014
3015
3016 Per default ''screen'' windows are removed from the
3017 window list as soon as the windows process (e.g. shell)
3018 exits. When a string of two keys is specified to the zombie
3019 command, `dead' windows will remain in the list. The
3020 __kill__ command may be used to remove such a window.
3021 Pressing the first key in the dead window has the same
3022 effect. When pressing the second key, ''screen'' will
3023 attempt to resurrect the window. The process that was
3024 initially running in the window will be launched again.
3025 Calling __zombie__ without parameters will clear the
3026 zombie setting, thus making windows disappear when their
3027 process exits.
3028
3029
3030 As the zombie-setting is manipulated globally for all
3031 windows, this command should only be called
3032 __defzombie__. Until we need this as a per window
3033 setting, the commands __zombie__ and __defzombie__ are
3034 synonymous.
3035 !!THE MESSAGE LINE
3036
3037
3038 ''Screen'' displays informational messages and other
3039 diagnostics in a ''message line''. While this line is
3040 distributed to appear at the bottom of the screen, it can be
3041 defined to appear at the top of the screen during
3042 compilation. If your terminal has a status line defined in
3043 its termcap, ''screen'' will use this for displaying its
3044 messages, otherwise a line of the current screen will be
3045 temporarily overwritten and output will be momentarily
3046 interrupted. The message line is automatically removed after
3047 a few seconds delay, but it can also be removed early (on
3048 terminals without a status line) by beginning to
3049 type.
3050
3051
3052 The message line facility can be used by an application
3053 running in the current window by means of the ANSI
3054 ''Privacy message'' control sequence. For instance, from
3055 within the shell, try something like:
3056
3057
3058 echo '
3059
3060
3061 where 'escape'', '^' is a literal
3062 up-arrow, and '\' turns into a single
3063 backslash.
3064 !!WINDOW TYPES
3065
3066
3067 Screen provides three different window types. New windows
3068 are created with ''screen'''s __screen__ command (see
3069 also the entry in chapter ``CUSTOMIZATION''). The first
3070 parameter to the __screen__ command defines which type of
3071 window is created. The different window types are all
3072 special cases of the normal type. They have been added in
3073 order to allow ''screen'' to be used efficiently as a
3074 console multiplexer with 100 or more windows.
3075
3076
3077 The normal window contains a shell (default, if no parameter
3078 is given) or any other system command that could be executed
3079 from a shell (e.g. __slogin__, etc...)
3080
3081
3082 If a tty (character special device) name (e.g.
3083 ``/dev/ttya'') is specified as the first parameter, then the
3084 window is directly connected to this device. This window
3085 type is similar to ``screen cu -l /dev/ttya''. Read and
3086 write access is required on the device node, an exclusive
3087 open is attempted on the node to mark the connection line as
3088 busy. An optional parameter is allowed consisting of a comma
3089 separated list of flags in the notation used by
3090 stty(1):
3091
3092
3093
3094
3095 Usually 300, 1200, 9600 or 19200. This affects transmission
3096 as well as receive speed.
3097
3098
3099 cs8 or cs7
3100
3101
3102 Specify the transmission of eight (or seven) bits per
3103 byte.
3104
3105
3106 ixon or -ixon
3107
3108
3109 Enables (or disables) software flow-control (CTRL-S/CTRL-Q)
3110 for sending data.
3111
3112
3113 ixoff or -ixon
3114
3115
3116 Enables (or disables) software flow-control for receiving
3117 data.
3118
3119
3120 istrip or -istrip
3121
3122
3123 Clear (or keep) the eight bit in each received
3124 byte.
3125
3126
3127 You may want to specify as many of these options as
3128 applicable. Unspecified options cause the terminal driver to
3129 make up the parameter values of the connection. These values
3130 are system dependant and may be in defaults or values saved
3131 from a previous connection.
3132
3133
3134 For tty windows, the __info__ command shows some of the
3135 modem control lines in the status line. These may include
3136 `RTS', `CTS', 'DTR', `DSR', `CD' and more. This depends on
3137 the available ioctl()'s and system header files as well as
3138 the on the physical capabilities of the serial board.
3139 Signals that are logical low (inactive) have their name
3140 preceded by an exclamation mark (!), otherwise the signal is
3141 logical high (active). Signals not supported by the hardware
3142 but available to the ioctl() interface are usually shown
3143 low.
3144 When the CLOCAL status bit is true, the whole set of modem
3145 signals is placed inside curly braces ({ and }). When the
3146 CRTSCTS or TIOCSOFTCAR bit is set, the signals `CTS' or `CD'
3147 are shown in parenthesis, respectively.
3148
3149
3150 For tty windows, the command __break__ causes the Data
3151 transmission line (TxD) to go low for a specified period of
3152 time. This is expected to be interpreted as break signal on
3153 the other side. No data is sent and no modem control line is
3154 changed when a __break__ is issued.
3155
3156
3157 If the first parameter is ``//telnet'', the second parameter
3158 is expected to be a host name, and an optional third
3159 parameter may specify a TCP port number (default decimal
3160 23). Screen will connect to a server listening on the remote
3161 host and use the telnet protocol to communicate with that
3162 server.
3163 For telnet windows, the command __info__ shows details
3164 about the connection in square brackets ([[ and ]) at the end
3165 of the status line.
3166
3167
3168 b
3169
3170
3171 BINARY. The connection is in binary mode.
3172
3173
3174 e
3175
3176
3177 ECHO. Local echo is disabled.
3178
3179
3180 c
3181
3182
3183 SGA. The connection is in `character mode' (default: `line
3184 mode').
3185
3186
3187 t
3188
3189
3190 TTYPE. The terminal type has been requested by the remote
3191 host. Screen sends the name ``screen'' unless instructed
3192 otherwise (see also the command `term').
3193
3194
3195 w
3196
3197
3198 NAWS. The remote site is notified about window size
3199 changes.
3200
3201
3202 f
3203
3204
3205 LFLOW. The remote host will send flow control information.
3206 (Ignored at the moment.)
3207
3208
3209 Additional flags for debugging are x, t and n (XDISPLOC,
3210 TSPEED and NEWENV).
3211
3212
3213 For telnet windows, the command __break__ sends the
3214 telnet code IAC BREAK (decimal 243) to the remote
3215 host.
3216
3217
3218 This window type is only available if ''screen'' was
3219 compiled with the BUILTIN_TELNET option
3220 defined.
3221 !!STRING ESCAPES
3222
3223
3224 Screen provides an escape mechanism to insert information
3225 like the current time into messages or file names. The
3226 escape character is '%' with one exception: inside of a
3227 window's hardstatus '^%' ('^E') is used
3228 instead.
3229
3230
3231 Here is the full list of supported escapes:
3232
3233
3234 %
3235
3236
3237 the escape character itself
3238
3239
3240 a
3241
3242
3243 either 'am' or 'pm'
3244
3245
3246 A
3247
3248
3249 either 'AM' or 'PM'
3250
3251
3252 c
3253
3254
3255 current time HH:MM in 24h format
3256
3257
3258 C
3259
3260
3261 current time HH:MM in 12h format
3262
3263
3264 d
3265
3266
3267 day number
3268
3269
3270 D
3271
3272
3273 weekday name
3274
3275
3276 f
3277
3278
3279 flags of the window
3280
3281
3282 F
3283
3284
3285 sets %? to true if the window has the focus
3286
3287
3288 h
3289
3290
3291 hardstatus of the window
3292
3293
3294 H
3295
3296
3297 hostname of the system
3298
3299
3300 l
3301
3302
3303 current load of the system
3304
3305
3306 m
3307
3308
3309 month number
3310
3311
3312 M
3313
3314
3315 month name
3316
3317
3318 n
3319
3320
3321 window number
3322
3323
3324 s
3325
3326
3327 seconds
3328
3329
3330 t
3331
3332
3333 window title
3334
3335
3336 u
3337
3338
3339 all other users on this window
3340
3341
3342 w
3343
3344
3345 all window numbers and names. With '-' quailifier: up to the
3346 current window; with '+' qualifier: starting with the window
3347 after the current one.
3348
3349
3350 W
3351
3352
3353 all window numbers and names except the current
3354 one
3355
3356
3357 y
3358
3359
3360 last two digits of the year number
3361
3362
3363 Y
3364
3365
3366 full year number
3367
3368
3369 ?
3370
3371
3372 the part to the next '%?' is displayed only if an escape
3373 expands to an nonempty string
3374
3375
3376 :
3377
3378
3379 else part of '%?'
3380
3381
3382 =
3383
3384
3385 pad the string to the display's width (like TeX's hfill). If
3386 a number is specified, pad to the percentage of the window's
3387 width. A '0' qualifier tells screen to treat the number as
3388 absolute position. You can specify to pad relative to the
3389 last absolute pad position by adding a '+' qualifier or to
3390 pad relative to the right margin by using '-'. The padding
3391 truncates the string if the specified position lies before
3392 the current position. Add the 'L' qualifier to change
3393 this.
3394
3395
3396
3397
3398 same as '%=' but just do truncation, do not fill with
3399 spaces
3400
3401
3402
3403
3404 mark the current text position for the next truncation. When
3405 screen needs to do truncation, it tries to do it in a way
3406 that the marked position gets moved to the specified
3407 percentage of the output area. (The area starts from the
3408 last absolute pad position and ends with the position
3409 specified by the truncation operator.) The 'L' qualifier
3410 tells screen to mark the truncated parts with
3411 '...'.
3412
3413
3414 {
3415
3416
3417 attribute/color modifier string terminated by the next
3418 ``}''
3419
3420
3421 The 'c' and 'C' escape may be qualified with a '0' to make
3422 ''screen'' use zero instead of space as fill character.
3423 The '0' qualifier also makes the '=' escape use absolute
3424 positions. The 'n' and '=' escapes understand a length
3425 qualifier (e.g. '%3n'), 'D' and 'M' can be prefixed with 'L'
3426 to generate long names, 'w' and 'W' also show the window
3427 flags if 'L' is given.
3428
3429
3430 An attribute/color modifier is is used to change the
3431 attributes or the color settings. Its format is ``[[attribute
3432 modifier] [[color description]''. The attribute modifier must
3433 be prefixed by a change type indicator if it can be confused
3434 with a color desciption. The following change types are
3435 known:
3436
3437
3438 +
3439
3440
3441 add the specified set to the current attributes
3442
3443
3444 -
3445
3446
3447 remove the set from the current attributes
3448
3449
3450 !
3451
3452
3453 invert the set in the current attributes
3454
3455
3456 =
3457
3458
3459 change the current attributes to the specified
3460 set
3461
3462
3463 The attribute set can either be specified as a hexadecimal
3464 number or a combination of the following
3465 letters:
3466
3467
3468 u
3469
3470
3471 underline
3472
3473
3474 b
3475
3476
3477 bold
3478
3479
3480 r
3481
3482
3483 reverse
3484
3485
3486 s
3487
3488
3489 standout
3490
3491
3492 B
3493
3494
3495 blinking
3496
3497
3498 Colors are coded either as a hexadecimal number or two
3499 letters specifying the desired background and foreground
3500 color (in that order). The following colors are
3501 known:
3502
3503
3504 k
3505
3506
3507 black
3508
3509
3510 r
3511
3512
3513 red
3514
3515
3516 g
3517
3518
3519 green
3520
3521
3522 y
3523
3524
3525 yellow
3526
3527
3528 b
3529
3530
3531 blue
3532
3533
3534 m
3535
3536
3537 magenta
3538
3539
3540 c
3541
3542
3543 cyan
3544
3545
3546 w
3547
3548
3549 white
3550
3551
3552 d
3553
3554
3555 default color
3556
3557
3558 .
3559
3560
3561 leave color unchanged
3562
3563
3564 The capitalized versions of the letter specify bright
3565 colors. You can also use the pseudo-color 'i' to set just
3566 the brightness and leave the color unchanged.
3567 A one digit/letter color description is treated as
3568 foreground or background color dependant on the current
3569 attributes: if reverse mode is set, the background color is
3570 changed instead of the foreground color. If you don't like
3571 this, prefix the color with a ``.''. If you want the same
3572 behaviour for two-letter color descriptions, also prefix
3573 them with a ``.''.
3574 As a special case, ``%{-}'' restores the attributes and
3575 colors that were set before the last change was made (i.e.
3576 pops one level of the color-change stack).
3577
3578
3579 Examples:
3580
3581
3582 ``G''
3583
3584
3585 set color to bright green
3586
3587
3588 ``+b r''
3589
3590
3591 use bold red
3592
3593
3594 ``= yd''
3595
3596
3597 clear all attributes, write in default color on yellow
3598 background.
3599
3600
3601 %-Lw%{= BW}%50
3602
3603
3604 The available windows centered at the current window and
3605 truncated to the available width. The current window is
3606 displayed white on blue. This can be used with ``hardstatus
3607 alwayslastline''.
3608
3609
3610 %?%F%{.R.}%?%3n %t%? [[%h]%?
3611
3612
3613 The window number and title and the window's hardstatus, if
3614 one is set. Also use a red background if this is the active
3615 focus. Useful for ``caption string''.
3616 !!FLOW-CONTROL
3617
3618
3619 Each window has a flow-control setting that determines how
3620 ''screen'' deals with the XON and XOFF characters (and
3621 perhaps the interrupt character). When flow-control is
3622 turned off, ''screen'' ignores the XON and XOFF
3623 characters, which allows the user to send them to the
3624 current program by simply typing them (useful for the
3625 ''emacs'' editor, for instance). The trade-off is that it
3626 will take longer for output from a ``normal'' program to
3627 pause in response to an XOFF. With flow-control turned on,
3628 XON and XOFF characters are used to immediately pause the
3629 output of the current window. You can still send these
3630 characters to the current program, but you must use the
3631 appropriate two-character ''screen'' commands (typically
3632 ``C-a q'' (xon) and ``C-a s'' (xoff)). The xon/xoff commands
3633 are also useful for typing C-s and C-q past a terminal that
3634 intercepts these characters.
3635
3636
3637 Each window has an initial flow-control value set with
3638 either the __-f__ option or the ``defflow'' .screenrc
3639 command. Per default the windows are set to automatic
3640 flow-switching. It can then be toggled between the three
3641 states 'fixed on', 'fixed off' and 'automatic' interactively
3642 with the ``flow'' command bound to
3643 __
3644
3645
3646 The automatic flow-switching mode deals with flow control
3647 using the TIOCPKT mode (like ``rlogin'' does). If the tty
3648 driver does not support TIOCPKT, ''screen'' tries to find
3649 out the right mode based on the current setting of the
3650 application keypad - when it is enabled, flow-control is
3651 turned off and visa versa. Of course, you can still
3652 manipulate flow-control manually when needed.
3653
3654
3655 If you're running with flow-control enabled and find that
3656 pressing the interrupt key (usually C-c) does not interrupt
3657 the display until another 6-8 lines have scrolled by, try
3658 running ''screen'' with the ``interrupt'' option (add the
3659 ``interrupt'' flag to the ``flow'' command in your
3660 .screenrc, or use the __-i__ command-line option). This
3661 causes the output that ''screen'' has accumulated from
3662 the interrupted program to be flushed. One disadvantage is
3663 that the virtual terminal's memory contains the non-flushed
3664 version of the output, which in rare cases can cause minor
3665 inaccuracies in the output. For example, if you switch
3666 screens and return, or update the screen with ``C-a l'' you
3667 would see the version of the output you would have gotten
3668 without ``interrupt'' being on. Also, you might need to turn
3669 off flow-control (or use auto-flow mode to turn it off
3670 automatically) when running a program that expects you to
3671 type the interrupt character as input, as it is possible to
3672 interrupt the output of the virtual terminal to your
3673 physical terminal when flow-control is enabled. If this
3674 happens, a simple refresh of the screen with ``C-a l'' will
3675 restore it. Give each mode a try, and use whichever mode you
3676 find more comfortable.
3677 !!TITLES (naming windows)
3678
3679
3680 You can customize each window's name in the window display
3681 (viewed with the ``windows'' command (C-a w)) by setting it
3682 with one of the title commands. Normally the name displayed
3683 is the actual command name of the program created in the
3684 window. However, it is sometimes useful to distinguish
3685 various programs of the same name or to change the name
3686 on-the-fly to reflect the current state of the
3687 window.
3688
3689
3690 The default name for all shell windows can be set with the
3691 ``shelltitle'' command in the .screenrc file, while all
3692 other windows are created with a ``screen'' command and thus
3693 can have their name set with the __-t__ option.
3694 Interactively, there is the title-string escape-sequence
3695 (__name''
3696 ''
3697
3698
3699 Finally, ''screen'' has a shell-specific heuristic that
3700 is enabled by setting the window's name to
3701 ``''search|name'''' and arranging to have a null title
3702 escape-sequence output as a part of your prompt. The
3703 ''search'' portion specifies an end-of-prompt search
3704 string, while the ''name'' portion specifies the default
3705 shell name for the window. If the ''name'' ends in a `:'
3706 ''screen'' will add what it believes to be the current
3707 command running in the window to the end of the window's
3708 shell name (e.g. ``''name:cmd''''). Otherwise the current
3709 command name supersedes the shell name while it is
3710 running.
3711
3712
3713 Here's how it works: you must modify your shell prompt to
3714 output a null title-escape-sequence
3715 (
3716 search'' portion of the title. Once
3717 this is set up, ''screen'' will use the
3718 title-escape-sequence to clear the previous command name and
3719 get ready for the next command. Then, when a newline is
3720 received from the shell, a search is made for the end of the
3721 prompt. If found, it will grab the first word after the
3722 matched string and use it as the command name. If the
3723 command name begins with either '!', '%', or '^'
3724 ''screen'' will use the first word on the following line
3725 (if found) in preference to the just-found name. This helps
3726 csh users get better command names when using job control or
3727 history recall commands.
3728
3729
3730 Here's some .screenrc examples:
3731
3732
3733 screen -t top 2 nice top
3734
3735
3736 Adding this line to your .screenrc would start a nice-d
3737 version of the ``top'' command in window 2 named ``top''
3738 rather than ``nice''.
3739
3740
3741 shelltitle '
3742 These commands would start a shell with the given shelltitle. The title specified is an auto-title that would expect the prompt and the typed command to look something like the following:
3743
3744
3745 /usr/joe/src/dir
3746
3747
3748 (it looks after the '
3749
3750
3751 bind R screen -t '% |root:' su
3752
3753
3754 Having this command in your .screenrc would bind the key
3755 sequence ``C-a R'' to the ``su'' command and give it an
3756 auto-title name of ``root:''. For this auto-title to work,
3757 the screen could look something like this:
3758
3759
3760 % !em
3761 emacs file.c
3762 Here the user typed the csh history command ``!em'' which ran the previously entered ``emacs'' command. The window status would show ``root:emacs'' during the execution of the command, and revert to simply ``root:'' at its completion.
3763
3764
3765 bind o title
3766 bind E title
3767 The first binding doesn't have any arguments, so it would prompt you for a title. when you type ``C-a o''. The second binding would clear an auto-title's current setting (C-a E). The third binding would set the current window's title to ``(unknown)'' (C-a u).
3768
3769
3770 One thing to keep in mind when adding a null
3771 title-escape-sequence to your prompt is that some shells
3772 (like the csh) count all the non-control characters as part
3773 of the prompt's length. If these invisible characters aren't
3774 a multiple of 8 then backspacing over a tab will result in
3775 an incorrect display. One way to get around this is to use a
3776 prompt like this:
3777
3778
3779 set prompt='^[[[[0000m^[[k^[[% '
3780
3781
3782 The escape-sequence ``
3783
3784
3785 PROMPT_COMMAND='echo -n -e
3786
3787
3788 (I used ``134'' to output a `' because of a bug in bash
3789 v1.04).
3790 !!THE VIRTUAL TERMINAL
3791
3792
3793 Each window in a ''screen'' session emulates a VT100
3794 terminal, with some extra functions added. The VT100
3795 emulator is hard-coded, no other terminal types can be
3796 emulated.
3797 Usually ''screen'' tries to emulate as much of the
3798 VT100/ANSI standard as possible. But if your terminal lacks
3799 certain capabilities, the emulation may not be complete. In
3800 these cases ''screen'' has to tell the applications that
3801 some of the features are missing. This is no problem on
3802 machines using termcap, because ''screen'' can use the
3803 $TERMCAP variable to customize the standard ''screen''
3804 termcap.
3805
3806
3807 But if you do a rlogin on another machine or your machine
3808 supports only terminfo this method fails. Because of this,
3809 ''screen'' offers a way to deal with these cases. Here is
3810 how it works:
3811
3812
3813 When ''screen'' tries to figure out a terminal name for
3814 itself, it first looks for an entry named
3815 ``screen.
3816 ''screen'' tries ``screen'' (or ``screen-w'' if the
3817 terminal is wide (132 cols or more)). If even this entry
3818 cannot be found, ``vt100'' is used as a
3819 substitute.
3820
3821
3822 The idea is that if you have a terminal which doesn't
3823 support an important feature (e.g. delete char or clear to
3824 EOS) you can build a new termcap/terminfo entry for
3825 ''screen'' (named ``screen.
3826 ''Screen'' also sets the $TERMCAP variable reflecting the
3827 capabilities of the virtual terminal emulated. Notice that,
3828 however, on machines using the terminfo database this
3829 variable has no effect. Furthermore, the variable $WINDOW is
3830 set to the window number of each window.
3831
3832
3833 The actual set of capabilities supported by the virtual
3834 terminal depends on the capabilities supported by the
3835 physical terminal. If, for instance, the physical terminal
3836 does not support underscore mode, ''screen'' does not put
3837 the `us' and `ue' capabilities into the window's $TERMCAP
3838 variable, accordingly. However, a minimum number of
3839 capabilities must be supported by a terminal in order to run
3840 ''screen''; namely scrolling, clear screen, and direct
3841 cursor addressing (in addition, ''screen'' does not run
3842 on hardcopy terminals or on terminals that
3843 over-strike).
3844
3845
3846 Also, you can customize the $TERMCAP value used by
3847 ''screen'' by using the ``termcap'' .screenrc command, or
3848 by defining the variable $SCREENCAP prior to startup. When
3849 the is latter defined, its value will be copied verbatim
3850 into each window's $TERMCAP variable. This can either be the
3851 full terminal definition, or a filename where the terminal
3852 ``screen'' (and/or ``screen-w'') is defined.
3853
3854
3855 Note that ''screen'' honors the ``terminfo'' .screenrc
3856 command if the system uses the terminfo database rather than
3857 termcap.
3858
3859
3860 When the boolean `G0' capability is present in the termcap
3861 entry for the terminal on which ''screen'' has been
3862 called, the terminal emulation of ''screen'' supports
3863 multiple character sets. This allows an application to make
3864 use of, for instance, the VT100 graphics character set or
3865 national character sets. The following control functions
3866 from ISO 2022 are supported: ''lock shift G0''
3867 (''SI''), ''lock shift G1'' (''SO''), ''lock shift
3868 G2'', ''lock shift G3'', ''single shift G2'', and
3869 ''single shift G3''. When a virtual terminal is created
3870 or reset, the ASCII character set is designated as ''G0''
3871 through ''G3''. When the `G0' capability is present,
3872 ''screen'' evaluates the capabilities `S0', `E0', and
3873 `C0' if present. `S0' is the sequence the terminal uses to
3874 enable and start the graphics character set rather than
3875 ''SI''. `E0' is the corresponding replacement for
3876 ''SO''. `C0' gives a character by character translation
3877 string that is used during semi-graphics mode. This string
3878 is built like the `acsc' terminfo capability.
3879
3880
3881 When the `po' and `pf' capabilities are present in the
3882 terminal's termcap entry, applications running in a
3883 ''screen'' window can send output to the printer port of
3884 the terminal. This allows a user to have an application in
3885 one window sending output to a printer connected to the
3886 terminal, while all other windows are still active (the
3887 printer port is enabled and disabled again for each chunk of
3888 output). As a side-effect, programs running in different
3889 windows can send output to the printer simultaneously. Data
3890 sent to the printer is not displayed in the window. The
3891 ''info'' command displays a line starting `PRIN' while
3892 the printer is active.
3893
3894
3895 ''Screen'' maintains a hardstatus line for every window.
3896 If a window gets selected, the display's hardstatus will be
3897 updated to match the window's hardstatus line. If the
3898 display has no hardstatus the line will be displayed as a
3899 standard ''screen'' message. The hardstatus line can be
3900 changed with the ANSI Application Program Command (APC):
3901 ``ESC_
3902 ''
3903
3904
3905 Some capabilities are only put into the $TERMCAP variable of
3906 the virtual terminal if they can be efficiently implemented
3907 by the physical terminal. For instance, `dl' (delete line)
3908 is only put into the $TERMCAP variable if the terminal
3909 supports either delete line itself or scrolling regions.
3910 Note that this may provoke confusion, when the session is
3911 reattached on a different terminal, as the value of $TERMCAP
3912 cannot be modified by parent processes.
3913
3914
3915 The following is a list of control sequences recognized by
3916 ''screen''. ``(V)'' and ``(A)'' indicate VT100-specific
3917 and ANSI- or ISO-specific functions,
3918 respectively.
3919
3920
3921 __ESC E__ Next Line
3922
3923
3924 __ESC D__ Index
3925
3926
3927 __ESC M__ Reverse Index
3928
3929
3930 __ESC H__ Horizontal Tab Set
3931
3932
3933 __ESC Z__ Send VT100 Identification String
3934
3935
3936 __ESC 7__ (V)
3937
3938
3939 Save Cursor and Attributes
3940
3941
3942 __ESC 8__ (V)
3943
3944
3945 Restore Cursor and Attributes
3946
3947
3948 __ESC [[s__ (A)
3949
3950
3951 Save Cursor and Attributes
3952
3953
3954 __ESC [[u__ (A)
3955
3956
3957 Restore Cursor and Attributes
3958
3959
3960 __ESC c__ Reset to Initial State
3961
3962
3963 __ESC g__ Visual Bell
3964
3965
3966 __ESC__ Pn __p__ Cursor Visibility
3967 (97801)
3968
3969
3970 Pn = __6__ Invisible
3971
3972
3973 __7__ Visible
3974
3975
3976 __ESC =__ (V)
3977
3978
3979 Application Keypad Mode
3980
3981
3982 __ESC __ (V)
3983
3984
3985 Numeric Keypad Mode
3986
3987
3988 __ESC # 8__ (V)
3989
3990
3991 Fill Screen with E's
3992
3993
3994 __ESC \__ (A)
3995
3996
3997 String Terminator
3998
3999
4000 __ESC ^__ (A)
4001
4002
4003 Privacy Message String (Message Line)
4004
4005
4006 __ESC !__ Global Message String (Message
4007 Line)
4008
4009
4010 __ESC k__ A.k.a. Definition String
4011
4012
4013 __ESC P__ (A)
4014
4015
4016 Device Control String. Outputs a string directly to the host
4017 terminal without interpretation.
4018
4019
4020 __ESC ___ (A)
4021
4022
4023 Application Program Command (Hardstatus)
4024
4025
4026 __ESC ] 0 ; string ^G__ (A)
4027
4028
4029 Operating System Command (Hardstatus, xterm title
4030 hack)
4031
4032
4033 __ESC ] 83 ; cmd ^G__ (A)
4034
4035
4036 Execute screen command. This only works if multi-user
4037 support is compiled into screen. The pseudo-user
4038 ``:window:'' is used to check the access control list. Use
4039 ``addacl :window: -rwx #?'' to create a user with no rights
4040 and allow only the needed commands.
4041
4042
4043 __Control-N__ (A)
4044
4045
4046 Lock Shift G1 (SO)
4047
4048
4049 __Control-O__ (A)
4050
4051
4052 Lock Shift G0 (SI)
4053
4054
4055 __ESC n__ (A)
4056
4057
4058 Lock Shift G2
4059
4060
4061 __ESC o__ (A)
4062
4063
4064 Lock Shift G3
4065
4066
4067 __ESC N__ (A)
4068
4069
4070 Single Shift G2
4071
4072
4073 __ESC O__ (A)
4074
4075
4076 Single Shift G3
4077
4078
4079 __ESC (__ Pcs (A)
4080
4081
4082 Designate character set as G0
4083
4084
4085 __ESC )__ Pcs (A)
4086
4087
4088 Designate character set as G1
4089
4090
4091 __ESC *__ Pcs (A)
4092
4093
4094 Designate character set as G2
4095
4096
4097 __ESC +__ Pcs (A)
4098
4099
4100 Designate character set as G3
4101
4102
4103 __ESC [[__ Pn __;__ Pn __H__ Direct Cursor
4104 Addressing
4105
4106
4107 __ESC [[__ Pn __;__ Pn __f__ same as
4108 above
4109
4110
4111 __ESC [[__ Pn __J__ Erase in Display
4112
4113
4114 Pn = None or __0__
4115
4116
4117 From Cursor to End of Screen
4118
4119
4120 __1__ From Beginning of Screen to Cursor
4121
4122
4123 __2__ Entire Screen
4124
4125
4126 __ESC [[__ Pn __K__ Erase in Line
4127
4128
4129 Pn = None or __0__
4130
4131
4132 From Cursor to End of Line
4133
4134
4135 __1__ From Beginning of Line to Cursor
4136
4137
4138 __2__ Entire Line
4139
4140
4141 __ESC [[__ Pn __X__ Erase character
4142
4143
4144 __ESC [[__ Pn __A__ Cursor Up
4145
4146
4147 __ESC [[__ Pn __B__ Cursor Down
4148
4149
4150 __ESC [[__ Pn __C__ Cursor Right
4151
4152
4153 __ESC [[__ Pn __D__ Cursor Left
4154
4155
4156 __ESC [[__ Pn __E__ Cursor next line
4157
4158
4159 __ESC [[__ Pn __F__ Cursor previous line
4160
4161
4162 __ESC [[__ Pn __G__ Cursor horizontal
4163 position
4164
4165
4166 __ESC [[__ Pn __`__ same as above
4167
4168
4169 __ESC [[__ Pn __d__ Cursor vertical
4170 position
4171
4172
4173 __ESC [[__ Ps __;__...__;__ Ps __m__ Select
4174 Graphic Rendition
4175
4176
4177 Ps = None or __0__
4178
4179
4180 Default Rendition
4181
4182
4183 __1__ Bold
4184
4185
4186 __2__ (A)
4187
4188
4189 Faint
4190
4191
4192 __3__ (A)
4193
4194
4195 ''Standout'' Mode (ANSI: Italicized)
4196
4197
4198 __4__ Underlined
4199
4200
4201 __5__ Blinking
4202
4203
4204 __7__ Negative Image
4205
4206
4207 __22__ (A)
4208
4209
4210 Normal Intensity
4211
4212
4213 __23__ (A)
4214
4215
4216 ''Standout'' Mode off (ANSI: Italicized off)
4217
4218
4219 __24__ (A)
4220
4221
4222 Not Underlined
4223
4224
4225 __25__ (A)
4226
4227
4228 Not Blinking
4229
4230
4231 __27__ (A)
4232
4233
4234 Positive Image
4235
4236
4237 __30__ (A)
4238
4239
4240 Foreground Black
4241
4242
4243 __31__ (A)
4244
4245
4246 Foreground Red
4247
4248
4249 __32__ (A)
4250
4251
4252 Foreground Green
4253
4254
4255 __33__ (A)
4256
4257
4258 Foreground Yellow
4259
4260
4261 __34__ (A)
4262
4263
4264 Foreground Blue
4265
4266
4267 __35__ (A)
4268
4269
4270 Foreground Magenta
4271
4272
4273 __36__ (A)
4274
4275
4276 Foreground Cyan
4277
4278
4279 __37__ (A)
4280
4281
4282 Foreground White
4283
4284
4285 __39__ (A)
4286
4287
4288 Foreground Default
4289
4290
4291 __40__ (A)
4292
4293
4294 Background Black
4295
4296
4297 __...__
4298
4299
4300 __49__ (A)
4301
4302
4303 Background Default
4304
4305
4306 __ESC [[__ Pn __g__ Tab Clear
4307
4308
4309 Pn = None or __0__
4310
4311
4312 Clear Tab at Current Position
4313
4314
4315 __3__ Clear All Tabs
4316
4317
4318 __ESC [[__ Pn __;__ Pn __r__ (V)
4319
4320
4321 Set Scrolling Region
4322
4323
4324 __ESC [[__ Pn __I__ (A)
4325
4326
4327 Horizontal Tab
4328
4329
4330 __ESC [[__ Pn __Z__ (A)
4331
4332
4333 Backward Tab
4334
4335
4336 __ESC [[__ Pn __L__ (A)
4337
4338
4339 Insert Line
4340
4341
4342 __ESC [[__ Pn __M__ (A)
4343
4344
4345 Delete Line
4346
4347
4348 __ESC [[__ Pn __@__ (A)
4349
4350
4351 Insert Character
4352
4353
4354 __ESC [[__ Pn __P__ (A)
4355
4356
4357 Delete Character
4358
4359
4360 __ESC [[__ Pn __S__ Scroll Scrolling Region
4361 Up
4362
4363
4364 __ESC [[__ Pn __T__ Scroll Scrolling Region
4365 Down
4366
4367
4368 __ESC [[__ Pn __^__ same as above
4369
4370
4371 __ESC [[__ Ps __;__...__;__ Ps __h__ Set
4372 Mode
4373
4374
4375 __ESC [[__ Ps __;__...__;__ Ps __l__ Reset
4376 Mode
4377
4378
4379 Ps = __4__ (A)
4380
4381
4382 Insert Mode
4383
4384
4385 __20__ (A)
4386
4387
4388 ''Automatic Linefeed'' Mode
4389
4390
4391 __34__ Normal Cursor Visibility
4392
4393
4394 __?1__ (V)
4395
4396
4397 Application Cursor Keys
4398
4399
4400 __?3__ (V)
4401
4402
4403 Change Terminal Width to 132 columns
4404
4405
4406 __?5__ (V)
4407
4408
4409 Reverse Video
4410
4411
4412 __?6__ (V)
4413
4414
4415 ''Origin'' Mode
4416
4417
4418 __?7__ (V)
4419
4420
4421 ''Wrap'' Mode
4422
4423
4424 __?9__ X10 mouse tracking
4425
4426
4427 __?25__ (V)
4428
4429
4430 Visible Cursor
4431
4432
4433 __?1000__ (V)
4434
4435
4436 VT200 mouse tracking
4437
4438
4439 __ESC [[ 5 i__ (A)
4440
4441
4442 Start relay to printer (ANSI Media Copy)
4443
4444
4445 __ESC [[ 4 i__ (A)
4446
4447
4448 Stop relay to printer (ANSI Media Copy)
4449
4450
4451 __ESC [[ 8 ;__ Ph __;__ Pw __t__ Resize the window
4452 to `Ph' lines and `Pw' columns (!SunView
4453 special)
4454
4455
4456 __ESC [[ c__ Send VT100 Identification String
4457
4458
4459 __ESC [[ x__ Send Terminal Parameter Report
4460
4461
4462 __ESC [[ __ Send VT220 Secondary Device Attributes
4463 String
4464
4465
4466 __ESC [[ 6 n__ Send Cursor Position Report
4467 !!INPUT TRANSLATION
4468
4469
4470 In order to do a full VT100 emulation ''screen'' has to
4471 detect that a sequence of characters in the input stream was
4472 generated by a keypress on the user's keyboard and insert
4473 the VT100 style escape sequence. ''Screen'' has a very
4474 flexible way of doing this by making it possible to map
4475 arbitrary commands on arbitrary sequences of characters. For
4476 standard VT100 emulation the command will always insert a
4477 string in the input buffer of the window (see also command
4478 __stuff__ in the command table). Because the sequences
4479 generated by a keypress can change after a reattach from a
4480 different terminal type, it is possible to bind commands to
4481 the termcap name of the keys. ''Screen'' will insert the
4482 correct binding after each reattach. See the __bindkey__
4483 command for further details on the syntax and
4484 examples.
4485
4486
4487 Here is the table of the default key bindings. (A) means
4488 that the command is executed if the keyboard is switched
4489 into application mode.
4490
4491
4492 Key name Termcap name Command
4493 ______________________________________________________
4494 Cursor up ku stuff 033[[A
4495 stuff 033OA (A)
4496 Cursor down kd stuff 033[[B
4497 stuff 033OB (A)
4498 Cursor right kr stuff 033[[C
4499 stuff 033OC (A)
4500 Cursor left kl stuff 033[[D
4501 stuff 033OD (A)
4502 Function key 0 k0 stuff 033[[10~
4503 Function key 1 k1 stuff 033OP
4504 Function key 2 k2 stuff 033OQ
4505 Function key 3 k3 stuff 033OR
4506 Function key 4 k4 stuff 033OS
4507 Function key 5 k5 stuff 033[[15~
4508 Function key 6 k6 stuff 033[[17~
4509 Function key 7 k7 stuff 033[[18~
4510 Function key 8 k8 stuff 033[[19~
4511 Function key 9 k9 stuff 033[[20~
4512 Function key 10 k; stuff 033[[21~
4513 Function key 11 F1 stuff 033[[23~
4514 Function key 12 F2 stuff 033[[24~
4515 Home kh stuff 033[[1~
4516 End kH stuff 033[[4~
4517 Insert kI stuff 033[[2~
4518 Delete kD stuff 033[[3~
4519 Page up kP stuff 033[[5~
4520 Page down kN stuff 033[[6~
4521 Keypad 0 f0 stuff 0
4522 stuff 033Op (A)
4523 Keypad 1 f1 stuff 1
4524 stuff 033Oq (A)
4525 Keypad 2 f2 stuff 2
4526 stuff 033Or (A)
4527 Keypad 3 f3 stuff 3
4528 stuff 033Os (A)
4529 Keypad 4 f4 stuff 4
4530 stuff 033Ot (A)
4531 Keypad 5 f5 stuff 5
4532 stuff 033Ou (A)
4533 Keypad 6 f6 stuff 6
4534 stuff 033Ov (A)
4535 Keypad 7 f7 stuff 7
4536 stuff 033Ow (A)
4537 Keypad 8 f8 stuff 8
4538 stuff 033Ox (A)
4539 Keypad 9 f9 stuff 9
4540 stuff 033Oy (A)
4541 Keypad + f+ stuff +
4542 stuff 033Ok (A)
4543 Keypad - f- stuff -
4544 stuff 033Om (A)
4545 Keypad * f* stuff *
4546 stuff 033Oj (A)
4547 Keypad / f/ stuff /
4548 stuff 033Oo (A)
4549 Keypad = fq stuff =
4550 stuff 033OX (A)
4551 Keypad . f. stuff .
4552 stuff 033On (A)
4553 Keypad , f, stuff ,
4554 stuff 033Ol (A)
4555 Keypad enter fe stuff 015
4556 stuff 033OM (A)
4557 !!SPECIAL TERMINAL CAPABILITIES
4558
4559
4560 The following table describes all terminal capabilities that
4561 are recognized by ''screen'' and are not in the
4562 termcap(5) manual. You can place these capabilities in your
4563 termcap entries (in `/etc/termcap') or use them with the
4564 commands `termcap', `terminfo' and `termcapinfo' in your
4565 screenrc files. It is often not possible to place these
4566 capabilities in the terminfo database.
4567
4568
4569 __LP__ ''(bool)''
4570
4571
4572 Terminal has VT100 style margins (`magic margins'). Note
4573 that this capability is obsolete because ''screen'' uses
4574 the standard 'xn' instead.
4575
4576
4577 __Z0__ ''(str)''
4578
4579
4580 Change width to 132 columns.
4581
4582
4583 __Z1__ ''(str)''
4584
4585
4586 Change width to 80 columns.
4587
4588
4589 __WS__ ''(str)''
4590
4591
4592 Resize display. This capability has the desired width and
4593 height as arguments. ''!SunView(tm)'' example:
4594 'E[[8;%d;%dt'.
4595
4596
4597 __NF__ ''(bool)''
4598
4599
4600 Terminal doesn't need flow control. Send ^S and ^Q direct to
4601 the application. Same as 'flow off'. The opposite of this
4602 capability is 'nx'.
4603
4604
4605 __G0__ ''(bool)''
4606
4607
4608 Terminal can deal with ISO 2022 font selection
4609 sequences.
4610
4611
4612 __S0__ ''(str)''
4613
4614
4615 Switch charset 'G0' to the specified charset. Default is
4616 'E(%.'.
4617
4618
4619 __E0__ ''(str)''
4620
4621
4622 Switch charset 'G0' back to standard charset. Default is
4623 'E(B'.
4624
4625
4626 __C0__ ''(str)''
4627
4628
4629 Use the string as a conversion table for font '0'. See the
4630 'ac' capability for more details.
4631
4632
4633 __CS__ ''(str)''
4634
4635
4636 Switch cursor-keys to application mode.
4637
4638
4639 __CE__ ''(str)''
4640
4641
4642 Switch cursor-keys back to normal mode.
4643
4644
4645 __AN__ ''(bool)''
4646
4647
4648 Turn on autonuke. See the 'autonuke' command for more
4649 details.
4650
4651
4652 __OL__ ''(num)''
4653
4654
4655 Set the output buffer limit. See the 'obuflimit' command for
4656 more details.
4657
4658
4659 __KJ__ ''(str)''
4660
4661
4662 Set the encoding of the terminal. See the 'encoding' command
4663 for valid encodings.
4664
4665
4666 __AF__ ''(str)''
4667
4668
4669 Change character foreground color in an ANSI conform way.
4670 This capability will almost always be set to 'E[[3%dm'
4671 ('E[[3%p1%dm' on terminfo machines).
4672
4673
4674 __AB__ ''(str)''
4675
4676
4677 Same as 'AF', but change background color.
4678
4679
4680 __AX__ ''(bool)''
4681
4682
4683 Does understand ANSI set default fg/bg color (E[[39m /
4684 E[[49m).
4685
4686
4687 __XC__ ''(str)''
4688
4689
4690 Describe a translation of characters to strings depending on
4691 the current font. More details follow in the next
4692 section.
4693
4694
4695 __XT__ ''(bool)''
4696
4697
4698 Terminal understands special xterm sequences (OSC, mouse
4699 tracking).
4700
4701
4702 __C8__ ''(bool)''
4703
4704
4705 Terminal needs bold to display high-intensity colors (e.g.
4706 Eterm).
4707
4708
4709 __TF__ ''(bool)''
4710
4711
4712 Add missing capabilities to the termcap/info entry. (Set by
4713 default).
4714 !!CHARACTER TRANSLATION
4715
4716
4717 ''Screen'' has a powerful mechanism to translate
4718 characters to arbitrary strings depending on the current
4719 font and terminal type. Use this feature if you want to work
4720 with a common standard character set (say ISO8851-latin1)
4721 even on terminals that scatter the more unusual characters
4722 over several national language font pages.
4723
4724
4725 Syntax:
4726
4727
4728 __ XC=__''''{__,,__''''}
4729 '' '' := ''''{__,__''''}
4730 '' '' := ''
4731 ''The things in braces may be repeated any number of times.
4732
4733
4734 A '''' tells ''screen'' how to
4735 map characters in font '''' ('B':
4736 Ascii, 'A': UK, 'K': german, etc.) to strings. Every
4737 '''' describes to what string a single
4738 character will be translated. A template mechanism is used,
4739 as most of the time the codes have a lot in common (for
4740 example strings to switch to and from another charset). Each
4741 occurrence of '%' in '''' gets
4742 substituted with the '''' specified
4743 together with the character. If your strings are not similar
4744 at all, then use '%' as a template and place the full string
4745 in ''''. A quoting mechanism was
4746 added to make it possible to use a real '%'. The ''
4747 character quotes the special characters '', '%', and
4748 ','.
4749
4750
4751 Here is an example:
4752
4753
4754 termcap hp700 'XC=BE(K%E(B,304[[,326\\,334]'
4755
4756
4757 This tells ''screen'' how to translate ISOlatin1 (charset
4758 'B') upper case umlaut characters on a hp700 terminal that
4759 has a german charset. '304' gets translated to 'E(K[[E(B' and
4760 so on. Note that this line gets parsed *three* times before
4761 the internal lookup table is built, therefore a lot of
4762 quoting is needed to create a single ''.
4763
4764
4765 Another extension was added to allow more emulation: If a
4766 mapping translates the unquoted '%' char, it will be sent to
4767 the terminal whenever ''screen'' switches to the
4768 corresponding ''''. In this special
4769 case the template is assumed to be just '%' because the
4770 charset switch sequence and the character mappings normally
4771 haven't much in common.
4772
4773
4774 This example shows one use of the extension:
4775
4776
4777 termcap xterm 'XC=K%,%E(B,[[304,\\326,]334'
4778
4779
4780 Here, a part of the german ('K') charset is emulated on an
4781 xterm. If ''screen'' has to change to the 'K' charset,
4782 'E(B' will be sent to the terminal, i.e. the ASCII charset
4783 is used instead. The template is just '%', so the mapping is
4784 straightforward: '[[' to '304', '' to '326', and ']' to
4785 '334'.
4786 !!ENVIRONMENT
4787
4788
4789 COLUMNS Number of columns on the terminal (overrides termcap
4790 entry).
4791
4792
4793 HOME Directory in which to look for .screenrc.
4794
4795
4796 LINES Number of lines on the terminal (overrides termcap
4797 entry).
4798
4799
4800 LOCKPRG Screen lock program.
4801
4802
4803 NETHACKOPTIONS
4804
4805
4806 Turns on nethack option.
4807
4808
4809 PATH Used for locating programs to run.
4810
4811
4812 SCREENCAP
4813
4814
4815 For customizing a terminal's TERMCAP value.
4816
4817
4818 SCREENDIR
4819
4820
4821 Alternate socket directory.
4822
4823
4824 SCREENRC
4825
4826
4827 Alternate user screenrc file.
4828
4829
4830 SHELL Default shell program for opening windows (default
4831 ``/bin/sh'').
4832
4833
4834 STY Alternate socket name.
4835
4836
4837 SYSSCREENRC
4838
4839
4840 Alternate system screenrc file.
4841
4842
4843 TERM Terminal name.
4844
4845
4846 TERMCAP Terminal description.
4847
4848
4849 WINDOW Window number of a window (at creation
4850 time).
4851 !!FILES
4852
4853
4854 .../screen-3.?.??/etc/screenrc
4855
4856
4857 .../screen-3.?.??/etc/etcscreenrc
4858
4859
4860 Examples in the ''screen'' distribution package for
4861 private and global initialization files.
4862
4863
4864 $SYSSCREENRC
4865
4866
4867 /etc/screenrc ''screen'' initialization
4868 commands
4869
4870
4871 $SCREENRC
4872
4873
4874 $HOME/.screenrc Read in after /etc/screenrc
4875
4876
4877 $SCREENDIR/S-
4878
4879
4880 /var/run/screen/S-
4881
4882
4883 /usr/tmp/screens/S-
4884
4885
4886
4887
4888 Written by the
4889
4890
4891 /usr/tmp/screens/screen-exchange
4892
4893
4894 or
4895
4896
4897 /tmp/screen-exchange ''screen'' `interprocess
4898 communication buffer'
4899
4900
4901 hardcopy.[[0-9] Screen images created by the hardcopy
4902 function
4903
4904
4905 screenlog.[[0-9] Output log files created by the log
4906 function
4907
4908
4909 /usr/lib/terminfo/?/* or
4910
4911
4912 /etc/termcap Terminal capability databases
4913
4914
4915 /var/run/utmp Login records
4916
4917
4918 $LOCKPRG Program that locks a terminal.
4919 !!SEE ALSO
4920
4921
4922 termcap(5), utmp(5), vi(1), captoinfo(1),
4923 tic(1)
4924 !!AUTHORS
4925
4926
4927 Originally created by Oliver Laumann, this latest version
4928 was produced by Wayne Davison, Juergen Weigert and Michael
4929 Schroeder.
4930 !!COPYLEFT
4931
4932
4933 Copyright (C) 1993-2002
4934 Juergen Weigert (jnweiger@immd4.informatik.uni-erlangen.de)
4935 Michael Schroeder (mlschroe@immd4.informatik.uni-erlangen.de)
4936 Copyright (C) 1987 Oliver Laumann
4937 This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version.
4938
4939
4940 This program is distributed in the hope that it will be
4941 useful, but WITHOUT ANY WARRANTY; without even the implied
4942 warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
4943 PURPOSE. See the GNU General Public License for more
4944 details.
4945
4946
4947 You should have received a copy of the GNU General Public
4948 License along with this program (see the file COPYING); if
4949 not, write to the Free Software Foundation, Inc., 59 Temple
4950 Place - Suite 330, Boston, MA 02111-1307, USA
4951 !!CONTRIBUTORS
4952
4953
4954 Ken Beal (kbeal@amber.ssd.csd.harris.com),
4955 Rudolf Koenig (rfkoenig@immd4.informatik.uni-erlangen.de),
4956 Toerless Eckert (eckert@immd4.informatik.uni-erlangen.de),
4957 Wayne Davison (davison@borland.com),
4958 Patrick Wolfe (pat@kai.com, kailand!pat),
4959 Bart Schaefer (schaefer@cse.ogi.edu),
4960 Nathan Glasser (nathan@brokaw.lcs.mit.edu),
4961 Larry W. Virden (lvirden@cas.org),
4962 Howard Chu (hyc@hanauma.jpl.nasa.gov),
4963 Tim !MacKenzie (tym@dibbler.cs.monash.edu.au),
4964 Markku Jarvinen (mta@{cc,cs,ee}.tut.fi),
4965 Marc Boucher (marc@CAM.ORG),
4966 Doug Siebert (dsiebert@isca.uiowa.edu),
4967 Ken Stillson (stillson@tsfsrv.mitre.org),
4968 Ian Frechett (frechett@spot.Colorado.EDU),
4969 Brian Koehmstedt (bpk@gnu.ai.mit.edu),
4970 Don Smith (djs6015@ultb.isc.rit.edu),
4971 Frank van der Linden (vdlinden@fwi.uva.nl),
4972 Martin Schweikert (schweik@cpp.ob.open.de),
4973 David Vrona (dave@sashimi.lcu.com),
4974 E. Tye !McQueen (tye%spillman.UUCP@uunet.uu.net),
4975 Matthew Green (mrg@mame.mu.oz.au),
4976 Christopher Williams (cgw@unt.edu),
4977 Matt Mosley (mattm@access.digex.net),
4978 Gregory Neil Shapiro (gshapiro@wpi.WPI.EDU),
4979 Johannes Zellner (johannes@zellner.org),
4980 Pablo Averbuj (pablo@averbuj.com).
4981 !!VERSION
4982
4983
4984 This is version 3.9.9. Its roots are a merge of a custom
4985 version 2.3PR7 by Wayne Davison and several enhancements to
4986 Oliver Laumann's version 2.0. Note that all versions
4987 numbered 2.x are copyright by Oliver Laumann.
4988 !!AVAILABILITY
4989
4990
4991 The latest official release of ''screen'' available via
4992 anonymous ftp from gnudist.gnu.org, nic.funet.fi or any
4993 other ''GNU'' distribution site. The home site of
4994 ''screen'' is ftp.uni-erlangen.de, in the directory
4995 pub/utilities/screen. The subdirectory `private' contains
4996 the latest beta testing release. If you want to help, send a
4997 note to screen@uni-erlangen.de.
4998 !!BUGS
4999
5000
5001 `dm' (delete mode) and `xs' are not handled correctly (they
5002 are ignored). `xn' is treated as a magic-margin
5003 indicator.
5004
5005
5006 ''Screen'' has no clue about double-high or double-wide
5007 characters. But this is the only area where ''vttest'' is
5008 allowed to fail.
5009
5010
5011 It is not possible to change the environment variable
5012 $TERMCAP when reattaching under a different terminal
5013 type.
5014
5015
5016 The support of terminfo based systems is very limited.
5017 Adding extra capabilities to $TERMCAP may not have any
5018 effects.
5019
5020
5021 ''Screen'' does not make use of hardware
5022 tabs.
5023
5024
5025 ''Screen'' must be installed as set-uid with owner root
5026 on most systems in order to be able to correctly change the
5027 owner of the tty device file for each window. Special
5028 permission may also be required to write the file
5029 ``/var/run/utmp''.
5030
5031
5032 Entries in ``/var/run/utmp'' are not removed when
5033 ''screen'' is killed with SIGKILL. This will cause some
5034 programs (like
5035 ''
5036
5037
5038 ''Screen'' may give a strange warning when your tty has
5039 no utmp entry.
5040
5041
5042 When the modem line was hung up, ''screen'' may not
5043 automatically detach (or quit) unless the device driver is
5044 configured to send a HANGUP signal. To detach a
5045 ''screen'' session use the -D or -d command line
5046 option.
5047
5048
5049 If a password is set, the command line options -d and -D
5050 still detach a session without asking.
5051
5052
5053 Both ``breaktype'' and ``defbreaktype'' change the break
5054 generating method used by all terminal devices. The first
5055 should change a window specific setting, where the latter
5056 should change only the default for new windows.
5057
5058
5059 When attaching to a multiuser session, the user's .screenrc
5060 file is not sourced. Each user's personal settings have to
5061 be included in the .screenrc file from which the session is
5062 booted, or have to be changed manually.
5063
5064
5065 A weird imagination is most useful to gain full advantage of
5066 all the features.
5067
5068
5069 Send bug-reports, fixes, enhancements, t-shirts, money, beer
5070 screen@uni-erlangen.de__.
9 AristotlePagaltzis 5071 ----
This page is a man page (or other imported legacy content). We are unable to automatically determine the license status of this page.

PHP Warning

lib/blame.php:177: Warning: Invalid argument supplied for foreach() (...repeated 4 times)