【问题标题】:Putty (plink) - Execute Python on remote Linux serverPutty (plink) - 在远程 Linux 服务器上执行 Python
【发布时间】:2013-01-30 10:13:12
【问题描述】:

我有一个 Ubuntu 服务器,它有一个运行基于终端命令的界面的 python 脚本。我正在使用plink登录并立即执行python脚本:

plink.exe -ssh -l goomuckel -pw greenpepper#7 192.168.1.201 "python server.py"

但是,我收到以下消息:

TERM environment variable not set.

于是我在 Ubuntu 机器上创建了一个 sh 脚本(server.sh):

export TERM=xterm
python server.py

使用以下 plink 命令:

plink.exe -ssh -l goomuckel -pw greenpepper#7 192.168.1.201 "sh server.sh"

现在我不再收到警告了,似乎 python 脚本正在执行。但不是显示我在 python 脚本中打印的终端界面,而是只打印以下字符:

←[H←[2J

奇怪的是,当使用 Putty 手动登录并执行 python 脚本时,一切正常。我尝试将 -t 标志添加到 plink 然后执行脚本。但是,我使用颜色来打印终端文本,并且颜色作为文本打印,而不是像在 Putty 中观察到的那样更改文本的颜色。

任何想法我能做什么?

【问题讨论】:

  • 我知道字符 26 被解释为 EndOfFile 如果你有一个文件的读取模式 'r' 而不是 'rb'.. 也许这个字符出现在那里?

标签: python ssh putty plink


【解决方案1】:

您无需在 python 脚本中执行此操作。

您可以简单地修改.profile - 这是系统将在每次登录时执行的文件 - 使用与 python 脚本中相同的表达式

export TERM=xterm

(如果你使用 bash)

setnv TERM xterm

(对于 c-shell 和类似的)

【讨论】:

    【解决方案2】:

    我遇到了同样的问题,在命令消除 TERM 环境变量未设置之前设置了 TERM 变量。 错误消息:

    plink.exe -ssh -l goomuckel -pw greenpepper#7 192.168.1.201 "export TERM=xterm; python server.py"
    

    如果您无法修改 .profile 文件,这很方便...

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-08-17
      • 2021-09-21
      • 2012-09-14
      • 2015-08-22
      • 2011-09-20
      • 2016-12-04
      • 1970-01-01
      • 2014-01-04
      相关资源
      最近更新 更多