
Jedes Mal, wenn sich die Terminalgröße ändert, bash
wird normalerweise resize
automatisch LINES
und COLUMNS
neu berechnet. Aus irgendeinem Grund funktioniert dies jedoch nicht in einem Docker-Container, der bash
interaktiv ausgeführt wird.
Ich habe es shopt checkwinsize -s
in meinem bashrc
Docker-Container (und überprüft, dass es on
verwendet wird shopt
). Dasselbe gilt für die Host- bash
Sitzung.
Mir gehen wirklich die Ideen aus; shopt checkwinsize -s
das ist die einzige Methode, die ich gefunden habe, um bash
eine automatische Auswertung zu erreichen resize
, wenn die Fenstergröße geändert wird.
Antwort1
Wenn Ihre Shell per su auf Rootzugriff gesetzt ist, kann Docker möglicherweise keine Signale an sie senden, da dadurch eine Berechtigungsgrenze überschritten wird. (Dies ist nicht nur ein Docker-Problem.)
Weiterführende Literatur:
- Angehängte SIGWINCH-Prozesse #5736, erwähnt das
su
Problem. - SIGBJD
- Docker an den Curses-Prozess anhängen