| # Copyright 1999-2012 Gentoo Foundation |
| # Distributed under the terms of the GNU General Public License v2 |
| # |
| # /etc/screenrc |
| # |
| # This is the system wide screenrc. |
| # |
| # You can use this file to change the default behavior of screen system wide |
| # or copy it to ~/.screenrc and use it as a starting point for your own |
| # settings. |
| # |
| # Commands in this file are used to set options, bind screen functions to |
| # keys, redefine terminal capabilities, and to automatically establish one or |
| # more windows at the beginning of your screen session. |
| # |
| # This is not a comprehensive list of options, look at the screen manual for |
| # details on everything that you can put in this file. |
| # |
| # |
| |
| # ============================================================================== |
| # SCREEN SETTINGS |
| # ============================================================================== |
| |
| # ESCAPE - the COMMAND CHARACTER |
| # =============================================================== |
| # escape ^aa # default |
| # escape ^^^^ # suggested binding (Control-^) for Emacs users |
| |
| |
| # PASSWORD |
| # =============================================================== |
| # This commands sets the *internal* password for the screen session. |
| # WARNING!! If this is set then a "lock" command will only let you in to the |
| # session after you enter the user's account password and then *also* |
| # the internal password for that session. This gives additional safety but, |
| # if you forget the internal password then you cannot resume your session. |
| # Use :password to generate a password |
| # password ODSJQf.4IJN7E # "1234" |
| |
| |
| # VARIABLES |
| # =============================================================== |
| # No annoying audible bell, using "visual bell" |
| # vbell on # default: off |
| # vbell_msg " -- Bell,Bell!! -- " # default: "Wuff,Wuff!!" |
| |
| # Automatically detach on hangup. |
| autodetach on # default: on |
| |
| # Don't display the copyright page |
| startup_message off # default: on |
| |
| # Uses nethack-style messages |
| # nethack on # default: off |
| |
| # Affects the copying of text regions |
| crlf off # default: off |
| |
| # Enable/disable multiuser mode. Standard screen operation is singleuser. |
| # In multiuser mode the commands acladd, aclchg, aclgrp and acldel can be used |
| # to enable (and disable) other user accessing this screen session. |
| # Requires suid-root. |
| multiuser off |
| |
| # Change default scrollback value for new windows |
| defscrollback 1000 # default: 100 |
| |
| # Define the time that all windows monitored for silence should |
| # wait before displaying a message. Default 30 seconds. |
| silencewait 15 # default: 30 |
| |
| # bufferfile: The file to use for commands |
| # "readbuf" ('<') and "writebuf" ('>'): |
| bufferfile $HOME/.screen_exchange |
| # |
| # hardcopydir: The directory which contains all hardcopies. |
| # hardcopydir ~/.hardcopy |
| # hardcopydir ~/.screen |
| # |
| # shell: Default process started in screen's windows. |
| # Makes it possible to use a different shell inside screen |
| # than is set as the default login shell. |
| # If begins with a '-' character, the shell will be started as a login shell. |
| # shell zsh |
| # shell bash |
| # shell ksh |
| shell -$SHELL |
| |
| # shellaka '> |tcsh' |
| # shelltitle '$ |bash' |
| |
| # emulate .logout message |
| pow_detach_msg "Screen session of \$LOGNAME \$:cr:\$:nl:ended." |
| |
| # caption always " %w --- %c:%s" |
| # caption always "%3n %t%? @%u%?%? [%h]%?%=%c" |
| |
| # advertise hardstatus support to $TERMCAP |
| # termcapinfo * '' 'hs:ts=\E_:fs=\E\\:ds=\E_\E\\' |
| |
| # set every new windows hardstatus line to somenthing descriptive |
| # defhstatus "screen: ^En (^Et)" |
| |
| # don't kill window after the process died |
| # zombie "^[" |
| |
| # ignore displays that block on output |
| defnonblock on |
| |
| # XTERM TWEAKS |
| # =============================================================== |
| |
| # xterm understands both im/ic and doesn't have a status line. |
| # Note: Do not specify im and ic in the real termcap/info file as |
| # some programs (e.g. vi) will not work anymore. |
| termcap xterm* hs@:cs=\E[%i%d;%dr:im=\E[4h:ei=\E[4l |
| terminfo xterm* hs@:cs=\E[%i%p1%d;%p2%dr:im=\E[4h:ei=\E[4l |
| |
| # 80/132 column switching must be enabled for ^AW to work |
| # change init sequence to not switch width |
| termcapinfo xterm* Z0=\E[?3h:Z1=\E[?3l:is=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;4;6l |
| |
| # Make the output buffer large for (fast) xterms. |
| # termcapinfo xterm* OL=10000 |
| termcapinfo xterm* OL=100 |
| |
| # tell screen that xterm can switch to dark background and has function |
| # keys. |
| termcapinfo xterm* 'VR=\E[?5h:VN=\E[?5l' |
| termcapinfo xterm* 'k1=\E[11~:k2=\E[12~:k3=\E[13~:k4=\E[14~' |
| termcapinfo xterm* 'kh=\EOH:kI=\E[2~:kD=\E[3~:kH=\EOF:kP=\E[5~:kN=\E[6~' |
| |
| # special xterm hardstatus: use the window title. |
| termcapinfo xterm* 'hs:ts=\E]2;:fs=\007:ds=\E]2;screen\007' |
| |
| #terminfo xterm 'vb=\E[?5h$<200/>\E[?5l' |
| termcapinfo xterm* 'vi=\E[?25l:ve=\E[34h\E[?25h:vs=\E[34l' |
| |
| # emulate part of the 'K' charset |
| termcapinfo xterm* 'XC=K%,%\E(B,[\304,\\\\\326,]\334,{\344,|\366,}\374,~\337' |
| |
| # xterm-52 tweaks: |
| # - uses background color for delete operations |
| termcapinfo xterm* be |
| |
| # Do not use xterm's alternative window buffer, it breaks scrollback (see bug #61195) |
| termcapinfo xterm*|xs ti@:te=\E[2J |
| |
| # WYSE TERMINALS |
| # =============================================================== |
| |
| #wyse-75-42 must have flow control (xo = "terminal uses xon/xoff") |
| #essential to have it here, as this is a slow terminal. |
| termcapinfo wy75-42 xo:hs@ |
| |
| # New termcap sequences for cursor application mode. |
| termcapinfo wy* CS=\E[?1h:CE=\E[?1l:vi=\E[?25l:ve=\E[?25h:VR=\E[?5h:VN=\E[?5l:cb=\E[1K:CD=\E[1J |
| |
| |
| # OTHER TERMINALS |
| # =============================================================== |
| |
| # make hp700 termcap/info better |
| termcapinfo hp700 'Z0=\E[?3h:Z1=\E[?3l:hs:ts=\E[62"p\E[0$~\E[2$~\E[1$}:fs=\E[0}\E[61"p:ds=\E[62"p\E[1$~\E[61"p:ic@' |
| |
| # Extend the vt100 desciption by some sequences. |
| termcap vt100* ms:AL=\E[%dL:DL=\E[%dM:UP=\E[%dA:DO=\E[%dB:LE=\E[%dD:RI=\E[%dC |
| terminfo vt100* ms:AL=\E[%p1%dL:DL=\E[%p1%dM:UP=\E[%p1%dA:DO=\E[%p1%dB:LE=\E[%p1%dD:RI=\E[%p1%dC |
| termcapinfo linux C8 |
| # old rxvt versions also need this |
| # termcapinfo rxvt C8 |
| |
| |
| # KEYBINDINGS |
| # ============================================================== |
| # The "bind" command assign keys to (internal) commands |
| # SCREEN checks all the keys you type; you type the key |
| # which is known as the "command character" then SCREEN |
| # eats this key, too, and checks whether this key is |
| # "bound" to a command. If so then SCREEN will execute it. |
| # |
| # The command "bind" allows you to chose which keys |
| # will be assigned to the commands. |
| # |
| # Some commands are bound to several keys - |
| # usually to both some letter and its corresponding |
| # control key combination, eg the command |
| # "(create) screen" is bound to both 'c' and '^C'. |
| # |
| # The following list shows the default bindings: |
| # |
| # break ^B b |
| # clear C |
| # colon : |
| # copy ^[ [ |
| # detach ^D d |
| # digraph ^V |
| # displays * |
| # dumptermcap . |
| # fit F |
| # flow ^F f |
| # focus ^I |
| # hardcopy h |
| # help ? |
| # history { } |
| # info i |
| # kill K k |
| # lastmsg ^M m |
| # license , |
| # log H |
| # login L |
| # meta x |
| # monitor M |
| # next ^@ ^N sp n |
| # number N |
| # only Q |
| # other ^X |
| # pow_break B |
| # pow_detach D |
| # prev ^H ^P p ^? |
| # quit \ |
| # readbuf < |
| # redisplay ^L l |
| # remove X |
| # removebuf = |
| # reset Z |
| # screen ^C c |
| # select " ' |
| # silence _ |
| # split S |
| # suspend ^Z z |
| # time ^T t |
| # title A |
| # vbell ^G |
| # version v |
| # width W |
| # windows ^W w |
| # wrap ^R r |
| # writebuf > |
| # xoff ^S s |
| # xon ^Q q |
| # ^] paste . |
| # - select - |
| # 0 select 0 |
| # 1 select 1 |
| # 2 select 2 |
| # 3 select 3 |
| # 4 select 4 |
| # 5 select 5 |
| # 6 select 6 |
| # 7 select 7 |
| # 8 select 8 |
| # 9 select 9 |
| # I login on |
| # O login off |
| # ] paste . |
| # |
| |
| # And here are the default bind commands if you need them: |
| # |
| # bind A title |
| # bind C clear |
| # bind D pow_detach |
| # bind F fit |
| # bind H log |
| # bind I login on |
| # bind K kill |
| # bind L login |
| # bind M monitor |
| # bind N number |
| # bind O login off |
| # bind Q only |
| # bind S split |
| # bind W width |
| # bind X remove |
| # bind Z reset |
| |
| # Let's remove some dangerous key bindings ... |
| bind k |
| bind ^k |
| # bind . dumptermcap # default |
| bind . |
| # bind ^\ quit # default |
| bind ^\ |
| # bind \\ quit # default |
| bind \\ |
| # bind ^h ??? # default |
| bind ^h |
| # bind h hardcopy # default |
| bind h |
| |
| # ... and make them better. |
| bind 'K' kill |
| bind 'I' login on |
| bind 'O' login off |
| bind '}' history |
| |
| # Yet another hack: |
| # Prepend/append register [/] to the paste if ^a^] is pressed. |
| # This lets me have autoindent mode in vi. |
| register [ "\033:se noai\015a" |
| register ] "\033:se ai\015a" |
| bind ^] paste [.] |
| |
| |
| # hardstatus alwaysignore |
| # hardstatus alwayslastline "%Lw" |
| |
| # Resize the current region. The space will be removed from or added to |
| # the region below or if there's not enough space from the region above. |
| bind = resize = |
| bind + resize +3 |
| bind - resize -3 |
| # bind _ resize max |
| # |
| # attrcolor u "-u b" |
| # attrcolor b "R" |
| |
| # STARTUP SCREENS |
| # =============================================================== |
| # Defines the time screen delays a new message when one message |
| # is currently displayed. The default is 1 second. |
| # msgminwait 2 |
| |
| # Time a message is displayed if screen is not disturbed by |
| # other activity. The dafault is 5 seconds: |
| # msgwait 2 |
| |
| # Briefly show the version number of this starting |
| # screen session - but only for *one* second: |
| # msgwait 1 |
| # version |
| |
| # Welcome the user: |
| # echo "welcome :-)" |
| # echo "I love you today." |
| |
| # Uncomment one/some following lines to automatically let |
| # SCREEN start some programs in the given window numbers: |
| # screen -t MAIL 0 mutt |
| # screen -t EDIT 1 vim |
| # screen -t GOOGLE 2 links http://www.google.com |
| # screen -t NEWS 3 slrn |
| # screen -t WWW 4 links http://www.math.fu-berlin.de/~guckes/ |
| # screen 5 |
| # screen 6 |
| |
| # Set the environment variable var to value string. If only var is specified, |
| # you'll be prompted to enter a value. If no parameters are specified, |
| # you'll be prompted for both variable and value. The environment is |
| # inherited by all subsequently forked shells. |
| # setenv PROMPT_COMMAND 'echo -n -e "\033k\033\134"' |
| |
| # Don't you want to start programs which need a DISPLAY ? |
| # setenv DISPLAY '' |