Настройте TightVNC программно с помощью BASH

Я пишу сценарий для настройки VNC (среди прочего) на многих устройствах на основе Debian. Я хочу включить в эту настройку VNC (в частности, по возможности и VightCNC) и задать ему заданный пароль (случайным образом генерируемый сценарием). Проблема в том, что каждое руководство, которое я нахожу, предполагает, что человек делает это, и готов сесть, ввести пароль и нажать клавишу ввода. Я не могу заставить 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

Но при каждом первоначальном запуске Узкий сервер всегда запрашивает пароль для ввода вручную:

Going to configure VNC

You will require a password to access your desktops.

Password: Password too short

Как я могу #1 обойти это, или #2 использовать bash / ожидать, чтобы дать ему пароль, чтобы сделать его счастливым?

1 ответ

Решение
# Configure VNC password
umask 0077                                        # use safe default permissions
mkdir -p "$HOME/.vnc"                             # create config directory
chmod go-rwx "$HOME/.vnc"                         # enforce safe permissions
vncpasswd -f <<<"$password" >"$HOME/.vnc/passwd"  # generate and write a password

Измените по вкусу, если ваша упаковка для ightvnc использует местоположение, отличное от ~/.vnc/ для passwd файл.


Если у вас есть отдельные пароли только для просмотра и полный контроль, то:

vncpasswd -f <<<"$full_password"$'\n'"$view_password" >"$HOME/.vnc/passwd"

Если вам нужна совместимость с /bin/sh (или иначе не использовали #!/bin/bash Shebangs), это будет:

vncpasswd -f >"$HOME/.vnc/passwd" <<EOF
$full_password
$view_password
EOF
Другие вопросы по тегам