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 из консоли?