SSH туннель и VNC

Я использую Porteus 3.2.2 для подключения к VNC-серверу в Интернете через туннель SSH, и я пытаюсь максимально автоматизировать его.

У меня есть этот скрипт, который создает туннель и держит его открытым, но я бы хотел немного его настроить.


#!/bin/bash

#create SSH tunnel
ssh -L 5901:192.168.1.200:5901 -t user@xxx.xxx.xxx.xxx 'vncserver -geometry 1280x800; /bin/bash'

#open vncviewer
vncviewer -fullscreen localhost:5901

exit 0

  • Я бы хотел, чтобы оно минимизировало окно терминала после входа на сервер.

  • Кроме того, ПОСЛЕ успешного входа в систему, я хотел бы открыть vncviewer без окна терминала, и с параметрами выше.

У меня не работает скрипт, потому что он запускается только после закрытия ssh-туннеля. И я не могу использовать '&', чтобы отправить ssh-туннель в фоновый режим. Кроме того, если я помещаю vncviewer перед туннелем SSH и отправляю его в фоновый режим, я не могу использовать параметры...

Любая помощь здесь?

заранее спасибо

1 ответ

Добавление -f Параметр командной строки SSH должен приблизить вас к тому, что вы хотите: он заставляет ssh-клиент переходить в фоновый режим, но только после того, как соединение установлено и все запросы пароля выполнены, что позволяет vncviewer начать, как только соединение SSH было установлено.

Если запуск VNC-сервера в удаленной системе занимает заметное количество времени, вы можете добавить sleep <some number of seconds> между ssh командная строка и vncviewer командная строка, чтобы позволить серверу VNC завершить запуск до vncviewer пытается подключиться к нему.

Минимизация окна терминала потребует отправки команды "свернуть / иконку этого окна" менеджеру окон вашего локального рабочего стола. Детали будут зависеть от типа используемой среды рабочего стола, но в целом от команд wmctrl или же xdotool может быть в состоянии сделать это.

Пожалуйста, смотрите: Как скрыть или свернуть окно X11 из консоли?

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