이 글을 쓰는 시점 (2016 년 9 월 1 일) 당시 Bash 터미널을 통해 Ctrl-Space를 전달한다는 점에서 해결책 은 없습니다. 그러나 많은 사용자에게 충분한 해결 방법이 있습니다. PuTTY를 사용하여 연결하십시오. Ctrl-Space를 강제로 처리하는 SSH. tty 모드에서는 Ctrl-Space를 Ctrl- @과 구별 할 수 없습니다. 왜냐하면 동일한 문자 코드이기 때문에 기본적으로 Emacs가 set-mark-command
그런 식 으로 처리하도록 설정되어 있기 때문에 문제가되지 않습니다 .
- 로 OpenSSH 서버를 설치하십시오
sudo apt-get install openssh-server
. 이미 설치되어 있으면 ( sudo apt-get remove openssh-server
) 제거한 후 다시 설치하여 구성 파일을 재설정하십시오.
다음과 같이 / etc / ssh / sshd_config 파일 (sudo 포함)을 편집하십시오 .
- 주석 처리되지 않은 회선 설정이 있으면 주석 처리하십시오
PermitRootLogin
. 줄을 추가하십시오 PermitRootLogin no
.
AllowUsers USERNAME
USERNAME을 Linux 사용자 이름으로 바꾸는 행을 추가하십시오 (무엇인지 모르는 경우 whoami
Bash 프롬프트에서 명령 을 실행하십시오 ).
- SSH 키를 사용하여 비밀번호없는 인증을 설정하는 것이 이상적입니다. 그러나이를 수행하는 방법은이 질문의 범위를 벗어납니다 (많은 안내서가 있습니다. 웹에서 "passwordless ssh-keygen"을 검색하십시오). 그 동안 행을 추가하거나 주석 해제하십시오
PasswordAuthentication yes
.
- 설정
UsePrivilegeSeparation no
; 아마도 파일에 다음과 같은 줄이 있습니다 UsePrivilegeSeparation yes
. 단지 변경 yes
을 no
하고 저장 하기 / etc / SSH / sshd_config에 파일.
여기에 문제가 있으면 1 단계를 반복하여 파일을 복원 할 수 있습니다.
- 명령을 사용하여 SSH 서버를 시작하십시오
sudo service ssh --full-restart
.
- PuTTY ( 여기에서 다운로드 )를 사용
localhost
하여 호스트 이름 필드에 로그인 하십시오 . Linux 사용자 이름과 비밀번호를 입력하라는 메시지가 표시됩니다.
- 를 실행하십시오
emacs
. Ctrl-space는 원하는대로 마크를 설정합니다.
위의 단계 만으로 시스템이 다른 호스트의 SSH 연결을 수락 할 수있는 것은 아닙니다 . 그렇게하려면 인바운드 TCP 포트 22를 허용하도록 Windows 방화벽 규칙을 변경해야합니다.
또 다른 대답으로 , "퍼티는 지역 터미널이 아닙니다." localhost
이 방법으로 사용할 수 있는지 알지 못했는지 , 로컬 터미널보다 오버 헤드가 커서 PuTTY를 해제 했는지 확실하지 않습니다 . 후자의 경우 걱정하지 않아도 대화 형 SSH 세션은 매우 가벼운 부하입니다. ( X 윈도우 시스템을 실행하는 것보다 부하가 훨씬 적으므로 GUI Emacs 또는 xterm을 실행할 수 있습니다!)
이 방법을 일반 터미널에 비해 실행하는 유일한 단점은 클립 보드의 내용을 매우 빠르게 입력 한 것처럼 붙여 넣기 이벤트가 문자별로 전송되므로 전기 쌍, 삽입, 스 니펫 확장 등이 발생할 수 있다는 것입니다. 불. 붙여 넣기가 완료 될 때까지 진행중인 붙여 넣기를 감지하고 키 코드를 비활성화하는 논리가 있으므로 붙여 넣기로 키 코드 명령 이 실행 되지 않아야합니다 .
그리고 표준 Bash 터미널에 비해 적어도 하나의 큰 장점도 있습니다. 마우스 이벤트는 Pumacty에서 Emacs가 응답 할 수있는 형태로 지원되므로, 아이러니하게도, PuTTY에서 마우스로 포인트를 이동할 수 있습니다. 로컬 터미널과 t.