Страницы

Поиск по вопросам

вторник, 16 июля 2019 г.

Ошибка при создании screen

Здравствуйте. Есть скрипт на PHP ,который выполняет команду screen -S test337 через SSH ,вот он: /* Соединение */ $connect = ssh2_connect($rows1['ip'], $rows1['sshport']); ssh2_auth_password($connect, $rows1['login'], base64_decode($rows1['password'])); $shell = ssh2_shell($connect);
/* Выполнение команды */ fwrite($shell, 'screen -S test337'.PHP_EOL);
/* Получение ответа */ $text = ''; while($buf = fread($shell,4096)) {$text .= $buf;}; echo '
'.$text;
/* Закрытие соединения */ fclose($shell); В переменой $rows1 хранятся данные от SSH. Но сервер выдаёт ошибку: Cannot find terminfo entry for 'vanilla' Если даже отправить просто команду screen ,он вернёт точно такую же ошибку. На сервере стоит CentOS 6.* Подскажите пожалуйста как это можно исправить? И из-за чего это вообще может происходить?


Ответ

исправить ошибку можно, установив переменной окружения TERM какое-нибудь более распространённое (а значит, с большей вероятностью присутствующее в целевой системе) значение. например, xterm, или даже vt100
дополните вызов программы screen таким присвоением значения переменной TERM:
TERM=xterm screen ...
или таким:
TERM=vt100 screen ...

Комментариев нет:

Отправить комментарий