LINUX.ORG.RU

Релиз nEMU 3.0.0 — интерфейса к QEMU, основанного на псевдографике ncurses

 ,

Релиз nEMU 3.0.0 — интерфейса к QEMU, основанного на псевдографике ncurses

4

3

Состоялся релиз nEMU версии 3.0.0.

nEMU — это ncurses-интерфейс к QEMU, упрощающий создание, настройку и управление виртуальными машинами.
Код написан на языке C и распространяется под лицензией BSD-2.

Основные изменения:

  • Поддержка -netdev user (hostfwd, smb). Позволяет без каких-либо дополнительных настроек сети предоставить доступ во внешнюю сеть виртуальной машине.
  • Поддержка QMP команд snapshot-{save, load, delete}, появившихся в QEMU-6.0.0. Теперь для работы со снепшотами больше нет необходимости патчить QEMU.
  • Корректное отображение форм ввода и редактирования параметров при изменении размера окна (баге было семь лет, @GrafIn героически пофиксил).
  • API для удаленного управления виртуальными машинами. Теперь nEMU умеет принимать JSON команды через TLS сокет. Описание методов находится в файле remote_api.txt. Также был написан Android клиент. С помощью него в данный момент можно запускать, останавливать и подключаться к виртуальным машинам по протоколу SPICE.

Новые параметры в файле конфигурации, секция [nemu-monitor]:

  • remote_control - включает API.
  • remote_port - порт, на котором слушает TLS сокет, по умолчанию 20509.
  • remote_tls_cert - путь до публичного сертификата.
  • remote_tls_key - путь до закрытого ключа сертификата.
  • remote_salt - соль.
  • remote_hash - контрольная сумма от пароля плюс соль (sha256).

Ебилды, deb, rpm, nix и прочие сборки есть в репозитории.

>>> Подробности

★★★

Проверено: Shaman007 ()
Последнее исправление: demidrol (всего исправлений: 3)
Ответ на: комментарий от pihter

Есть в Gentoo (но старая версия, мейнтейнер ни жив ни мертв), и в Арче

pascal ★★★
() автор топика
Последнее исправление: pascal (всего исправлений: 1)

О, классно. Я вообще какую-то необъяснимую слабость к софту на ncurses питаю, вот нравится и все тут)

Я правильно понимаю, что данная программа есть настройщик виртуалок, и не более? То есть, запустить вирт.машину с графикой без иксов по-прежнему нельзя? Ну там через sdl или еще что-то напрямую с фреймбуффером работающее?

Dog ★★★
()
Ответ на: комментарий от Dog

У нас впринципе запускаются виртуалки так, что до графики можно добраться только по протоколам VNC/SPICE.

pascal ★★★
() автор топика
Ответ на: комментарий от pascal

Ясно. Я вроде когда-то видел какой-то vnc клиент на sdl, работавший без иксов, но возможно, мне это приснилось.

Dog ★★★
()
Ответ на: комментарий от Dog

Ну если он есть, то вы его легко можете прикрутить к nEMU.

делается это в настройках:
# vnc client path.
vnc_bin = /usr/bin/vncviewer
# vnc client args (%t - title, %p - port)
vnc_args = :%p

pascal ★★★
() автор топика
Ответ на: комментарий от Belkrr

Там явно хедера ncurses не подцепились, но это должен был cmake спалить и не запускать сборку. Арча нет под рукой - смогу проверить только сегодня вечером - завтра, но странно это.

pascal ★★★
() автор топика
Последнее исправление: pascal (всего исправлений: 2)
Ответ на: комментарий от Belkrr

Странно, под арчем cmake не выставлял нужным образом переменные для определения ncurses. Я вроде починил, в контейнере собралось, прошу проверить с master ветки.

GrafIn
()
Ответ на: комментарий от pascal

Я не программист

Оно и видно.

anonymous
()
Ответ на: комментарий от pascal

ну нам это не требовалось, изначально пилилось исключительно под QEMU

Я не программист :D

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

libvirt supports KVM, QEMU, Xen, Virtuozzo, VMWare ESX, LXC, BHyve and more

crypt ★★★★★
()
Последнее исправление: crypt (всего исправлений: 2)
Ответ на: комментарий от crypt

Мне наоборот использовать libvirt совсем не хотелось, т.к. оно жуткое и громоздкое. И необходимо было поддержать исключительно QEMU. Плюс мы не зависим от этой либы от слова совсем что дает только плюсы в реализации новых фич (нам не надо ждать когда впилят в libvirt), отладки

pascal ★★★
() автор топика
Последнее исправление: pascal (всего исправлений: 1)
Ответ на: комментарий от crypt

