Terminal.app 문자 세트 변경 사항 - 완전히 읽을 수 없음

Terminal.app 문자 세트 변경 사항 - 완전히 읽을 수 없음

나는 방금 내 서버(Ubuntu 10.04.2)에 접속했고 , (대화형 모드에서) ssh실행했습니다 . aptitude하나의 키(문자 중 하나인 것으로 생각됩니다)를 누르면 g다음과 같이 바뀌었습니다(SSH 세션뿐만 아니라 이 동작은 ssh세션을 종료한 후에도 계속되었습니다).

1학기

2학기

다시 연결할 수 있고 모든 것이 괜찮을 것입니다. 그러나 다시 실행하면 aptitude동일한 문제가 발생합니다(하지만 이상하게도 에 포함되어 있습니다 aptitude).

무슨 일이 일어날지 아는 사람 있나요? 도움이 된다면 프로필 my is screen로 실행 중이며 10.6.7을 사용하고 있습니다 .byobu$TERMscreen-bceTerminal.app

답변1

reset이 명령을 사용하여 일반 터미널을 다시 가져올 수 있습니다.

왜 이런 일이 발생하는지에 대해 - 어떻게든 터미널이 ASCII가 아닌 이진 데이터를 얻고 있습니다.

답변2

나는 이 스레드가 거의 1년이 되었다는 것을 알고 있지만 "cat"을 사용하여 Apple의 Terminal.app에서 실행 파일의 내용을 표시한 후 이 문제를 직접 경험했기 때문에 이 상황이 향후 사용자에게도 영향을 미칠 수 있다고 생각합니다.

어쨌든, 내가 아는 한, ASCII "shift out" 문자(10진수 14, 0x0E)가 인쇄된 후에 이상한 문자가 나타납니다. (글쎄, "인쇄됨"이라는 단어는 적어도 Terminal.app의 경우 인쇄 가능한 문자가 아니기 때문에 적절하지 않을 수 있지만, 무슨 뜻인지 아시기를 바랍니다.) 다행히도 ASCII " Shift in" 문자(십진수 15, 0x0F)가 인쇄됩니다.

즉, 다음과 같은 C 프로그램을 작성한다면...

#include <stdio.h>
int main() {
   printf( "\x0F" );
   return 0;
}

모든 것을 정상으로 되돌려야 합니다. 아마도 다른 언어나 bash 셸 내에서 더 쉬운 방법이 있을 수 있지만, 여러분도 아이디어를 얻으셨기를 바랍니다.

분명히 이 이상한 동작은 버그가 아니라 (적어도 나에게는) 모호한 기능입니다. 정보를 검색해보니 ISO 2022로 안내되었는데, 이는 단말기가 하는 일의 기초가 되는 것 같습니다. 여기는ISO/IEC 2022에 관한 Wikipedia 기사.

이제 이상한 캐릭터 뒤에 숨겨진 미스터리가 밝혀졌으니 이 게시물이 도움이 되었기를 바랍니다.

답변3

메뉴 항목

터미널 > 셸 > 재설정 보내기

이 특정 문제를 해결하는 문자 집합을 포함하여 터미널 상태를 기본값으로 재설정합니다.

관련 정보