OS X 터미널에서 SSH로 연결된 Linux 서버의 전체 화면 앱에서 줄의 첫 번째 문자가 누락됨

OS X 터미널에서 SSH로 연결된 Linux 서버의 전체 화면 앱에서 줄의 첫 번째 문자가 누락됨

여기에 이미지 설명을 입력하세요Mac OS X Snow Leopard의 터미널 응용 프로그램에 문제가 있습니다.

SSH를 사용하여 원격 Linux 서버에 연결하고 구성 파일 편집을 수행합니다.

어떤 이유로 Linux 서버에 연결하면 문자가 누락되는 경우가 있습니다. 나는 이것을 정확히 찾아내고 반복 가능한 방식으로 발생시키는 데 문제가 있었습니다. 불행하게도 이것이 내가 생각해낸 가장 좋은 방법입니다.

  1. Ubuntu 8.04 서버에 연결

  2. nano(전체 화면 앱)을 사용하여 일부 텍스트 파일 편집

  3. 텍스트 파일의 첫 번째 줄에 줄의 첫 번째 문자(가장 왼쪽 문자)가 없습니다. 예를 들어 텍스트 파일에 "asdf" 줄이 포함되어 있으면 "sdf"가 표시됩니다.

  4. 커서를 이 위치로 이동하면 문자가 다시 그 위치로 돌아옵니다. (선은 나노로 다시 그려집니다.)

  5. 터미널 앱 창 크기를 조정해도 문자가 다시 표시되지 않습니다.

  6. nano에서 새로 고침(CTRL+L)을 누르면 문자가 다시 사라집니다.

less다른 터미널 앱 에서도 동일한 문제가 관찰될 수 있습니다 .

문제는 Gnome 터미널이나 다른 터미널 응용 프로그램에서 반복되지 않으므로 서버 구성과 관련될 수 없습니다. 그러나 두 개의 서로 다른 OS X 설치에서 동일한 문제가 발생하므로 기본 설정에 연결될 수 있습니다.

이것이 UTF-8 인코딩이나 터미널 설정과 관련이 있을 것으로 의심되지만 아직 어떤 설정이 이를 유발하는지 파악하지 못했습니다.

사용되는 SSH 클라이언트는 다음과 같습니다.

 OpenSSH_5.2p1, OpenSSL 0.9.8r 8 Feb 2011

편집하다:

이것은 실제로 로컬 OSX에서도 반복 가능하며 Ubuntu에는 연결되지 않습니다.

Macport를 설치하고(필요한지는 확실하지 않음) 다음 GNU nano를 사용하여 텍스트 파일을 편집합니다.:

GNU nano version 2.0.6 (compiled 11:42:28, May 18 2009)
Email: [email protected] Web: http://www.nano-editor.org/
Compiled options: --disable-nls --enable-color --enable-extra --enable-multibuffer --enable-nanorc

다음 터미널 관련 환경 변수가 설정됩니다.

    TERM=ansi
    TERM_PROGRAM=Apple_Terminal
    TERM_PROGRAM_VERSION=273.1

Terminal.app에서는 에뮬레이션이 ANSI이고 인코딩 UTF-8이라고 나와 있습니다.

트리거 조합(터미널 모드 등)이 무엇인지 아직 확실하지 않습니다.

답변1

OS X 터미널 설정(프로필, 고급)에서 겪었던 유사한 문제를 해결하고 "터미널 선언" 드롭 상자를 xterm-256color로 변경했습니다.

답변2

설명하신 문제는 TERM 환경 변수의 잘못된 값으로 인해 발생하는 전형적인 문제입니다. 특히 Ubuntu의 TERM 변수 값은 OS X 터미널 응용 프로그램의 기능과 일치하지 않는 터미널 기능 집합을 선택합니다.

TERM이 다음과 같은 값으로 설정되거나 xterm-color다른 xterm-256color값으로 설정해 보십시오(예: 제가 언급한 두 값 중 다른 값 또는 일반 xterm또는 ansi) vt220.


업데이트:

OS X Terminal.app에서 다음 명령을 시도해 보십시오.

TERM=ansi nano googlef916dafa821844e0.html
TERM=vt220 nano googlef916dafa821844e0.html
TERM=xterm nano googlef916dafa821844e0.html
TERM=xterm-color nano googlef916dafa821844e0.html    
TERM=xterm-256color nano googlef916dafa821844e0.html

답변3

터미널이 버그인 것 같습니다.

나는 사용하는 것이 좋습니다아이텀 2대신에.

iTerm2는 Terminal을 대체하고 iTerm의 후속 제품입니다. Leopard, Snow Leopard 또는 Lion이 설치된 Mac에서 작동합니다. 성능, 국제화 및 삶을 더 좋게 만드는 혁신적인 기능 지원에 중점을 두고 있습니다.

관련 정보