2012-05-09 17 views
8

Przełączam aplikacje terminali, z Terminal.app OSX na Google Chrome Secure Shell app, a sposób dzielenia linii między panelami w oknie w tmux zmienia się z jednego terminala na drugi.tmux: różnica między wyświetlanymi liniami podziału linii między terminalami

W Terminal.app linia podziału jest to, że linia:

w bezpiecznych Shell, linia rozdzielająca staje się jako linia q s:

Mogę wymyślić trzy możliwe przypadki:

  1. To ustawienie można naprawić z poziomu mojej powłoki.
  2. To ustawienie można usunąć z preferencji Secure Shell.
  3. To ustawienie nie jest jeszcze obsługiwane przez preferencje Secure Shell.

Ale nie jestem pewien, co to jest. Byłbym szczęśliwy zhackować go, jeśli jest to sprawa nr 3, ale nie jestem pewien, co jest odpowiedzialne za wyświetlanie linii w stosunku do q s, więc nie mogę uzyskać przyczółek, aby rozpocząć google i dowiedzieć się, co należy zrobić .

+0

wygląda Szukam sposobu, w jaki obsługuje on znaki rysunkowe (http://en.wikipedia.org/wiki/Box-drawing_character), więc to jest gdzie zacząć. – rampion

Odpowiedz

3

Emulator terminalu (Google Chrome Secure Shell) nie obsługuje funkcji alternatywnego zestawu znaków (ASC), która jest anonsowana przez wpis w bazie terminfo określony przez zmienną środowiskową TERM obowiązującą po nawiązaniu połączenia (lub rozpoczęło) sesję tmux.

Projekt Chromium ma an issue dotyczący obsługi zestawu znaków w emulatorze terminala, z którego korzysta aplikacja Chrome.


Per na VT100 User Guide, Table 3-9: Special Graphics Characters, gdy „ustawić specjalne grafiki” jest zaznaczone, q służy do rysowania „linia pozioma - Skanowanie 5”.

Pod terminfo, specjalne znaki graficzne VT100 są dostępne jako część funkcji alternatywnego zestawu znaków (ACS); zobacz sekcję "Grafika liniowa" w terminfo(5) man page.


Jeśli używasz tmux 1.4 lub nowszej, a Google Chrome Secure Shell obsługuje UTF-8, to powinieneś być w stanie uzyskać UTF-8 znaki rysowania linii, dając -u do tmux Klienty (lub posiadające UTF-8 obecne w LC_ALL, LC_CTYPE lub LANG po uruchomieniu klienta tmux).

Alternatywnie, można skonfigurować tmux aby rozbroić ACS związanych możliwości terminfo (w ~/.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 spadnie z powrotem do linii ASCII rysunek (np -, | i +), jeśli podłączony klient nie obsługuje UTF-8, a wpis w jego bazie danych terminala TERM (dostosowany przez terminal-overrides) nie anonsuje możliwości ACS.

Uwaga: Konieczne będzie ponowne uruchomienie serwera tmux (wyjście ze wszystkich sesji), zanim zmiana konfiguracji zostanie uwzględniona.

+0

niesamowita odpowiedź. Użyłem twojej sugestii, aby użyć 'tmux -u' do dołączenia do mojej sesji i działało idealnie. – rampion

1

Funkcja Secure Shell nie obsługuje obecnie rysowania linii. Zostaną one wkrótce dodane.

3

miałem ten sam problem (Putty) i poprawiony przez zmianę zmiennej środowiskowej LANG za pomocą następującego polecenia

export LANG="en_US:en" 

potem uruchomić tmux i linie były prawidłowo wyświetlane

nadzieję, że pomoże

+0

Rozwiązuje to problem linii Horza pokazanej w kitu jako akcentu A (wygląda jak ') - Dzięki! User1841286 – ChrisAdmin