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

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

내 계정(sudo 권한 포함)을 사용하여 Debian이 있는 다른 컴퓨터로 ssh를 사용할 때 백스페이스 키를 누르면 이상한 기호가 생성됩니다. 그리고 Tab& del키도 작동하지 않습니다.

반면에 동일한 컴퓨터에 다른 계정이 있는데 이 계정을 통해 ssh를 실행하면 해당 터미널이 제대로 작동합니다. 왜 이런 일이 발생하는지 이해하지 못합니다.

답변1

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

TERM 환경 변수를 통해 기능(백스페이스 및 탭과 같은 키 포함)을 알리는 터미널(putty, Solaris dterm, debain xterm, you-name-it)에서 Debian으로 SSH를 통해 접속합니다.

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

export TERM=vt100

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

답변2

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

백스페이스 키를 예로 들면, 원격 호스트는 "erase/backspace"와 같은 특정 문자를 기대합니다. 터미널에서 백스페이스 키를 누르면 원격 호스트가 다음을 기대하는 경우 터미널 프로그램은 원격 호스트에 일부 문자를 보냅니다. 문자 이 문제는 터미널 프로그램이 원격 호스트에서 예상하는 문자와 다른 문자를 보낼 때 발생합니다. 따라서 빠른 수정은 다음과 같습니다.

  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

관련 정보