Putty (plink) — выполнение Python на удаленном сервере Linux.

У меня есть сервер Ubuntu, на котором есть скрипт Python, который запускает интерфейс на основе команд терминала. Я использую plink для входа в систему и немедленно запускаю скрипт Python:

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

Однако я получаю следующее сообщение:

TERM environment variable not set.

Итак, я создал сценарий sh (server.sh) на компьютере с Ubuntu:

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.

Любые идеи, что я могу сделать?


person goocreations    schedule 30.01.2013    source источник
comment
Я знаю, что символ 26 интерпретируется как EndOfFile, если у вас есть режим чтения «r», а не «rb» для файлов.. может быть, этот символ встречается там?   -  person User    schedule 30.01.2013


Ответы (2)


Вам не нужно делать это в скрипте Python.

Вы можете просто изменить .profile - это файл, который система будет выполнять при каждом входе в систему - с тем же выражением, которое вы используете в скрипте Python.

export TERM=xterm

(если вы используете bash)

setnv TERM xterm

(для c-shell и подобных)

person DonCallisto    schedule 30.01.2013

У меня была та же проблема, и я установил переменную TERM до того, как команда устранила эту переменная среды TERM не установлена. сообщение об ошибке:

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

Это удобно, если вы не можете изменить файл .profile...

person pinkston00    schedule 14.10.2014