gpt4 book ai didi

Python:通过 SSH 发送按键事件

转载 作者:太空宇宙 更新时间:2023-11-03 15:15:54 25 4
gpt4 key购买 nike

我正在尝试找出如何使用 Python 2.7 Paramiko 模块在远程服务器(没有 X.org 机载)上模拟按键事件。因此,我需要发送 F2Enter

根据 this discussion我已经实现了这段代码:

import paramiko
client = paramiko.SSHClient()
client.connect(...)
channel = client.get_transport().open_session()
channel.get_pty("vt100")
channel.settimeout(100)

假设 F2 等于 '\e[12~' Python 字符串(这来自 mentioned answerxterm control sequences )我正在尝试发送它到远程服务器:

channel.send('\e[12~')

之后脚本挂起。我究竟做错了什么?谢谢。

最佳答案

首先,我推荐PDF version xterm 控制序列文档;它最初是为纸张设计的,自动转换为 HTML 并不完美。

终端仿真器的历史悠久而复杂,但有一点是 VT100 只有四个功能键(PF1 到 PF4),而当它的后继者 VT220 又增加了 16 个功能键时,原来的编码方案用完了房间,所以他们换了一个不同的...但是为了兼容性,他们使用了 F1 到 F4 的旧编码。因此,尽管 F5 是 CSI 15 ~,但 F2 不是 CSI 12 ~。相反,特别是如果你告诉 Paramiko 你正在冒充 VT100,你应该使用 F2 的 VT100 编码,即 SSE Q'\eOQ 作为Python 字符串。

我不知道这是否正是导致您的问题的原因,但这可能是问题的一部分。

关于Python:通过 SSH 发送按键事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21042089/

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