1

Я использую Emacs+tramp+plink для редактирования файлов на удаленном сервере Unix начиная с Emacs 22. Недавно я обновил свой Emacs до 24 и обнаружил, что он больше не работает ... он говорит, что нашел приглашение удаленной оболочки, но просто застрял там.

Ниже моя конфигурация бродяги, которая отлично работала в Emacs 23:

 (require 'tramp)
 (modify-coding-system-alist 'process "plink" 'utf-8-unix)
 (setq tramp-default-method "plink"
       tramp-completion-without-shell-p t)
 (setq tramp-verbose 10)
 (setq tramp-debug-buffer t)

У меня есть профиль laby /plink "lab", который указывает на удаленный сервер Unix. Я открываю файл один удаленный сервер, как это:

 /plink:myaccount@lab:/home/myaccount/somefile.txt

Из журнала отладки tramp я вижу, что tramp обнаружил удаленную оболочку:

 17:45:58.430000 tramp-get-connection-property (7) # check-remote-echo nil
 17:45:58.430000 tramp-process-one-action (5) # Call `tramp-action-process-alive'
 17:45:58.430000 tramp-accept-process-output (10) # *tramp/plink myaccount@lab* run
 17:45:58.476000 tramp-accept-process-output (10) # 
 plink -l myaccount  -ssh lab && exit || exit
 Last login: Wed Aug 14 17:43:54 2013 from 192.168.0.1

 Unauthorized access to this system is strictly prohibited.  
 [myaccount@unixhost ~]$ 

Проблема в том, что кажется, что Бродяга застрял в бесконечном цикле:

17:45:58.476000 tramp-get-connection-property (7) # process-buffer nil
17:45:58.492000 tramp-maybe-open-connection (3) # Found remote shell prompt on `lab'
17:45:58.492000 tramp-get-connection-property (7) # remote-shell nil
17:45:58.492000 tramp-open-shell (5) # Opening remote shell `/bin/sh'...
17:45:58.492000 tramp-get-connection-property (7) # process-name nil
17:45:58.492000 tramp-get-connection-property (7) # remote-echo nil
17:45:58.492000 tramp-send-command (6) # exec env ENV='' PROMPT_COMMAND='' PS1=\#\$\  PS2='' PS3='' /bin/sh 
17:45:58.492000 tramp-get-connection-property (7) # process-name nil
17:45:58.492000 tramp-get-connection-property (7) # chunksize nil
17:45:58.492000 tramp-set-connection-property (7) # last-cmd-time (21003 17350 492000 0)
17:45:58.492000 tramp-send-string (10) # exec env ENV='' PROMPT_COMMAND='' PS1=\#\$\  PS2='' PS3='' /bin/sh 
17:45:58.492000 tramp-get-connection-property (7) # process-buffer nil
17:45:58.492000 tramp-get-connection-property (7) # check-remote-echo nil
17:45:58.492000 tramp-get-connection-property (7) # check-remote-echo nil
17:45:58.492000 tramp-accept-process-output (10) # *tramp/plink lum@lab* run
17:45:58.539000 tramp-accept-process-output (10) # exec env ENV='' PROMPT_COMMAND='' PS1=\#\$\  PS2='' PS3='' /bin/sh 
#$ #$ 
17:45:58.539000 tramp-get-connection-property (7) # check-remote-echo nil
17:45:58.539000 tramp-get-connection-property (7) # check-remote-echo nil
17:45:58.539000 tramp-accept-process-output (10) # *tramp/plink lum@lab* run
17:45:59.539000 tramp-accept-process-output (10) # exec env ENV='' PROMPT_COMMAND='' PS1=\#\$\  PS2='' PS3='' /bin/sh 
#$ #$ 

Это займет вечно, пока я не использую Ctrl-G, чтобы сломать его.

Не знаю, какая часть пошла не так, опять же, точно такая же конфигурация отлично работает под Emacs 23 ...

0