# Установка и настройка x11vnc сервера

x11vnc — это VNC-сервер, который позволяет подключаться к локальному рабочему столу устройства через протокол VNC.  
Этот документ содержит пошаговые инструкции по установке, настройке и автозапуску x11vnc сервера.

## Способы установки

### 1. Установка через интернет (скачивание deb-пакетов со store.neuro-city)
1. Скачайте скрипт `x11vnc.sh` с помощью команды:
   ```bash
   wget https://store.neuro-city.ru/vncserver/x11vnc.sh
   ```
2. Дайте права на выполнение скрипта:
    ```bash
    chmod +x ./x11vnc.sh
    ```
3. Запустите скрипт:
    ```bash
    ./x11vnc.sh
    ```

Во время выполнения скрипт:
* Запросит у вас пароль для VNC
* Скачает **x11vnc** в формате **.deb**
* Скачает и установит все необходимые зависимости
* Настроит пароль для VNC и создаст системный сервис для автозапуска
* Автоматически запустит **x11vnc** сервер


### 2. Установка из локального архива
Если у вас уже есть архив `vnc_packages.tar.gz`, содержащий все **.deb** пакеты, на устройстве, на котором необходимо развернуть VNC сервер, вы можете установить **x11vnc** без скачивания со store.neuro-city.
1. Скопируйте `vnc_packages.tar.gz` в ту же папку, где находится `x11vnc.sh`.
2. Дайте права на выполнение:
    ```bash
    chmod +x ./vnc_packages.tar.gz
    chmod +x ./x11vnc.sh
    ```
3. Запустите скрипт с аргументом **--local**:
    ```bash
    ./x11vnc.sh --local
    ```
Во время выполнения скрипт:
* Распакует архив и установит **x11vnc** и его зависимости
* Запросит у вас пароль для VNC
* Настроит пароль для VNC и создаст системный сервис для автозапуска
* Автоматически запустит **x11vnc** сервер


### 3. Установка через APT (режим --web)
Если устройство находится  открытом контуре и подключено к интернету и вы хотите установить всё напрямую из стандартных репозиториев:
1. Дать права на выполнение:
    ```bash
    chmod +x ./x11vnc.sh 
    ```
2. Запустите скрипт с аргументом **--web**:
    ```bash
    ./x11vnc.sh --web
    ```
Во время выполнения скрипт:
* Обновит список пакетов
* Установит **x11vnc** и необходимые зависимости через **apt**
* Запросит у вас пароль для VNC
* Настроит сохранение пароля и автозапуск через systemd
* Запустит **x11vnc** сервер

💡 Это самый простой и рекомендуемый способ, если есть стабильный доступ к интернету.


## Подключение к серверу
Для подключения используйте любой VNC-клиент. Введите **IP-адрес** устройства и порт `5900`.

Проверьте статус **x11vnc** с помощью команды:
    ```bash
    sudo systemctl status x11vnc.service
    ```

## Удаление x11vnc
1. Остановите и отключите сервис:
    ```bash
    sudo systemctl stop x11vnc.service
    sudo systemctl disable x11vnc.service
    ```
2. Удалите сервисный файл:
    ```bash
    sudo rm /etc/systemd/system/x11vnc.service
    ```
3. Удалите установленный пакет:
    ```bash
    sudo apt-get remove --purge x11vnc -y
    ```
4. Удалите папку с паролем:
    ```bash
    rm -rf /home/$(whoami)/.vnc
    ```

