2012-05-09 8 views
8

Ich wechsle Terminal-Anwendungen, von OSX Terminal.app auf die Google Chrome Secure Shell app, und die Art und Weise Trennlinien zwischen den Bereichen in einem Fenster in tmux ändert sich von einem Terminal zum anderen.tmux: Trennlinie Anzeige Unterschied zwischen Terminals

In Terminal.app die Trennlinie nur das heißt, eine Zeile:

:

In Secure Shell wird die Trennlinie als eine Linie von q s gerenderte

Ich kann an drei mögliche Fälle denken:

  1. Dies ist eine Einstellung, die ich in meiner Shell beheben kann.
  2. Dies ist eine Einstellung, die ich aus den Secure Shell-Einstellungen beheben kann.
  3. Dies ist eine Einstellung, die von den Secure Shell-Einstellungen noch nicht unterstützt wird.

Aber ich bin mir nicht sicher, was es ist. Ich würde es gerne hacken, wenn es Fall Nr. 3 ist, aber ich bin mir nicht sicher, was für die Anzeige einer Zeile vs q s verantwortlich ist, also kann ich nicht anfangen zu googeln und zu lernen, was getan werden muss .

+0

sieht aus wie Ich bin auf der Suche nach der Handhabung von [box-drawing characters] (http://en.wikipedia.org/wiki/Box-drawing_character), damit ich anfangen kann. – rampion

Antwort

3

Ihr Terminalemulator (Google Chrome Secure Shell) unterstützt nicht die ASC-Funktion (Alternate Character Set), die durch den durch die TERM-Umgebungsvariable angegebenen Terminfo-Datenbankeintrag angekündigt wird zu (oder gestartet) Ihre tmux Sitzung.

Das Chromium-Projekt hat an issue zur Unterstützung von Zeichensatz im Terminalemulator, den die Chrome App verwendet.


Per den VT100 User Guide, Table 3-9: Special Graphics Characters, wenn die „spezielle Grafik gesetzt“ ausgewählt ist, q verwendet wird „Horizontale Linie - Scan 5“ zu zeichnen.

Unter terminfo sind die speziellen VT100-Grafikzeichen als Teil der ACS-Funktionalität (Alternate Character Set) verfügbar. Siehe den Abschnitt "Line Graphics" der terminfo(5) man page.


Wenn Sie tmux 1.4 oder höher verwenden, und Google Chrome Secure Shell unterstützt UTF-8, dann sollten Sie in der Lage sein, UTF-8 Linie, indem sie Zeichen bekommen Zeichnung -u auf Ihre tmux Clients (oder mit UTF-8 in LC_ALL, LC_CTYPE oder LANG, wenn Sie einen tmux Client ausführen).

Alternativ können Sie tmux konfigurieren, dass die ACS-bezogenen term Fähigkeiten unscharf zu schalten (in Ihrem ~/.tmux.conf):

# Google Chrome Secure Shell does not (yet) support ACS; do not use it (for now). 
set-option -ga terminal-overrides ',*:[email protected]:[email protected]:[email protected]:[email protected]' 

tmux wird in ASCII-Linie zurückgreifen Zeichnung (zB -, | und +), wenn der angeschlossene Client UTF-8 nicht unterstützt und der terminfo-Datenbankeintrag des TERM (wie von terminal-overrides angepasst) keine ACS-Funktionen ankündigt.

Hinweis: Sie müssen Ihren tmux Server (Beenden aller Sitzungen) grundsätzlich neu starten, bevor die Konfigurationsänderung wirksam wird.

+0

tolle Antwort. Ich habe deinen Vorschlag benutzt, 'tmux -u' zu verwenden, um es an meine Session anzuhängen und es hat perfekt funktioniert. – rampion

1

Secure Shell führt im Moment keine Strichzeichnungen aus. Sie werden bald hinzugefügt.

3

I gleiche Problem (Putty) hatte und es behoben von LANG-Umgebungsvariable ändert folgenden Befehl

export LANG="en_US:en" 

dann laufen i tmux und Linien wurden korrekt

gezeigt hoffe, es hilft

+0

Dies löst das Problem, dass eine Horz-Zeile in Putty als Akzent A angezeigt wird (sieht aus wie ein ') - Danke user1841286 – ChrisAdmin