check_vnc.sh
Код: Выделить всё
#!/bin/bash
# 1. Проверяем, запущен ли x0vncserver
if ! pgrep -x "x0vncserver" > /dev/null
then
# 2. Если не запущен, проверяем наличие процесса startx
if pgrep -f "/usr/bin/startx" > /dev/null
then
echo "VNC не запущен, а X-сессия активна. Запуск x0vncserver..."
# Запускаем x0vncserver.
# Параметры (пароль, порт и т.д.) лучше указать в конфиге или здесь:
export DISPLAY=:0
/usr/bin/x0vncserver -display :0 -passwordfile /root/.vnc/passwd &
else
echo "X-сессия (startx) не обнаружена. Ничего не делаем."
fi
else
echo "x0vncserver уже работает."
fiКод: Выделить всё
chmod +x check_vnc.shКод: Выделить всё
* * * * * /путь/к/вашему/скрипту/check_vnc.shКод: Выделить всё
if [ -z "$DISPLAY" ] && [ "$XDG_VTNR" -eq 1 ]; then
# Здесь ваш код, который выполнится только на TTY1
exec startx $(which happ)
fi