Die Ausgabe hat beim SSHing auf einen anderen Computer mit iTerm2 keine Farbe, aber mit Terminal

9

Wie der Titel schon sagt, sshbekomme ich keine Farbausgabe , wenn ich mit iTerm2 auf meinem Fedora-Server arbeite ls. Wenn ich sshmit der Standard-Terminal-App von OS X auf denselben Server gehe, lsfunktioniert die Farbausgabe einwandfrei.

BEARBEITEN: Alle anderen lsAusgaben sind richtig eingefärbt. Sowohl iTerm2 als auch Terminal werden lslokal farbig angezeigt , und Terminal funktioniert ordnungsgemäß, wenn SSH auf die Arbeitsmaschine übertragen wird.

Das einzige Mal, dass ich keine kolorierte lsAusgabe erhalte, ist, wenn ich iTerm2 zu SSH auf meinem Arbeitscomputer verwende. Das Terminal erzeugt eine farbige lsAusgabe, wenn SSH an meinen Arbeitscomputer gesendet wird, ebenso wie PuTTY unter Windows.

Wenn SSH von iTerm2 in meine Arbeitsmaschine eingespeist wird, macht 'ls -G' auch keinen Unterschied. Immer noch keine Färbung am Ausgang.

Wenn SSH von iTerm2 auf meine Arbeitsmaschine übertragen wird, ist das einzige , auf dem ich keine Farbe sehe, die Ausgabe von ls. Meine Eingabeaufforderung ist koloriert, vimarbeitet mit Farbe und wenn echo $TERMich sehe xterm-256color.

Irgendwelche Ideen?

Pumpinglemma
quelle

Antworten:

11

lsDie Ausgabe mit Farben ( ls -G) ist nicht die Standardoption. Führen Sie den folgenden Befehl in Ihrem Terminal aus, um die Farben standardmäßig zu aktivieren:

echo "alias ls='ls -G'" >> ~/.bashrc
source ~/.bashrc

Diese und alle zukünftigen Terminalsitzungen zeigen jetzt die Farben korrekt an.


Wenn auf Ihrer Remote- (oder lokalen) Sitzung immer noch keine Farben angezeigt werden, gehen Sie folgendermaßen vor:

Stellen Sie in iTerm sicher, dass Sie einen Terminaltyp senden, der Farben unterstützt. Öffnen Sie das Einstellungsfenster -> Profile -> Standard -> Terminal. Ich würde empfehlen, xterm-256colorals Terminaltyp zu setzen.

Terminaleinstellungen

Führen Sie ls -Gdie iTerm-Einstellungen aus und öffnen Sie sie erneut, während Sie mit dem Remote-Computer verbunden sind : Einstellungsfenster -> Profile -> Standard -> Farben. Passen Sie die ANSI-Farben an und verringern Sie den minimalen Kontrast , bis die Farben im Terminalfenster Farbe anzeigen.

Terminalfarben

Wenn das Remote-System dies unterstützt ls --color=always, entfernen Sie alle vorhandenen Aliase in ~ / .profile oder ~ / .bashrc und aktualisieren Sie sie wie folgt:

echo "alias ls='ls --color=always'" >> ~/.bashrc
Aaron Lake
quelle
Entschuldigung, ich hätte genauer sein sollen. Ich habe meinen Beitrag entsprechend bearbeitet.
Pumpinglemma
Ja, ich melde mich derzeit xterm-256colorals mein Terminal. Ich aktualisiere meine ursprüngliche Frage erneut mit weiteren Informationen.
Pumpinglemma
Siehe meine neuesten Updates zu ANSI-Farben und den Mindestkontrasteinstellungen. Ich musste etwas Ähnliches tun, IIRC Ich habe die "hellen" ANSI-Farben so angepasst, dass sie mit "Normal" übereinstimmen ... oder vielleicht umgekehrt. Probieren Sie es aus und lassen Sie mich wissen, ob dies das Problem behebt.
Aaron Lake
Der minimale Kontrast ist bereits auf der niedrigsten Stufe. Was meinen Sie mit dem Anpassen der ANSI-Farben? Sollte ich einfach versuchen, sie zu verschieben, bis ich eine farbige Ausgabe sehe?
Pumpinglemma
Das würde ich wieder empfehlen. Ich denke, ich musste das Gleiche tun, wenn ich eine Verbindung zu einem Ubuntu-Computer herstellte, der unter dem Bildschirm ausgeführt wird. Wenn das funktioniert, aktualisiere ich die Antwort so, wie Sie es behoben haben.
Aaron Lake
9

Ich hatte das gleiche Problem. Ich fand heraus, dass das in iTerm (solarisiert) verwendete Farbthema lsdie auf dem SSH-Host verwendeten Farben neu definierte, sodass sie nicht mehr voneinander unterschieden werden konnten.

Sie können Folgendes versuchen, um zu überprüfen, ob dies bei Ihnen nicht der Fall ist:

LS_COLORS="di=07;31" ls    # this will list directories as black on red 

Wenn dies Farben anzeigt, müssen Sie möglicherweise die Farben auf dem Linux-Computer neu definieren. Der folgende Befehl definiert (einige) Farben so, dass sie den OS-X-Standardeinstellungen ähneln:

LS_COLORS="di=00;34:ln=00;35:so=00;32:pi=01;33:ex=00;31:bd=00;34" ls

Informationen zum Bearbeiten der Farben unter Linux finden Sie in der Manpage dircolors. Sie können auch Folgendes zum Festlegen von Farben in .bashrc lesen: https://github.com/seebi/dircolors-solarized#installation

Muro
quelle