백스페이스, 탭이 터미널에서 작동하지 않음(Ssh 사용)

백스페이스, 탭이 터미널에서 작동하지 않음(Ssh 사용)

내 계정(sudo 권한 포함)으로 Debian이 있는 다른 컴퓨터에 SSH로 접속할 때 백스페이스 키를 누르면 이상한 기호가 생성됩니다. 또한 Tab& del키도 작동하지 않습니다.

반면에 동일한 컴퓨터에 다른 계정도 있는데 이 계정을 통해 ssh를 사용하면 해당 터미널이 완벽하게 작동합니다. 왜 이런 일이 일어나는지 알 수 없었습니다.

답변1

"stty" 솔루션 외에 "TERM" 솔루션을 사용해 볼 수도 있습니다.

일부 터미널(putty, Solaris dterm, debain xterm, you-name-it)에서 데비안으로 SSH를 통해 연결하면 이 터미널은 TERM 환경 변수를 통해 기능(백스페이스 및 탭과 같은 키 포함)을 알립니다.

따라서 유닉스 호스트에 대한 ssh 이후(데비안이나 다른 호스트에 의존하지 않음) 터미널에 따라 TERM 변수를 설정하십시오. bash를 쉘로 사용하고 vt100을 터미널로 사용한다고 가정하십시오.

export TERM=vt100

ps: TERM은 ssh를 통해 자동으로 발표되어야 하지만 어떤 상황에서는 이 마법이 실패합니다.

답변2

나는 전에도 그런 문제를 본 적이 있습니다.

예를 들어 백스페이스를 사용하면 원격 호스트는 일부 문자가 "삭제/백스페이스"로 사용될 것으로 예상합니다. 터미널에서 백스페이스를 누르는 동안 원격 호스트가 예상하는 내용이 다른 경우 터미널 프로그램은 원격 호스트에 일부 문자를 보냅니다. 터미널 프로그램에서 보낸 문자를 사용하면 이 문제가 발생합니다. 따라서 빠른 수정은 다음과 같습니다.

  1. 원격 호스트에서 명령을 실행 #stty -a하고 출력에서 ​​삭제 코드로 예상되는 내용을 찾으세요. 말하다 erase=^?.
  2. 터미널에서 Ctrl+를 누르고 v백스페이스를 누르세요. 어떤 코드가 "삭제"로 전송되는지 확인할 수 있습니다. 이라고 말해보세요 ^H.
  3. 원격 호스트에서 를 실행합니다 #stty erase ^H.
    (참고: Ctrlv+ 를 사용하고 Backspace^를 수동으로 입력하지 마세요)

위와 동일하게 탭 문제를 해결할 수 있습니다.

답변3

이는 기본 셸이 이기 때문입니다. 을 sh사용하려면 셸에서 bash실행하면 됩니다 .bash

bash

bash기본 셸로 설정하려면 다음 안내를 따르세요.

chsh -s /bin/bash 

또는

sudo chsh -s /bin/bash yourusername

답변4

쉘이 /bin/sh다음으로 설정되었을 수 있습니다./bin/bash

관련 정보