Назначить пароль VNC с помощью скрипта

До тех пор, пока другие вещи не активно выполняют какую-либо работу, не должно быть проблем с помехами. Если вы не входите в X-сеанс и не регистрируетесь только через SSH, в действительности вообще не должно быть никакой реальной работы. Вы можете выполнить telinit только на уровне консоли или просто перезагрузиться в «режим восстановления» из приглашения на загрузку, чтобы иметь меньше запущенных процессов.

Хотя на самом деле не имеет значения, если ничто не потребляет все ресурсы ЦП или не нажимает диск постоянно, что может привести к остановке вашей программы в IOWait.

1
задан 3 August 2013 в 19:54

3 ответа

Я нашел другой способ сделать это в скрипте (как root):

#!/bin/sh    

myuser="asimov"
mypasswd="mysecret"

mkdir /home/$myuser/.vnc
echo $mypasswd | vncpasswd -f > /home/$myuser/.vnc/passwd
chown -R $myuser:$myuser /home/$myuser/.vnc
chmod 0600 /home/$myuser/.vnc/passwd

Приветствия!

3
ответ дан 24 May 2018 в 19:22
  • 1
    После этого вы запускали vncserver по-другому? Когда я устанавливаю файл passwd вручную, я все же предлагаю указать пароль при запуске vncserver. – Christopher Shroba 30 January 2017 в 17:21

Сегодня это удалось (из файла докеров):

RUN printf "password\npassword\n\n" | vncpasswd
2
ответ дан 24 May 2018 в 19:22

Немного модифицируя версию steeldriver, я смог автоматизировать мое использование vncpasswd. Позволяет передавать и пароль и имя файла для vncpasswd для создания.

Использование: $ ./scriptname <filename> <password>

#!/bin/sh    

myuser="$1"
mypass="$2"

/usr/bin/expect <<EOF
spawn /usr/bin/vncpasswd $myuser
expect "Password:"
send "$mypass\r"
expect "Verify:"
send "$mypass\r"
expect eof
exit
EOF
1
ответ дан 24 May 2018 в 19:22
  • 1
    Обычно не рекомендуется передавать секреты в качестве аргументов командной строки, потому что их можно просматривать всеми пользователями. – David Foerster 13 November 2016 в 13:28

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

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