vncserver не запускается в сценарии оболочки, выполняемом с помощью sudo

У меня есть сценарий оболочки, который устанавливает несколько программ с помощью sudo apt-get, затем открывает vncserver, а затем устанавливает дополнительные компоненты.

Это работает:

#!/bin/sh
vncserver

>./my_script.sh

Но это не работает:

#!/bin/sh
sudo apt-get update
vncserver

>./my_script.sh 

И это не работает:

#!/bin/sh
vncserver

>sudo ./my_script.sh

Когда это не работает возвращает ошибку vncserver: Wrong type or access mode of /home/username/.vnc.

Кто-то на этот вопрос сказал, что это известная проблема. Итак, как я могу запустить vncserver в my_script?

0
задан 4 July 2019 в 20:04

1 ответ

Можно использовать sudo -u вернуться некорневому пользователю для конкретной команды.

Напр.:

$ cat myscript.sh
#!/bin/sh

whoami

sudo -u $SUDO_USER whoami

затем

$ sudo ./myscript.sh
[sudo] password for steeldriver: 
root
steeldriver
0
ответ дан 24 October 2019 в 01:05

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

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