Ich habe ein interessantes Problem mit dem XFCE-Terminal/Gnome-Terminal (nicht reproduzierbar in XTerm), bei dem die Ausführung bash
oder Anmeldung mit login
oder su
eine neue Bash-Instanz innerhalb einer Bash-Instanz öffnet, wie gezeigt:
_randall@manbearpig:/home/randall[root@manbearpig randall]#
Mit Strg+D und Beenden kehren Sie zur ursprünglichen Bash-Instanz zurück. Wie kann ich erreichen, dass sich diese Terminalemulatoren wie Xterm verhalten, das das neue Benutzerkonto oder die neue Bash-Instanz über der ursprünglichen öffnet?
Antwort1
Ich verstehe das Problem nicht. Tippen bash
oder sindlogin
su
ANGEBLICHum eine neue Shell zu starten.
Was erwarten Sie, was passieren wird?
Ich kann nicht erkennen, wo in Ihrem System etwas falsch ist.
wenn Sie ein anderes TERMINAL-Programm öffnen möchten, geben Sie gnome-terminal
oder den Programmnamen ein.
Schlagist einHülse, wo Sie Befehle eingeben,Gnome-Terminal,xterm,konsole(und viele mehr) sind nurTerminalemulatorendie zeigen,Ausgabeeiner Shell (bash/sh/dash/ksh/csh/zsh...)
Antwort2
Wenn
_randall@manbearpig:/home/randall[root@manbearpig randall]#
ist nicht die erwartete Eingabeaufforderungszeichenfolge, dann überprüfen Sie die Umgebungsvariable PS1, die das Eingabeaufforderungszeichenfolgenformat enthält. Suchen Sie im Bash-Handbuch nach „PROMPTING“, um mehr über PS1 zu erfahren.
Antwort3
Sie müssten etwas wie Folgendes verwenden:
exec bash # or exec login or exec su
Aber seien Sie vorsichtig, da hierdurch der übergeordnete Prozess ersetzt wird, wird das gesamte Fenster/die gesamte Registerkarte wahrscheinlich beendet und es gibt keine Garantie, dass die neue Shell es „speichert“. Sie müssen es selbst ausprobieren, ich kann nur garantieren, dass es in der Konsole funktioniert.