Страница 1 из 1
spicy
Добавлено: 12 ноя 2026, 14:49
ya
Re: spicy
Добавлено: 12 ноя 2026, 15:11
ya
Для SPICE в Debian 13 подойдёт пакет **virt-viewer**, он устанавливает программу `remote-viewer`. Установите его командой:
```
sudo apt update
sudo apt install virt-viewer
```
Если нужен минималистичный клиент, можно поставить `spice-client-gtk`, в нём есть программа `spicy`:
```
sudo apt install spice-client-gtk
```
После установки подключитесь к ВМ. Если клиент стоит на вашем компьютере, сначала создайте SSH-туннель, как описано ранее:
```
ssh -L 5917:127.0.0.1:5917 пользователь@IP_сервера
remote-viewer spice://127.0.0.1:5917
```
Или для `spicy`:
```
spicy -h 127.0.0.1 -p 5917
```
Если вы работаете прямо на сервере с графическим окружением, туннель не нужен, и достаточно выполнить `remote-viewer spice://127.0.0.1:5917` в терминале на сервере. Порт 5917 может измениться после перезапуска ВМ, поэтому сверяйте его с разделом **Manual connection** в Cockpit.
Re: spicy
Добавлено: 12 ноя 2026, 15:11
ya
Эти данные показывают, что ваша ВМ использует **SPICE**, а не VNC. SPICE слушает порт **5917** только на `127.0.0.1`, то есть доступен только с самого сервера. Это значит, что моя предыдущая информация о VNC-консоли по умолчанию не подходила к вашему случаю. Консоль Cockpit для ВМ в таком режиме обычно не открывается, поэтому подключиться можно двумя способами.
## Вариант 1: подключиться SPICE-клиентом
Установите клиент на ваш компьютер. В Debian это пакет `virt-viewer` (команда `remote-viewer`), на Windows можно использовать virt-viewer для Windows, на macOS подойдёт UTM или Remote Viewer.
1. Создайте SSH-туннель с вашего компьютера, чтобы перенаправить порт 5917 с сервера:
```
ssh -L 5917:127.0.0.1:5917 пользователь@IP_сервера
```
Оставьте это окно открытым.
2. В другом окне откройте ВМ:
```
remote-viewer spice://127.0.0.1:5917
```
Можно также ввести `spice://127.0.0.1:5917` в любом SPICE-клиенте.
## Вариант 2: переключить ВМ на VNC
Если вам нужна именно VNC-консоль прямо в Cockpit, измените тип графики у ВМ. На сервере выполните:
```
virsh edit имя_ВМ
```
Найдите элемент `<graphics type='spice' ...>` и замените его на:
```
<graphics type='vnc' port='-1' autoport='yes' listen='127.0.0.1'>
<listen type='address' address='127.0.0.1'/>
</graphics>
```
Сохраните файл и перезапустите ВМ. После этого вкладка **Console** в Cockpit должна показывать VNC-подключение.
Учтите, что порт 5917 назначается автоматически и может измениться после перезагрузки ВМ. Актуальный порт всегда указан в разделе **Manual connection** в Cockpit. Вы хотите оставить SPICE и подключаться через клиент или перейти на VNC, чтобы работать прямо из браузера?
Re: spicy
Добавлено: 12 ноя 2026, 15:12
ya
В Cockpit нет встроенного VNC-сервера для рабочего стола. VNC там появляется в двух случаях: как **консоль виртуальных машин** (через модуль cockpit-machines) или как отдельный VNC-сервер на самом Debian, к которому вы подключаетесь напрямую.
## VNC-консоль для виртуальных машин
Этот вариант работает «из коробки», если у вас KVM/libvirt.
### Установка
1. Установите пакеты:
```
apt update
apt install cockpit cockpit-machines qemu-system-x86 libvirt-daemon-system
```
2. Включите сервисы:
```
systemctl enable --now cockpit.socket
systemctl enable --now libvirtd
```
3. Откройте Cockpit в браузере по адресу `https://IP_сервера:9090` и войдите под пользователем системы.
4. Перейдите в раздел **Virtual Machines** и выберите нужную ВМ. Вкладка **Console** покажет VNC-подключение. Cockpit проксирует его через себя, поэтому отдельный порт VNC открывать не нужно.
Если консоли нет, проверьте, что у ВМ в настройках графики выбран VNC, а не SPICE или None.
## VNC для рабочего стола Debian
Этот вариант требует установленного графического окружения. Cockpit сам к нему не подключается, поэтому понадобятся отдельный VNC-сервер и, если нужен доступ из браузера, noVNC.
1. Установите VNC-сервер и noVNC (точные имена пакетов можно проверить через `apt search tigervnc novnc websockify`):
```
apt install tigervnc-standalone-server novnc websockify
```
2. Задайте пароль VNC для своего пользователя:
```
vncpasswd
```
3. Запустите сессию на дисплее `:1` (порт 5901):
```
vncserver :1 -localhost yes
```
4. Запустите мост websockify, чтобы открыть noVNC в браузере:
```
websockify --web=/usr/share/novnc 6080 localhost:5901
```
5. Откройте `http://IP_сервера:6080/vnc.html`.
Чтобы не выставлять VNC в интернет, лучше пробрасывать порт через SSH-туннель, например `ssh -L 5901:localhost:5901 user@IP_сервера`, и подключаться к `localhost:5901`. Не открывайте порты 5901 и 6080 наружу без шифрования и файрвола.
Какой вариант вам нужен: консоль ВМ или доступ к рабочему столу самого сервера? Если расскажете, как у вас настроена система (есть ли графическое окружение, используете ли вы виртуальные машины), я подскажу более точные шаги.