Seite 1 von 1

Rätsel mit Screen: Mir wird's langsam zu bunt!

Verfasst: Di 4. Okt 2016, 17:37
von yeti
Rätsel mit Screen:

Mir wird's langsam zu bunt!
...bzw. nicht bunt.

Mal gaaanz harmlos anfangen:
Wenn ich auf einer Kiste "screen" starte, dann klappt Alles wie erwartet.

Nun zum Drama:
Stecke ich den Start von "screen" in die User-Crontab (@reboot), dann will der Midnight-Commander auf den im so gezimmerten Autostart angelegten Screens nicht von sich aus Farbe nutzen. Andere Programme wie z.B. Weechat hingegen schon und um dem Faß die Krone gänzlich auf den Holzweg zu schlagen bis sie bricht, benutzt Midnight-Commander auf nach dem Autostart zusätzlich angelegten Screens inerhalb der selben "screen"-Session brav Farbe.

Ich knabbere daran schon seit Jahren... nicht dauerhaft, aber immer mal wieder...

Wer dazu sachdienliche Hinweise hat, hinterläßt bitte erhellende Kommentare am Threadende...

Re: Rätsel mit Screen: Mir wird's langsam zu bunt!

Verfasst: Mi 5. Okt 2016, 13:46
von digger
Hi yeti,

ich lasse mein Screen nicht beim Reboot, sondern beim ersten SSH-Remote-Login starten und dann laufen. Hauptsächlich um gekillten Session durch Abbrüche des Netzwerks/VPNs zu vermeiden.

Habe dazu am Ende der ".profile" meines Nutzers das folgende eingefügt:

Code: Alles auswählen

if [ "$TERM" != "screen" ] && [ "$SSH_CONNECTION" != "" ]; then
   /usr/bin/screen -S sshscreen -d -R && exit
fi
Wenn ich also über SSH komme und noch kein Screen läuft wird er gestartet, läuft schon einer dann lande ich gleich in meinem letzten Screen.

Vielleicht ist das ja auch eine Workaround-Variante für dich.

Direkt zu deinem Problem würde ich vermuten, dass zum Zeitpunkt des MC Starts irgendeine TERM Variable noch nicht bzw. nicht richtig gesetzt ist. Also sowas wie VT100 anstelle von ANSI oder XTERM. Vielleicht vorm Start diese Variablen setzen. Vielleicht aber auch nicht über cron sondern über die "rc.local" starten, zu dem Zeitpunkt sind auch schon alle Umgebungsvariablen vorhanden.

Re: Rätsel mit Screen: Mir wird's langsam zu bunt!

