내 계정(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"와 같은 특정 문자를 기대합니다. 터미널에서 백스페이스 키를 누르면 원격 호스트가 다음을 기대하는 경우 터미널 프로그램은 원격 호스트에 일부 문자를 보냅니다. 문자 이 문제는 터미널 프로그램이 원격 호스트에서 예상하는 문자와 다른 문자를 보낼 때 발생합니다. 따라서 빠른 수정은 다음과 같습니다.
- 원격 호스트에서 명령을 실행
#stty -a
하고 출력에서 예상되는 삭제 코드를 찾습니다. 설명하다erase=^?
. - 터미널에서 Ctrl+를 누르고 v백스페이스를 누릅니다. "삭제"를 보내는 코드가 표시됩니다. 그렇다고 대답하세요
^H
. - 원격 호스트에서 를 실행합니다
#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