vitus_wagner: My photo 2005 (Default)
vitus_wagner ([personal profile] vitus_wagner) wrote2016-04-19 09:02 am

vws 0.4

Тут как-то случайно получилось что несколько виртуальных машин, созданных с помощью vws оказались выпихнуты на сервер, которым пользуюсь не один я.

Софтинкой начали пытаться пользоваться другие люди, что немало поспособствовало ее совершенствованию.

В общем, в пятницу я поднял версию до 0.4.

Теперь оно умеет нормально выставлять права на shared машины, чтобы все пользователи группы kvm имели к ним доступ. Появилась, наконец поддержка автостарта машин при загрузке хоста, а при шатдауне оно пытается аккуратно гасить все машины - как автостартованные, так и нет. Надо бы еще сделать так чтобы vws list от рута показывал приватные машины всех пользователей. А vws start от рута слал бы в эротическое путешествие.

vws list научился показывать MAC и IP-адреса машин. Причем MAC и для остановленных тоже.

Разобрались тут наконец как правильно конфигурить bridge, чтобы винда не принимала его при каждом запуске за новую сеть.

Практика показала что не хватает сетевой прозрачности.

Хочется, чтобы указав host:vm или vm@host (не знаю, как лучше) можно было бы получить запущенный локально remote-viewer котоорый через ssh port forwarding конектится к машине на указанном хосте. Помимо некоторой экономии траффика по сравнению с запуском remote-viewer на хосте и форвардинга X-ового интерфейса через ssh, это позволит пробрасывать USB-устройства с рабочего места оператора в виртуальную машину.

Вот только думаю - завести под это дело отдельную команду, или навесить эту функциональность на vws start.

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

Еще назрел полноценный парсинг и редактирование start-файлов. Вот интересно, есть ли библиотека для python, которая максимально точно эмулирует разбор командной строки shell-ом?

[personal profile] ramendik 2016-04-19 12:14 pm (UTC)(link)
Вопрос к эксперту - насколько сложно запихнуть в QEMU винду, любую винду, но чтобы она могла пользоваться USB audio как входом (микрофон) и ALSA для проигрывания звука?

Критичная задача - уменьшить размер образа. Всё это будет жить на загружаемой флэшке, на которой OpenSuSe - просто потому, что собрать загружаемую флэшку на susestudio проще, чем возиться с дебиановскими скриптами. Так что я отдам под это не больше гигабайта и то со скрипом.

Безопасность НЕ критична, поскольку после того, как я один раз поставлю всё, что надо, мне бы лучше вовсе не монтировать user-writeable persistent storage внутри виртуальной машины. Так что даже Win98 - вариант. (Или QEMU строго требует writeable image? Тогда я сделаю скрипт, который будет копировать мой образ в /tmp и запускать его оттуда. Сам образ будет доступен для модификации исключительно руту).

Всё это надо потому, что некая тусовка использует звуковой клиент Raidcall, безопасность коего я оцениваю как нулевую. Он написан настолько неаккуратно, что требует админских прав для запуска - похоже, потому, что пишет логи в Program Files. Что они ещё там наляпали - непредсказуемо.

При этом ключевая фича клиента, из-за коей тусовка им и пользуется - он может вместе со звуком микрофона передавать звук, который играется в браузере или медиаплеере. Запустить всё это внутри Wine, сохранив эту фичу, у меня скорее всего не получится, поэтому я бы предпочёл начать сразу с QEMU.

Альтернатива - переубеждать тусовку, но для этого нужен другой клиент с этой самой фичей, и к тому же не требующий подъёма собственной серверной инфраструктуры. А где ж его взять? Клиентов много, а вот чтобы "слышно то что на компе ПЛЮС то что с микрофона" - с места не нагугливается. Наиболее "идейно правильный" mumble - всё равно этого кажется не умеет, а ещё требует свой сервер.

[personal profile] ramendik 2016-04-19 02:50 pm (UTC)(link)
Никакого remote viewing не будет, за отсутствием живого сервера. Речь о строго локальной машинке. Или remote-viewer это такой клиент у QEMU? Я сильно отстал от развития QEMU, гонял я его лет 7, что ли, назад.

Флэшка - на 32 Гб, но на ней же живут другие задачи, которые решаются этой машиной. (Идея в том, что "машина целиком" живёт на флешке, её можно воткнуть и работать, не используя никакое хранилище на собственно машине. Оно мне надо). Так что гигабайт есть. Ну два, если позарез.

