Оболочка SSH запущена с использованием & ldquo; Ожидайте & rdquo; не имеет полной ширины. Как я могу сделать это исправить?

Я использую функцию автоматического входа в систему по SSH из средства запуска Unity, команда выглядит примерно так:

gnome-terminal -t SSH1 -e "expect -c 'spawn ssh root@111.222.333.255 ; expect assword ; send \\"password123\\n\\" ; interact'"

Это прекрасно работает для автоматического входа, но если я разверну окно gnome-терминала содержимое оболочки ssh остается меньшим, как если бы окно имело размер по умолчанию, например:

screenshot

Сначала я подумал, что это потому, что gnome-терминал запускался с размером по умолчанию, и когда по какой-то причине его размер по какой-либо причине был увеличен, размер ssh не изменился, но затем я добавил gnome-terminal --window --maximize в команду, и та же проблема осталась, окно запускается развернутым, но оболочка ssh текст по-прежнему является размером терминала по умолчанию.

Также, если я просто открою терминал и наберу эту команду сверху, у меня возникнет та же проблема, что и при запуске из панели запуска Unity.

Любые идеи, что может вызвать это и как это исправить?

5
задан 10 February 2012 в 23:05

4 ответа

Используйте следующее в верхней части ожидаемого сценария:

#trap sigwinch and pass it to the child we spawned
trap {
 set rows [stty rows]
 set cols [stty columns]
 stty rows $rows columns $cols < $spawn_out(slave,name)
} WINCH
0
ответ дан 10 February 2012 в 23:05

Это связано с переменной окружения, которую Expect использует для настройки вашего терминала.

Это можно легко исправить, добавив следующую строку в начало вашего сценария Expect:

set ::env(TERM) vt100

Я обнаружил, что если у вас есть какие-либо цветные символы. Если вы хотите увидеть раскрашенные символы, вы также можете попробовать:

set ::env(TERM) xterm
0
ответ дан 10 February 2012 в 23:05

Добавьте это к своему коду:

trap {
    set XZ [stty rows   ]
    set YZ [stty columns]
    stty rows $XZ columns $YZ < $spawn_out(slave,name)
} WINCH

Похоже, это работает для меня в Ubuntu 17.10

0
ответ дан 10 February 2012 в 23:05

Лучший способ получить желаемый эффект - использовать ssh-ключи, например, enzotib .

Сначала

$ mkdir ~/.ssh
$ chmod 700 ~/.ssh
$ ssh-keygen -t rsa

нажмите ввод в каждом приглашении, оставив поля пустыми, создаст ключ по умолчанию без пароля. Это то, что вы хотите.

Затем нажмите открытый ключ на сервере.

$ ssh-copy-id root@111.222.333.255

Наконец, создайте панель запуска с помощью команды:

gnome-terminal -t SSH1 -x ssh root@111.222.333.255
0
ответ дан 10 February 2012 в 23:05

Другие вопросы по тегам:

Похожие вопросы: