Я пишу скрипт для настройки VNC (среди прочего) на многих устройствах на основе Debian. Я хочу включить VNC в эту настройку (в частности, tightVNC, если это возможно) и установить заданный пароль (случайно сгенерированный сценарием). Проблема в том, что каждое руководство, которое я нахожу, предполагает, что это делает человек, и готов сесть, ввести пароль и нажать Enter. Кажется, я не могу заставить Bash повторить пароль для VNC (он всегда говорит «слишком короткий пароль»), и я не могу заставить «ожидать» работать должным образом.
Пример руководства, который я нашел, выглядит следующим образом: http://www.penguintutor.com/linux/tightvnc
Я ищу что-то похожее на это:
#!/bin/bash
echo "Going to configure VNC"
#turn on vnc server
tightvncserver
#spit out password to vnc server for first run only
echo $password
#confirm the pw
echo $password
Но при каждом первом запуске tightvncserver он всегда запрашивает ввод пароля вручную:
Going to configure VNC
You will require a password to access your desktops.
Password: Password too short
Как я могу # 1 обойти это или # 2 использовать bash / ожидать, чтобы ДАТЬ ему пароль, чтобы сделать его счастливым?
echo
не записывают содержимое в процессtightvncserver
, поэтому это не работает так, как вы хотите. - person Charles Duffy   schedule 03.06.2015echo
вообще не будет запускаться до тех пор, пока не выйдетtightvncserver
. - person Charles Duffy   schedule 03.06.2015tightvncserver
считывает пароли из TTY, а не из стандартного ввода, поэтому вы вообще не можете подключиться к нему. - person Charles Duffy   schedule 03.06.2015vncpasswd
напрямую, а не полагаться наtightvncserver
для запроса, а затем пытаться притвориться телетайпом, чтобы ответить на этот запрос. - person Charles Duffy   schedule 03.06.2015