Черно-белый screen




При запуске screen консоль становится черно-белой (подсветка в vim и выводе ls пропадает). Дистрибутив - Slackware 14.1. Конфиг /etc/screenrc такой:

# This is an example for the global screenrc file.
# You may want to install this file as /etc/screenrc.
# Check config.h for the exact location.
# Flaws of termcap and standard settings are done here.

startup_message off
altscreen on

#defflow on # will force screen to process ^S/^Q

deflogin on
#autodetach off

vbell on
vbell_msg "   Wuff  ----  Wuff!!  "

# all termcap entries are now duplicated as terminfo entries.
# only difference should be the slightly modified syntax, and check for
# terminfo entries, that are already corected in the database.
# WS	this sequence resizes our window.
# cs    this sequence changes the scrollregion
# hs@	we have no hardware statusline. screen will only believe that
#       there is a hardware status line if hs,ts,fs,ds are all set.
# ts    to statusline
# fs    from statusline
# ds    delete statusline
# al    add one line
# AL    add multiple lines
# dl    delete one line
# DL    delete multiple lines
# ic    insert one char (space)
# IC    insert multiple chars
# nx    terminal uses xon/xoff

termcap  facit|vt100|xterm LP:G0
terminfo facit|vt100|xterm LP:G0

#the vt100 description does not mention "dl". *sigh*
termcap  vt100 dl=5\E[M
terminfo vt100 dl=5\E[M

#facit's "al" / "dl"  are buggy if the current / last line
#contain attributes...
termcap  facit al=\E[L\E[K:AL@:dl@:DL@:cs=\E[%i%d;%dr:ic@
terminfo facit al=\E[L\E[K:AL@:dl@:DL@:cs=\E[%i%p1%d;%p2%dr:ic@

#make sun termcap/info better
termcap  sun 'up=^K:AL=\E[%dL:DL=\E[%dM:UP=\E[%dA:DO=\E[%dB:LE=\E[%dD:RI=\E[%dC:IC=\E[%d@:WS=1000\E[8;%d;%dt'
terminfo sun 'up=^K:AL=\E[%p1%dL:DL=\E[%p1%dM:UP=\E[%p1%dA:DO=\E[%p1%dB:LE=\E[%p1%dD:RI=\E[%p1%dC:IC=\E[%p1%d@:WS=\E[8;%p1%d;%p2%dt$<1000>'

#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 (no,no, may (jw)) not work anymore.
termcap  xterm|fptwist hs@:cs=\E[%i%d;%dr:im=\E[4h:ei=\E[4l
terminfo xterm|fptwist hs@:cs=\E[%i%p1%d;%p2%dr:im=\E[4h:ei=\E[4l

# Long time I had this in my private screenrc file. But many people
# seem to want it (jw):
# we do not want the width to change to 80 characters on startup:
# on suns, /etc/termcap has :is=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l:
termcap xterm 'is=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;4;6l'
terminfo xterm 'is=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;4;6l'

# Do not use xterms alternate window buffer. 
# This one would not add lines to the scrollback buffer.
#termcap xterm|xterms|xs ti=\E7\E[?47l
#terminfo xterm|xterms|xs ti=\E7\E[?47l

#make hp700 termcap/info better
termcap  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@'
terminfo 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@'

#wyse-75-42 must have defflow control (xo = "terminal uses xon/xoff")
#(nowadays: nx = padding doesn't work, have to use xon/off)
#essential to have it here, as this is a slow terminal.
termcap wy75-42 nx:xo:Z0=\E[?3h\E[31h:Z1=\E[?3l\E[31h
terminfo wy75-42 nx:xo:Z0=\E[?3h\E[31h:Z1=\E[?3l\E[31h

#remove some stupid / dangerous key bindings
bind ^k
#bind L
bind ^\
#make them better
bind \\ quit
bind K kill
bind I login on
bind O login off
bind } history


Ответ на: комментарий от emulek

А разве bash, выполняемый внутри screen не должен при запуске автоматически обрабатывать /etc/profile? Сейчас опять буду пытаться курить маны по bash и screen и не ха в них не понимать.
Ваш совет помог. Что делать дальше?

sunny1983 ★★★★★
Ответ на: комментарий от sunny1983

А разве bash, выполняемый внутри screen не должен при запуске автоматически обрабатывать /etc/profile?

нет. У меня не обрабатывает. А вот ~/.bashrc обрабатывает.

When bash is invoked as an interactive login shell, or as a non-interactive shell with the --login option, it first reads and executes commands from the file /etc/profile, if that file exists. After reading that file, it looks for ~/.bash_profile, ~/.bash_login, and ~/.profile, in that order, and reads and executes commands from the first one that exists and is readable. The --noprofile option may be used when the shell is started to inhibit this behavior.

When a login shell exits, bash reads and executes commands from the file ~/.bash_logout, if it exists.

When an interactive shell that is not a login shell is started, bash reads and executes com- mands from ~/.bashrc, if that file exists. This may be inhibited by using the --norc option. The --rcfile file option will force bash to read and execute commands from file instead of ~/.bashrc.

я так ~/.bashrc поправил.

Ответ на: комментарий от emulek

То есть нужно принудительно bash внутри screen запускать с опцией --login чтобы он запускался как интерактивный командный интерпритатор. А где в конфиге screen опции запуска bash прописываются?

sunny1983 ★★★★★

А других знатоков кроме emulek на ЛОРе нет? Привет, понедельник!

sunny1983 ★★★★★
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.