Libvirt хранит очень много бесполезного и очень хрупкого состояния, без которого не может работать, но при этом не предлагает идемпотентных команд для операций. Мышкой в UI на локалхосте тыкать норм, но любая нетривиальная (да и тривиальная иногда) автоматизация превращается в бесконечный допрос – «(thing-exists? ’xyz)». В результате проще на Nix написать генератор юнитов для systemd.

anonymous
()

это ncurses-интерфейс Это называется - text-based user interfaces (TUI) Те́кстовый по́льзовательский интерфе́йс, ТПИ. Софт на ncurses это круто! Больше софта на ncurses! Автор молодец!

anonymous
()
Ответ на: комментарий от anonymous

Напомните почему все эти ncurses не считаются хипсторским говном

Потому что Text-based user interface (TUI) это второе что придумали после Command line interface (CLI). Потому что я помню уроки информатики на 486 с Нортон Коммандер-ом и Турбо паскалем.

Почему такое не рисуют на SDL, имея все его возможности, но при этом избегая все приколы терминалов?

ncurses это всего лишь одна из многих библиотек предназначенных для построения Есть библиотека для посотроения Текстовый интерфейс пользователя. Зачем использовать SDL если можно обойтись одной библиотекой? Зачем использовать графический сервер, там где без него можно обойтись? Мне кажется ты шизофреник.

anonymous
()
Ответ на: комментарий от anonymous

Тогда покажи нам как ты работал с libvirt и что сделал полезного. А до этого у нас впечатление, что ты просто гонишь.

anonymous
()
Ответ на: комментарий от anonymous

Тогда покажи нам как ты работал с libvirt и что сделал полезного. А до этого у нас впечатление, что ты просто гонишь.

8#==========0

Показал. Хорошо видно?

anonymous
()
Ответ на: комментарий от anonymous

8#==========0

Херовато как-то и никакой полезности. Сердешный прогонщик ты нам случайно не с планшета санитара постишь?

anonymous
()
Ответ на: комментарий от anonymous

Напомните почему все эти ncurses не считаются хипсторским говном, но каждый второй админ локалхоста течет от них в комментариях? Почему такое не рисуют на SDL, имея все его возможности, но при этом избегая все приколы терминалов?

Нужно именно в терминале. Графика не нужна на рабочих серверах. Если нужна графика - уходи на винду, а сюда больше не приходи, хипстер.

anonymous
()
Ответ на: комментарий от anonymous

Зачем уходить на венду за графекой, если есть божественные иксы.

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

anonymous
()
Ответ на: комментарий от anonymous

Зачем иксы на сервере. Сервер - он чтобы работу делать, а не на картинки смотреть. Или хипстеры до сих пор уверены, что и память и проц - уже не ресурс? Тогда у меня для них плохие новости - почитать которые можно в разделе цен любого хостера.

Линух нормально и однозначно конфигурируется при помощи скриптов, но если очень хочется, то пердольтесь с DE и RDP, заплатив за это хостеру.

anonymous
()

nEMU — это ncurses-интерфейс к QEMU, упрощающий создание, настройку и управление виртуальными машинами. Код написан на языке C

Когда все нормально, то нет предмета для хейта.

anonymous
()
Ответ на: комментарий от anonymous

щас бы не хейтить поделки на дырявом си с его дырявыми практикантами

anonymous
()
Ответ на: комментарий от Dog

Судя по всему, там таже проблема, что была с Arch. Пакет nemu-git из AUR собрался в контейнере с Artix (после того как я разобрался, как там udev хедеры установить:). master с гита тоже собрался без проблем (как с использованием pkg/linux/arch/PKGBUILD, так и ручками).

Возможно нужно доставить пакет ncurses (но у меня стоял по умолчанию, и его выпиливание поломало sh).

Что пишет

$ whereis curses.h
$ whereis form.h

?

GrafIn
()
Ответ на: комментарий от GrafIn

Просто в PKGBUILD’е руками 2.6.0 на 3.0.0 заменил, обычно такое прокатывает. Скачиваеся архив с исходниками именно 3.0.0. Уже собирается, спасибо.

Dog ★★★
()
Ответ на: комментарий от pascal

Спасибо, собралось! А что за таг? Исходники и в тот раз 3.0.0 качались, я просто в PKGBUILD’е 2.6.0 на 3.0.0 заменял (сейчас так же сделал абсолютно).

Dog ★★★
()
Ответ на: комментарий от Dog

В гите tag это типа удобочитаемой ссылки на конкретный коммит. Мы когда релизили 3.0.0 пропустили багу со сборкой под Arch. И позже пофиксили. Но если тянуть по тагу 3.0.0 - тянулась версия с багом. Вот @pascal и перевесил таг на более свежий коммит, в котором эта проблема починена.

GrafIn
()

Привет из 80-ых?

X512 ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.