gpt4 book ai didi

shell - Emacs Tramp 在文件获取期间停留在 'Found remote shell prompt'

转载 作者:行者123 更新时间:2023-12-05 04:13:29 24 4
gpt4 key购买 nike

我最近安装了一台新的 FreeBSD 机器,但似乎无法通过 Emacs Tramp 进行连接。它停留在“流浪汉:在‘broken.example.com’上找到远程 shell 提示符”。 (主机名已更改为匿名)

我按照我看到的建议将调试提高到 10,但它卡在了这个命令上。

stty icanon erase ^H cols 32767

它不断地循环执行这个命令。完整日志可在http://depht.com/temp/emacs-tramp-broken.example.com.txt下载。

来自 broken.example.com 的“stty -a”。

speed 9600 baud; 65 rows; 32767 columns;
lflags: icanon isig iexten echo echoe -echok echoke -echonl echoctl
-echoprt -altwerase -noflsh -tostop -flusho -pendin -nokerninfo
-extproc
iflags: -istrip icrnl -inlcr -igncr ixon -ixoff ixany imaxbel -ignbrk
brkint -inpck -ignpar -parmrk
oflags: opost onlcr -ocrnl tab0 -onocr -onlret
cflags: cread cs8 -parenb -parodd hupcl -clocal -cstopb -crtscts -dsrflow
-dtrflow -mdmbuf
cchars: discard = ^O; dsusp = ^@; eof = ^D; eol = <undef>;
eol2 = <undef>; erase = ^H; erase2 = ^T; intr = ^C; kill = ^U;
lnext = ^V; min = 1; quit = ^\; reprint = ^R; start = ^Q;
status = ^T; stop = ^S; susp = ^Z; time = 0; werase = ^W;

我有一台稍微老一点的 OpenBSD 机器,这个 Emacs Tramp 客户端可以很好地工作,working.example.com。与这台机器的连接日志位于 http://depht.com/temp/emacs-tramp-working.example.com.txt

来自 working.example.com 的“stty -a”

speed 9600 baud; 65 rows; 166 columns;
lflags: icanon isig iexten echo echoe -echok echoke -echonl echoctl
-echoprt -altwerase -noflsh -tostop -flusho pendin -nokerninfo
-extproc -xcase
iflags: -istrip icrnl -inlcr -igncr -iuclc ixon -ixoff ixany imaxbel
-ignbrk brkint -inpck -ignpar -parmrk
oflags: opost onlcr -ocrnl -onocr -onlret -olcuc oxtabs -onoeot
cflags: cread cs8 -parenb -parodd hupcl -clocal -cstopb -crtscts -mdmbuf
cchars: discard = ^O; dsusp = ^@; eof = ^D; eol = <undef>;
eol2 = <undef>; erase = ^H; intr = ^C; kill = ^U; lnext = ^V;
min = 1; quit = ^\; reprint = ^R; start = ^Q; status = ^T;
stop = ^S; susp = ^Z; time = 0; werase = ^W;

我在 broken.example.com 上修改了 stty 设置以模仿 working.example.com 的设置,但没有成功。我不太了解所有的 stty 设置。一个可能的攻击途径是“stty pendin”,stty 的手册页说它是 related icanon。但是,我无法在 broken.example.com 上设置 -pendin。通过登录脚本或手动登录后执行的“stty -pendin”不会导致设置“-pendin”。

此时我完全迷路了,非常感谢任何帮助。提前致谢!!

最佳答案

读取你的跟踪文件,有几个问题。

  1. 您收到消息

    ControlPath "/var/folders/y8/zyh_szbx38s64w6_3_6nlhtm0000gp/T/tramp.5709SZd.smutt@broken.example.com:1345.RPyknjfNbHeeMjoQ" too long for Unix domain socket

很可能,您的本地计算机运行的是 OS X,并且您遇到了错误 http://debbugs.gnu.org/cgi/bugreport.cgi?bug=19702 .这已在 Emacs 24.5 中解决(您应该运行 24.4),并且 Tramp 似乎不受此影响。

  1. TRAMP 远程发送命令 stty icanon erase ^H cols 32767。该命令本身没有问题,但您的远程主机返回的转义序列 TRAMP 无法理解。当 TRAMP 调用 /bin/sh 时,远程运行哪个 shell?无论是什么,您都必须禁用该 shell 中的任何精美装饰,例如提示设置或屏幕清理等。有关如何执行此操作的建议,请参阅 Tramp 手册。暂时禁用 ~/.profile 或 shell 在初始化期间读取的任何内容的评估。

关于shell - Emacs Tramp 在文件获取期间停留在 'Found remote shell prompt',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37572268/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com