#!/bin/bash

# Получаем имя текущего пользователя
USER_NAME=$(whoami)
DEB_URL="https://store.neuro-city.ru/vncserver/x11vnc_0.9.16-8_amd64.deb" #  URL к .deb пакету
DEB_FILE="x11vnc_0.9.16-8_amd64.deb" # Имя .deb файла
# Задаем ссылки для скачивания зависимостей
DEPENDENCIES=(
  "https://store.neuro-city.ru/vncserver/libavahi-client3_0.8-5ubuntu5.2_amd64.deb"
  "https://store.neuro-city.ru/vncserver/libavahi-common3_0.8-5ubuntu5.2_amd64.deb"
  "https://store.neuro-city.ru/vncserver/libc6_2.35-0ubuntu3.8_amd64.deb"
  "https://store.neuro-city.ru/vncserver/libcrypt1_4.4.27-1_amd64.deb"
  "https://store.neuro-city.ru/vncserver/libssl3_3.0.2-0ubuntu1.18_amd64.deb"
  "https://store.neuro-city.ru/vncserver/libvncclient1_0.9.13+dfsg-3build2_amd64.deb"
  "https://store.neuro-city.ru/vncserver/libvncserver1_0.9.13+dfsg-3build2_amd64.deb"
  "https://store.neuro-city.ru/vncserver/libx11-6_1.7.5-1ubuntu0.3_amd64.deb"   
  "https://store.neuro-city.ru/vncserver/libxdamage1_1.1.5-2build2_amd64.deb"
  "https://store.neuro-city.ru/vncserver/libxext6_1.3.4-1build1_amd64.deb" 
  "https://store.neuro-city.ru/vncserver/libxfixes3_6.0.0-1_amd64.deb" 
  "https://store.neuro-city.ru/vncserver/libxi6_1.8-1build1_amd64.deb" 
  "https://store.neuro-city.ru/vncserver/libxinerama1_1.1.4-3_amd64.deb" 
  "https://store.neuro-city.ru/vncserver/libxrandr2_1.5.2-1build1_amd64.deb" 
  "https://store.neuro-city.ru/vncserver/libxtst6_1.2.3-1build4_amd64.deb"
  "https://store.neuro-city.ru/vncserver/openssl_3.0.2-0ubuntu1.18_amd64.deb"
  "https://store.neuro-city.ru/vncserver/tk_8.6.11+1build2_amd64.deb"
  "https://store.neuro-city.ru/vncserver/x11-utils_7.7+5build2_amd64.deb"
)
# Задаем пароль для VNC
# VNC_PASSWORD="your_password"

# Запрашиваем пароль для VNC
echo "Введите пароль для VNC:"
read -s VNC_PASSWORD

# Скачиваем и устанавливаем зависимости
echo "Скачивание и установка зависимостей..."
for URL in "${DEPENDENCIES[@]}"; do
  FILE_NAME=$(basename "$URL")
  echo "Скачивание $FILE_NAME..."
  wget -O "$FILE_NAME" "$URL"
  if [[ $? -ne 0 ]]; then
    echo "Ошибка: Не удалось скачать $URL"
    exit 1
  fi
  echo "Установка $FILE_NAME..."
  sudo dpkg -i "$FILE_NAME"
done

# Скачиваем .deb пакет
echo "Скачивание x11vnc..."
wget -O "$DEB_FILE" "$DEB_URL"
if [[ $? -ne 0 ]]; then
  echo "Ошибка: Не удалось скачать $DEB_URL"
  exit 1
fi

# Устанавливаем x11vnc
echo "Установка x11vnc..."
sudo dpkg -i "$DEB_FILE"
#sudo apt-get install -f -y

# Настраиваем пароль для x11vnc
echo "Настройка пароля для VNC..."
mkdir -p /home/$USER_NAME/.vnc
x11vnc -storepasswd $VNC_PASSWORD /home/$USER_NAME/.vnc/passwd
sudo chown $USER_NAME:$USER_NAME /home/$USER_NAME/.vnc/passwd
sudo chmod 600 /home/$USER_NAME/.vnc/passwd

# Создаем systemd-сервис для автозапуска x11vnc
echo "Создание systemd-сервиса для x11vnc..."
sudo tee /etc/systemd/system/x11vnc.service > /dev/null <<EOL
[Unit]
Description=Xvnc server
After=display-manager.service
Requires=display-manager.service

[Service]
ExecStartPre=/bin/sleep 30
ExecStart=/usr/bin/x11vnc -display :0 -auth /var/run/lightdm/root/:0 -forever -usepw
Restart=always
User=$USER_NAME

[Install]
WantedBy=multi-user.target
EOL

# Перезагружаем systemd и запускаем сервис
echo "Включение и запуск x11vnc..."
sudo systemctl daemon-reload
sudo systemctl enable x11vnc.service
sudo systemctl start x11vnc.service

echo "Xvnc установлен и настроен для автозапуска."

