Wie löse ich eine GNU-Screen-Sitzung innerhalb von xterm, anstatt sie zu beenden, wenn Sie Cc drücken?

465
joueffy

Beim Start von X wird Folgendes automatisch ausgeführt:

xterm -e screen -rS app1

Dies öffnet eine xterm-Sitzung und fügt den Bildschirm von app1 hinzu, der bereits in einem getrennten Zustand ausgeführt wurde.

Was ich erreichen möchte, ist die Möglichkeit, das Xterm-Fenster zu schließen ctrl-c, ohne die GNU-Bildschirmsitzung zu beenden. Das ctrl-cgezeigte Verhalten beim Drücken von ist, dass app1 und die Bildschirmsitzung beendet wird.

Ich habe über die Autodetach- Funktion gelesen, aber bisher war ich nicht erfolgreich und ich weiß nicht, ob ich das brauche.

Ich verwende KDE mit SLES 11.3.

1
Haben Sie die Bildschirmtrennungsbefehle wie Strg-A d ausprobiert? Herb Wolfe vor 6 Jahren 0
Ja, ich vermute, dass dies funktionieren würde, außer dass die Benutzer des Systems dies nicht wissen würden und wahrscheinlich auf ctrl-c zurückgreifen würden, um das Fenster zu schließen. joueffy vor 6 Jahren 0

1 Antwort auf die Frage

0
chexum

"Schließen eines xterm-Fensters" wird normalerweise nicht mit durchgeführt Ctrl-C. Was wahrscheinlich passiert, ist, dass die Anwendung sie abfängt (SIGINT) und ordnungsgemäß beendet wird, die Bildschirmsitzung verlässt und zum Schließen des Terminals (Fenster) führt.

Ihr Ziel scheint zu sein, dass der Ctrl-CBildschirm von der Anzeige getrennt werden sollte, was durch die Bildschirmzuordnung erfolgen kann:

bindkey "\003" detach 

Sie können dies zum Testen ausgeben und Ctrl-A :dann das obige eingeben. Die Syntax ist für einen benutzerdefinierten .screenrc derselbe, aber geben Sie ihn nicht für jeden Benutzer an. Niemand kann aus einem Programm innerhalb dieses Bildschirms herausbrechen! Wenn Sie die oben genannten und eine autodetach onin einer .my.screenrcDatei haben, können Sie das Original mit aufrufen screen -c .my.screenrcund dann die Anwendung darin starten.

Ich wiederhole, seien Sie sich bewusst, dass jetzt screendie Unterbrechung abgefangen wird. Kein Programm wird in diesem Bildschirm gestartet. Nicht einmal von Ihrer Anwendung gestartete Programme können angehalten werden, wenn sie sich von einem anderen Terminal aus schlecht benehmen / hängen.

Die autodetachOption sorgt dafür, dass das Fenster normalerweise von Ihrem Fenstermanager aus geschlossen wird.

Beeindruckend! genau das, wonach ich gesucht habe. Vielen Dank! joueffy vor 6 Jahren 0