LINUX.ORG.RU

Доступ к D-Bus из Wine

 , ,


0

2

Привет, ЛОР!

У меня тут одна вендовая тулза крутится в Wine. Хочу приделать к ней управление через DBus, чтобы тулза могла подключаться к пользовательской шине и слушать сообщения.

Скажи, а кто-то такое вообще пытался делать? Гугл ничего внятного не даёт. Насколько я понимаю, основная сложность в том, что dbus работает через unix сокет, api для которого в венде нет. В принципе, это легко обойти обвязкой, которая будет передавать команды из тулзы в этот сокет и обратно, но вдруг есть более лёгкие пути?

UPD: оказывается, dbus умеет через tcp работать. Можно повесить его на локахлост и дёргать изнутри wine. По крайней мере, так в документации написано.

★★★★★

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

Не крутить в вайне софтину, от которой у тебя есть исходники, а портировать её?

У меня нет исходников. Даже если бы и были, она на WinAPI завязана по самые гланды и портировать её я никуда не буду.

hateyoufeel ★★★★★
() автор топика
- The removable drive autodetection has been removed in WineCfg, now
  that the dbus dynamic device support is stable.

https://www.winehq.org/announce/6.0 (14.01.2021).

Нашлось по winegcc dbus.

Но если

У меня нет исходников.

как же тогда:

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

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

как же тогда

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

не видишь, тс размечтался? отойди и не мешай - пусть дальше мечтает 🤡

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

Нашлось по winegcc dbus.

Спасибо, посмотрю

Но если

У меня нет исходников.

как же тогда:

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

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

Линуксоеды совсем ничего о мире не знают :(

hateyoufeel ★★★★★
() автор топика
Последнее исправление: hateyoufeel (всего исправлений: 2)
Ответ на: комментарий от no-dashi-v2

socat. На одном конце обычный сокет, на втором unix, цепляйся на обычный по tcp и дальше как по учебнику

Про это я и сам подумал, спасибо. Хочу знать можно ли напрямую.

hateyoufeel ★★★★★
() автор топика