Windows에서 Emacs의 원격 Linux 파일을 편집하는 가장 좋은 방법

Windows에서 Emacs의 원격 Linux 파일을 편집하는 가장 좋은 방법

Windows 호스트 시스템을 통해 Emacs를 사용하여 Linux 시스템을 통해 파일 작업을 수행하는 가장 빠르고 안정적인 방법은 무엇입니까? Emacs 프레임 간에 텍스트를 쉽게 복사하여 붙여 넣을 수 있어야 하고 모든 키보드 단축키를 사용할 수 있어야 합니다. 따라서 Putty와 Cygwin은 의문의 여지가 없습니다. TRAMP 모드를 사용해 보았으나 연결하려고 하면 작동이 멈춥니다.

답변1

Tramp가 확실히 정답입니다. Tramp에 문제가 있으면 수정하세요. Windows에서 Tramp를 실행하는 가장 간단한 방법은 다음과 같습니다.plink, PuTTY의 SSH 터널링 및 스크립팅 구성 요소입니다. Cygwin은 ssh또 다른 가능성입니다.

내가 겪은 한 가지 문제는 plink환경 TERM변수를 xterm. 이로 인해 귀하 .profile또는 다른 로그인 스크립트가 터미널과 통신하고 있다고 생각하여 데이터를 방출할 수 있지만 이 데이터는 귀하의 스크립트를 혼란스럽게 할 것입니다. 일반적 으로 터미널을 에뮬레이션하지 않도록 옵션을 plink호출 합니다 . -TEmacs에서는 원격 측에 강제 plinkx로 적용되는 Tramp 메서드를 사용합니다.TERMdumb

(if (eq system-type 'windows-nt)
    (setq tramp-default-method "plinkx"))

원격 측에서는 로그인 파일이 $TERMis 일 때 프롬프트와 같은 출력을 내보내지 않는지 확인하십시오 dumb.

답변2

"putty와 cygwin은 문제가 되지 않습니다"라고 말씀하셨던 것은 Cygwin 콘솔이나 PuTTY 셸에서 직접 emacs를 사용하는 것이 아니라 Linux 상자에 접근하는 Tramp와 함께 ntemacs(Windows용 Emacs)를 사용하라는 의미인 것 같습니다.

좋은 소식은 이것이 가능하다는 것입니다! :) 저는 ntemacs와 Cygwin(ssh 액세스용)의 조합을 사용하여 좋은 결과를 얻었습니다.

당신이해야 할 일은 다음과 같습니다.

  • openssh가 설치된 Cygwin을 설치하고(확실하지 않은 경우 모든 것을 설치하십시오) 비밀번호 없이 Linux 상자에 액세스할 수 있도록 SSH를 설정하십시오. 이에 대한 짧고 유용한 내용을 참조하십시오.기사.

  • Michael Cook과 Klaus Berndl의 cygwin-mount를 다음에서 복사하세요.이맥스위키 ~/.emacs.d/plugins/cygwin-mount (또는 타사 emacs 패키지가 있는 곳) 아래에 배치하세요.

  • .emacs에서 cygwin-mount를 활성화하려면 다음과 같은 것을 사용하십시오.

(add-to-list 'load-path "~/.emacs.d/plugins/cygwin-mount")

(defvar cygwin-bin-dir
  "c:/cygwin/bin/"
  "*Directory of Cygwin bin.")

(when (eq (window-system) 'w32)
  (progn
    (setenv "PATH" (concat cygwin-bin-dir ";" (getenv "PATH")))
    (setq exec-path (cons cygwin-bin-dir exec-path))
    (require 'cygwin-mount)
    (cygwin-mount-activate)))

  • 이제 emacs와 Cx Cf를 다시 시작하고 미니버퍼에 "/sshx:your_host:"를 입력합니다(후행 콜론에 주의). 모든 것이 순조롭게 진행되면 Tramp/ssh가 시작되고 원격 디렉토리를 볼 수 있어야 합니다.

도움이 되었기를 바랍니다.

답변3

Emacs를 로컬에서 실행하는 대신 Linux 상자에서 원격으로 실행하고 로컬 X 창에 표시하도록 하는 것은 어떨까요?

필요한 것:

  • Windows용 X 서버: 가능한 무료 솔루션은 다음과 같습니다.엑스밍,시그윈/X (나는 당신이 Cygwin이 아니라고 말했다는 것을 알고 있습니다.)
  • Linux 호스트의 Emacs
  • 원격 명령을 실행하는 방법(Ssh와 같은 것)

기본 단계:

  1. Windows에서 X 서버 실행
  2. Emacs를 원격으로 시작하고 로컬 X 서버에 표시하십시오. 나는 보통 "ssh -X @ emacs" 명령을 실행하여 ssh를 사용하여 이 작업을 수행합니다. 또는 Linux 상자에 로그인하여 DISPLAY 변수("export DISPLAY=:0")를 설정한 다음 emacs를 시작할 수 있습니다.

관련 정보