Wie kann ich die Farbe des Terminaltexts in der SSH-Sitzung genau so einstellen wie in der lokalen Sitzung?

Das ist also fast eine Kopie meiner vorherigen Frage: Ändern Sie die Ausgabefarbe des Terminals (auf dem Mac) so, dass sie sich von der eingegebenen Textfarbe unterscheidet, für die ich hier eine großartige Antwort erhalten habe: https://apple.stackexchange.com/a/218736/ 34070 . Das einzige Problem ist jedoch, dass wenn ich ssh verwende, der gesamte Text in der ssh-Sitzung jetzt hellblau ist (siehe Screenshot). Wie kann ich die ssh-Sitzung dazu bringen, dasselbe Farbschema wie meine lokale Sitzung zu verwenden und auch eine andere Ausgabefarbe für Typbefehle und die Ausgabe zu haben?

Geben Sie hier die Bildbeschreibung ein

Antworten (1)

Das Hauptproblem hierbei ist, dass der Eingabeaufforderungsbefehl und die Farboptionen von dem Computer stammen, an dem Sie angemeldet sind. Wenn Sie also irgendwo ssh, müssen Sie auch die Farbgebung/Eingabeaufforderungen auf diesem Server ändern.

Es gibt ein paar Optionen.

  • Abhängig vom Betriebssystem des Servers, bei dem Sie sich anmelden, können Sie die Eingabeaufforderungsfarben in den Anmeldeskripten dort zurücksetzen. Oder;
  • Fügen Sie dem zuvor installierten preexec-Befehl eine Ausnahme hinzu, damit die Vordergrundfarbe für ssh-Befehle nicht geändert wird

So etwas wie [ "$BASH_COMMAND" =~ "^ssh" ] && return in der Funktion preexec_invoke_exec.

Siehe auch serverfault.com/questions/405419/… für eine Möglichkeit, Init-Skripte auf allen Servern zu teilen, bei denen Sie sich über ssh anmelden.