Emacs на Windows + SSH: недолговечные символы spurios? - PullRequest
1 голос
/ 18 июня 2010

Я пытаюсь подключиться через SSH к удаленной оболочке, используя Emacs на Windows XP. В настоящее время я использую Putty, но я бы хотел перейти на Emacs.

Я не могу найти способ, который работает правильно. Лучшее, чего я достиг - это запуск Plink (версия Putty для командной строки) в качестве подоболочки, но я все еще получаю поддельные символы и дублирующиеся подсказки, подобные этому:

Last login: Fri Jun 18 11:09:11 2010 from XXXXX
^]0;root@XXXXX:~^[root@XXXXX ~]# ls
ls
file-1.cfg              file-10.log         file-100.pcap
^]0;root@XXXXX:~^[root@XXXXX ~]# 
^]0;root@XXXXX:~^[root@XXXXX ~]# 

Полагаю, эти последовательности с префиксом "^" являются escape-символами, но я не могу найти способ перевести их или избавиться от них. Я пробовал это:

(autoload 'ansi-color-for-comint-mode-on "ansi-color" nil t)
(add-hook 'shell-mode-hook 'ansi-color-for-comint-mode-on)
(let ((explicit-shell-file-name "C:/Programmi/Putty/plink")
      (explicit-plink-args '("root@XXXXX")))
    (shell))

Есть подсказка? У вас есть способ запустить Secure Shell внутри родной версии Emacs для Windows?

Программное обеспечение: GNU Emacs 23.1.1, plink.exe версия 0.60, Windows XP SP3

Спасибо.

1 Ответ

1 голос
/ 07 августа 2011

http://www.emacswiki.org/emacs/AnsiTermHints описывает, как использовать ansi-term-mode для соединений ssh ​​с удаленными хостами.

Проблемные последовательности выглядят (смутно) как стандартное приглашение Bash для установки строки заголовка в xtermв текущий каталог и т. д. Вы можете получить другое приглашение по умолчанию, установив переменную окружения TERM при создании соединения SSH, чтобы Bash не думал, что ваш терминал - xterm.Попробуйте с TERM=emacs (при необходимости адаптируйтесь к синтаксису вашей оболочки).Если вам это удастся, вам может вообще не понадобиться ansi-term-mode, хотя это может быть полезно, если у вас есть ls раскраска каталогов и т. Д.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...