vitus_wagner: My photo 2005 (Default)
[personal profile] vitus_wagner
Эксперименты показали, что в качестве дисплея надо использовать spice. Потому что clipboard sharing это сильно.
Ради этого стоит потерпеть и то, что при отсутствии в guest-системе соответствующих тулзов курсор будет ей захватываться и без нажатия специальной комбинации клавиш не отпускаться (у SDL такое поведение просто неотключаемо, а у VNC его нет вообще).

Правда, если использовать spice, писать придется на python с использованеием gtk для gui.

Был бы VNC, можно было бы на tcl/tk писать, tk widget vnc-viewer-а бывает. Правда, с другой стороны, разные реализации VNC очень сильно отличаются по производительности, и есть подозрение что у Кристиана Вернера - не самая быстрая и не самая фичастая.

В любом случае, дисплей получается отцепляемым. А значит, отцепляемым надо делать и монитор, и позволять машине
уходить в бэкграунд. Но хочется сделать такую систему, что когда виртуальная ни одна машина не запущена, никаких процессов вообще нет.

Возникает идея - монитор цеплять к unix-domain-сокету, имя которого в файловой системе как-то тесно связано с именем машины (либо имеется общесистемная директория с этими сокетами, либо в директории где лежат все файлы виртуальной машины, имеется сокет monitor). Это соглашение, кстати, позволит иметь параллельный интерфейс для управления машинами из командной строки. Уж по крайней мере, system_powerdown туда сказать из скрипта всяко можно будет.

Соответственно, при желании присоединиться к работающей машине, мы коннектимся к ее монитору, лочим его (если не смогли - значит там кто-то другой уже работает), а потом спрашиваем у qemu на каком порту он ждет в гости spice/vnc клиента. Благо рассказать он об этом умеет. В принципе, конечно, tcp-порт монитора можно из файла конфигурации машины вычитывать. Но тогда придется его там хранить, а значит - оперативно редактировать этот файл конфигурации, если этот порт вдруг оказался занят. Впрочем, при создании снапшотов его все равно редактировать.

Интерфейс должен выглядеть как в левой полосе - элементы управления, а основное поле - экран гостевой системы.
Элементы управления сверху вниз removable диски, usb-устройства, снапшоты, а в самом низу кнопкки shutdown/reboot/etc. Над ними - окошко консоли монитора.
По верху окна вместо меню кнопки клавиш, которые можно туда послать.

Это если мы запустились с параметром "имя машины".

Если без него - то предлагаются варианты "открыть машину"/"создать машину".
При создании машины предлагается всего два варианта сети на выбор - подключиться к существующему бриджу или использовать user networking.

При подключении устройств и дисков должна быть предусмотрена опция "персистентное подклчение". В смысле пытаться при следующем запуске это устройство подключить обратно.

При закрытии GUI у нас должны быть варианты выбора - shudown, suspend, background.

Date: 2015-07-17 06:02 am (UTC)
balu: (Default)
From: [personal profile] balu
>clipboard sharing
От, кстати, да. Привык к нему в ВБ и не заметил его отсутствия на Qemu. Вы смотрели на коммерческую версию ВБ? Может еще что найдете, что захочется внедрить?
Edited Date: 2015-07-17 06:04 am (UTC)

Date: 2015-07-17 07:51 am (UTC)
balu: (Default)
From: [personal profile] balu
Я не знаю, что это такое. И, главное, он интегрирован в qemu или опционален?

Date: 2015-07-20 12:21 pm (UTC)
balu: (Default)
From: [personal profile] balu
Про kvm я знаю, а про Spice - нет.

Date: 2015-07-21 07:50 am (UTC)
balu: (Default)
From: [personal profile] balu
спасибо, буду знать. Собственно, Spice можно использовать, как замену VNC?
Edited Date: 2015-07-21 07:51 am (UTC)

Date: 2015-07-21 09:04 am (UTC)
balu: (Default)
From: [personal profile] balu
Просто интересно в качестве замены VNC и терминального решения, когда иксы дропнут

Date: 2015-07-16 10:34 pm (UTC)
From: [identity profile] prividen.livejournal.com
"При создании машины предлагается всего два варианта сети на выбор - подключиться к существующему бриджу или использовать user networking." - эхехе, прям как у меня было до наконец-то перехода на libvirt, вспомню-вздрогну ;)

Кстати, а что за машинки планируется виртуализировать и зачем к их консоли подключаться? А то на практике как-то удобней бывает цепляться к гостю через ssh/rdp/Xvnc/Xspice.

Date: 2015-07-17 09:11 am (UTC)
From: [identity profile] amarao-san.livejournal.com
Ещё одна вещь, которую я очень хотел бы видеть во многих системах виртуализации, и которая толком есть только в xen'е: это последовательный порт в виде текстовой консоли. В госте реализуется в пол-пинка (обычный getty на ttyS0), в хосте тоже (любимая терминалка, взаимодействующая с последовательным портом). Очень удобно, копипаст из коробки, возможность прозрачной и почти прозрачной интеграции с локальным шеллом и т.д.

Profile

vitus_wagner: My photo 2005 (Default)
vitus_wagner

June 2025

S M T W T F S
1 23 4 567
891011121314
15161718192021
22232425262728
2930     

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jun. 5th, 2025 09:18 pm
Powered by Dreamwidth Studios