Snapshot mode - спасибо, это именно то, что нужно. А вот сборка пакетов в этой системе меня не волнует, от слова совсем. В этой винде будут жить один браузер (вероятно, Chrome, поскольку критичен Youtube), один медиаплеер (MPC или VLC) и один Raidcall. Установка каких-либо ещё приложений, не говоря уж о компиляторах, исключена. Но вот выкачка апдейтов - да, проблема.

С другой стороны, живя в Ирландии, я в идеале не хотел бы заниматься пераццтвом (тм). На Win98 всем давно пофиг, её я считал бы abandonware. Образы с Win7 и Win10 предлагает сам Microsoft: https://developer.microsoft.com/en-us/microsoft-edge/tools/vms/windows/ . Правда, они там только для VirtualBox, а не для QEMU :( не знаю, насколько это конвертируемо (и не стоит ли по такому поводу пробовать сначала VirtualBox). А вот сервер - это пришлось бы качать гигаззы по торрентам либо просить у российских друзей скрытые FTP - или есть ещё какие-то варианты?

(Хотя, подумавши, самый пуристический вариант в смысле пераццтва(тм) это всё-таки Wine...но там 50 на 50 - выйдет или нет, в частности, быстрогугль показывает, что с хромом могут быть проблемы. А Youtube довольно критичен).

[personal profile] legolegs 2016-04-23 09:07 pm (UTC)(link)
Знаете, у меня рейдкол в вайне отлично захватывает и микрофон и в "музыкальном режиме" (при настройке №2 "захват с аппаратуры") - звуки с линейного выхода. Через пульсаудио, в федоре 20. Думаю, любой современный дистрибутив это сможет.

[personal profile] ramendik 2016-04-23 11:27 pm (UTC)(link)
Я обычно выпиливаю пульс за глючностью неимоверной, но это, возможно, первый случай, когда от него может быть польза. То есть с пульсом я могу гонять нативный браузер и рейдкол-в-вайне поймает звук? Я обязательно это попробую. Спасибо за подсказку!
Edited 2016-04-23 23:27 (UTC)

[personal profile] ramendik 2016-04-25 07:51 pm (UTC)(link)
Я воткнул свежий raidcall 8.1.8 в Wine. Инсталляция прошла успешно, выбрал Run Raidcall, ввёл логин-пароль - и получил зависание вайна, с которым не могу справиться даже kill -9 от рута на wineserver.

Был бы благодарен за пояснения, какую версию raidcall Вам удалось запихнуть в вайн и какие настройки надо в вайне поменять. (У меня wine 1.8.2 из opensuse 42.1 Leap).

[personal profile] legolegs 2016-04-26 08:37 am (UTC)(link)
RaidCall 7.3.6 (1.2.12972.172)
wine-1.7.55 (Staging)
pulseaudio 5.0

(давненько я не обновлялся, оказывается)

В вайне установлен геко (ну, он сам устанавливается) и (через winetricks) директх. Может ещё флешплеер, не помню, к сожалению.

Пульст дефолтный, звуковые настройки вайна дефолтные для федоры, т.е. максимум пульсаудио.

[personal profile] ramendik 2016-04-27 02:08 am (UTC)(link)
Я воткнул теперь 7.3.6. Он зависает на где-то пару минут сразу при запуске, но потом показывает UI нормально. Протестировать звук пока было не с кем.

У вас такое зависание в начале происходит?

winetricks я пока не воткнул. Я так понимаю, что он понадобится для Music Mode?

[personal profile] legolegs 2016-04-27 09:35 am (UTC)(link)
У меня ничего не зависает, стартует за пару секунд и за секунду логинится. Тестировать звук штатными средствами, сначала "системные настройки" -> "настройки звука" -> "проверка звука" -> "меня не слышат пользователи", хотя проще сначала зайти в любую группу (лучше пустую), что-нибудь сказать и посмотреть на индикатор захвата (зелёная полоска) , добиться, чтобы это работало. Затем нажать на ноту, замолчать и запустить видео или песенку. Если индикатор шевелится, то и собеседники вас слышать будут.

winetricks нужен для установки directX, который, ЕМНИП, нужен рейдколу. Всё-таки raidcall создавался для игр и зависимость его от API для игр понятна.
Edited 2016-04-27 09:36 (UTC)