Ich verwende Ubuntu 14.04 (Cinnamon Mint 17.1) mit Bash. Jedes Mal, wenn ich ein neues Terminalfenster öffne, betrete ich screen
, um den Bildschirmfenstermanager zu starten, aber ich möchte, dass die Shell dies für mich erledigt.
Ich glaube, ich muss ändern .bashrc
statt .profile
, so dass es bei jedem neuen Terminalfenster beginnt, nicht nur bei der Anmeldung. Deshalb habe ich am Ende von Folgendes hinzugefügt .bashrc
, um den Shell-Prozess zu ersetzen:
exec /usr/bin/screen -q
Wenn ich ein neues Terminalfenster starte:
- Normalerweise erhalte ich ein leeres Fenster mit einem blinkenden Cursor und die Bash-Eingabeaufforderung wird erst angezeigt, nachdem ich gedrückt habe
Ctrl+C
. - Manchmal wird das Terminalfenster sofort geschlossen, wenn ich drücke
Ctrl+C
oder wenn ich die Größe des Terminalfensters ändere. - Manchmal erhalte ich eine Bash-Eingabeaufforderung mit Nein
$LS_COLORS
(obwohl es schwierig ist, dies zu reproduzieren, bin ich mir nicht ganz sicher, wann oder warum es passiert).
Kann jemand erklären, warum dies für mich fehlschlägt, und eine Lösung vorschlagen?
Vielen Dank,
Huw
bash
gnu-screen
Huw Walters
quelle
quelle
screen
überbash
eine Möglichkeit? Das heißtscreen -q
, ich hatte immer Probleme beimgnome-terminal
direkten Ausführen von Befehlen. Ich bin mir ziemlich sicher, dass dies etwas damit zu tun hat.Ctrl+C
Verhalten "leerer Bildschirm mit aktivierter Bash-Eingabeaufforderung ", kann dann aber das Terminalfenster nicht mit schließenCtrl+D
.Must be connected to a terminal.
und startescreen
überhaupt nicht.Antworten:
Wenn der Bildschirm gestartet wird, startet das erste Fenster Ihre Shell und Sie haben Ihre Shell angewiesen, den Bildschirm zu starten. Wenn der Bildschirm gestartet wird, startet das erste Fenster Ihre Shell und Sie haben Ihre Shell angewiesen, den Bildschirm zu starten. Dann, wenn der Bildschirm startet ...
Aufschäumen, ausspülen, wiederholen.
screen setzt die
$TERM
Variable auf"screen"
, um endlos rekursive Aufrufe des Bildschirms ("Schildkröten ganz nach unten") zu vermeiden. Ihre .bashrc kann enden mit:quelle
[[ $TERM != "screen.xterm-256color" ]] && exec screen -q
$TERM
, führen Sie den Bildschirm aus und geben Sie ihn ein,echo $TERM
bevor Sie ihn bearbeiten.bashrc
.