Verfasst: Mi 5. Okt 2016, 18:07
von yeti
----------8<-----{20161005-1707-GMT}----->8----------
digger hat geschrieben:ich lasse mein Screen nicht beim Reboot, sondern beim ersten SSH-Remote-Login starten und dann laufen. Hauptsächlich um gekillten Session durch Abbrüche des Netzwerks/VPNs zu vermeiden.
(((...)))
Vielleicht ist das ja auch eine Workaround-Variante für dich.
Ich möchte auf manchem Gerät direkt Prozesse in der ".screenrc" anlegen, die nach einem Neustart für den User hochfahren. Screen erst beim ersten Login starten paßt da leider nicht. :-(
digger hat geschrieben:Direkt zu deinem Problem würde ich vermuten, dass zum Zeitpunkt des MC Starts irgendeine TERM Variable noch nicht bzw. nicht richtig gesetzt ist. Also sowas wie VT100 anstelle von ANSI oder XTERM. Vielleicht vorm Start diese Variablen setzen. Vielleicht aber auch nicht über cron sondern über die "rc.local" starten, zu dem Zeitpunkt sind auch schon alle Umgebungsvariablen vorhanden.
Ich habe "TERM" gar nicht, via "env TERM=XYZZY screen ...", via "TERM=... screen ...", in ".screenrc" und via "screen -T TERMDEF" versucht anzugeben und die Ergebnisse wurden nicht besser.

Ich sehe dieses Fehlverhalten bisher nur beim Midnight-Commander. Andere buntige Programme, die sich ebenso verhalten fielen mir bisher nicht auf, insbesondere funktioniert Weechat, was ein Kandidat für einen solchen Autostart ist.

Midnight-Commander und Weechat benutzen beide Farbe und so man mag, auch die Maus. Ich seh einfach nicht, wo der Unterschied liegen soll...

Vermutlich wird es mir irgendwann wie Sand aus dem immer geringer vorhandenen Haupthaar rieseln und ich werd' mich wundern, wieso ich das nicht eher kappiert habe... aber an dem Punkt bin ich leider noch nicht.

Warum nicht TMUX?
An dem Tag an dem "tmux /dev/ttyUSB0 115200" klappt steige ich um!
Screen kann das und erspart mir so, auch noch MiniCom oder dessen Mitbewerber zu benötigen.
...aber die TMUX-Macher halten dieses Feature für "Bloat"... :-(

Warum nicht NEERCS?
Das ist hübsch, aber seit einem Jahrzehnt unfertig.

But now for something (not really completely) different...

Kennste "MOSH"?
Das Teil ist "Oh Bär: Kraß!!!"...
;-)

----------8<-----{20161005-2100-ZELZ}----->8----------

Nachtrag:
Den Midnight-Commander brauche ich natürlich nicht im Screen-Autostart, aber ich möchte dieses (Fehl?)Verhalten doch irgendwann kappieren...

----------8<-----{Soooooo sieeeedat auuuussssss....}----->8----------

Re: Rätsel mit Screen: Mir wird's langsam zu bunt!

Verfasst: Mi 12. Okt 2016, 05:44
von yeti
----------8<-----{20161012-0444-GMT}----->8----------

Ich glaub ich bin da was auf der Spur...

Code: Alles auswählen

(yeti@cubietruck1:2)~$ ls -l set*
-rw-r--r-- 1 yeti yeti 89767 Okt 12 06:16 set.autostart-screen
-rw-r--r-- 1 yeti yeti 90365 Okt 12 06:16 set.interactiv-angelegter-screen
(yeti@cubietruck1:2)~$ diff -u set.autostart-screen set.interactiv-angelegter-screen
--- set.autostart-screen        2016-10-12 06:16:00.908516010 +0200
+++ set.interactiv-angelegter-screen    2016-10-12 06:16:34.168906930 +0200
@@ -42,10 +42,10 @@
 SHLVL=1
 STY=593.cubietruck1   
 TERM=screen
-TERMCAP=$'SC|screen|VT 100/ANSI X3.64 virtual terminal:\\\n\t:DO=\\E[%dB:LE=\\E[%dD:RI=\\E[%dC:UP=\\E[%dA:bs:bt=\\E[Z:\\\n\t:cd=\\E[J:ce=\\E[K:cl=\\E[H\\E[J:cm=\\E[%i%d;%dH:ct=\\E[3g:\\\n\t:do=^J:nd=\\E[C:pt:rc=\\E8:rs=\\Ec:sc=\\E7:st=\\EH:up=\\EM:\\\n\t:le=^H:bl=^G:cr=^M:it#8:ho=\\E[H:nw=\\EE:ta=^I:is=\\E)0:\\\n\t:li#24:co#80:am:xn:xv:LP:sr=\\EM:al=\\E[L:AL=\\E[%dL:\\\n\t:cs=\\E[%i%d;%dr:dl=\\E[M:DL=\\E[%dM:dc=\\E[P:DC=\\E[%dP:\\\n\t:im=\\E[4h:ei=\\E[4l:mi:IC=\\E[%d@:ks=\\E[?1h\\E=:\\\n\t:ke=\\E[?1l\\E>:vi=\\E[?25l:ve=\\E[34h\\E[?25h:vs=\\E[34l:\\\n\t:ti=\\E[?1049h:te=\\E[?1049l:Km=\\E[M:k0=\\E[10~:k1=\\EOP:\\\n\t:k2=\\EOQ:k3=\\EOR:k4=\\EOS:k5=\\E[15~:k6=\\E[17~:k7=\\E[18~:\\\n\t:k8=\\E[19~:k9=\\E[20~:k;=\\E[21~:F1=\\E[23~:F2=\\E[24~:\\\n\t:kh=\\E[1~:@1=\\E[1~:kH=\\E[4~:@7=\\E[4~:kN=\\E[6~:kP=\\E[5~:\\\n\t:kI=\\E[2~:kD=\\E[3~:ku=\\EOA:kd=\\EOB:kr=\\EOC:kl=\\EOD:'
+TERMCAP=$'SC|screen|VT 100/ANSI X3.64 virtual terminal:\\\n\t:DO=\\E[%dB:LE=\\E[%dD:RI=\\E[%dC:UP=\\E[%dA:bs:bt=\\E[Z:\\\n\t:cd=\\E[J:ce=\\E[K:cl=\\E[H\\E[J:cm=\\E[%i%d;%dH:ct=\\E[3g:\\\n\t:do=^J:nd=\\E[C:pt:rc=\\E8:rs=\\Ec:sc=\\E7:st=\\EH:up=\\EM:\\\n\t:le=^H:bl=^G:cr=^M:it#8:ho=\\E[H:nw=\\EE:ta=^I:is=\\E)0:\\\n\t:li#35:co#102:am:xn:xv:LP:sr=\\EM:al=\\E[L:AL=\\E[%dL:\\\n\t:cs=\\E[%i%d;%dr:dl=\\E[M:DL=\\E[%dM:dc=\\E[P:DC=\\E[%dP:\\\n\t:im=\\E[4h:ei=\\E[4l:mi:IC=\\E[%d@:ks=\\E[?1h\\E=:\\\n\t:ke=\\E[?1l\\E>:vi=\\E[?25l:ve=\\E[34h\\E[?25h:vs=\\E[34l:\\\n\t:ti=\\E[?1049h:te=\\E[?1049l:us=\\E[4m:ue=\\E[24m:so=\\E[3m:\\\n\t:se=\\E[23m:mb=\\E[5m:md=\\E[1m:mh=\\E[2m:mr=\\E[7m:\\\n\t:me=\\E[m:ms:\\\n\t:Co#8:pa#64:AF=\\E[3%dm:AB=\\E[4%dm:op=\\E[39;49m:AX:\\\n\t:vb=\\Eg:G0:as=\\E(0:ae=\\E(B:\\\n\t:ac=\\140\\140aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~..--++,,hhII00:\\\n\t:po=\\E[5i:pf=\\E[4i:Km=\\E[M:k0=\\E[10~:k1=\\EOP:k2=\\EOQ:\\\n\t:k3=\\EOR:k4=\\EOS:k5=\\E[15~:k6=\\E[17~:k7=\\E[18~:\\\n\t:k8=\\E[19~:k9=\\E[20~:k;=\\E[21~:F1=\\E[23~:F2=\\E[24~:\\\n\t:F3=\\E[1;2P:F4=\\E[1;2Q:F5=\\E[1;2R:F6=\\E[1;2S:\\\n\t:F7=\\E[15;2~:F8=\\E[17;2~:F9=\\E[18;2~:FA=\\E[19;2~:kb=\177:\\\n\t:K2=\\EOE:kB=\\E[Z:kF=\\E[1;2B:kR=\\E[1;2A:*4=\\E[3;2~:\\\n\t:*7=\\E[1;2F:#2=\\E[1;2H:#3=\\E[2;2~:#4=\\E[1;2D:%c=\\E[6;2~:\\\n\t:%e=\\E[5;2~:%i=\\E[1;2C:kh=\\E[1~:@1=\\E[1~:kH=\\E[4~:\\\n\t:@7=\\E[4~:kN=\\E[6~:kP=\\E[5~:kI=\\E[2~:kD=\\E[3~:ku=\\EOA:\\\n\t:kd=\\EOB:kr=\\EOC:kl=\\EOD:km:'
 UID=1000
 VDPAU_DRIVER=sunxi
-WINDOW=0
+WINDOW=1
 _=']'
 __git_printf_supports_v=yes
 _backup_glob='@(#*#|*@(~|.@(bak|orig|rej|swp|dpkg*|rpm@(orig|new|save))))'
(yeti@cubietruck1:2)~$ _
...nur welche Bulette nagel ich mir ans Knie, wenn ich manuell die TERMCAP festnagele?
Darüber muß ich erst mal mediYETIen...

----------8<-----{This space incredibly left blank.}----->8----------

Re: Rätsel mit Screen: Mir wird's langsam zu bunt!

Verfasst: Mi 12. Okt 2016, 15:37
von digger
hmmm ... ich hätte einen größeren Unterschied bei der TERMCAP erwartet.

Re: Rätsel mit Screen: Mir wird's langsam zu bunt!

Verfasst: Mi 12. Okt 2016, 16:24
von yeti
digger hat geschrieben:hmmm ... ich hätte einen größeren Unterschied bei der TERMCAP erwartet.
Interessant ist ja, daß ich bisher nur "mc" und "mcedit" fand, die mit der kleineren Termcap partout schwarzweiß bleiben wollen. Mit zusätzlich "-c" aufgerufen tun sie auch mit ebendieser brav in buntig.

Beide sind nicht gerade Kandidaten für einen Autostart-Screen, also benutz ich das erstmal wie's ist und hab für den Fall, daß ich "mc" doch mal auf einem Autostart-Screen starte in der ".bashrc_local" (wird am Ende der ".bashrc" geSOURCEd) kackfrech "alias mc='mc -c'" stehn.

Vielleicht finde ich noch weitere Programme, die sich ähnlich verhalten, und komme so dann auf weitere Ideen.

Aber daß das noch niemand anders aufgefallen sein soll, halte ich eigentlich für unwahrscheinlich. Vermutlich hab ich mal wieder 4 linke Daumen beim Find-o-Mat-Benutzen... aber wie soll man dabei – gerade als nicht mit englischer Zunge geborener – auf geeignete Suchstichworte kommen?

Vielleicht kommt die Lösung ja auch von selbst zu mir...
...wenn ich lange genug geduldig bin...
...also ich übe schon mal: OMMMMMMMMMMMMMMMMMMMM