Xubuntu 18.04 운영 체제에서 실행되는 일부 홈브류 애플리케이션이 있으며 D-Bus를 사용하여 서로 통신합니다. UI 부분은 웹 브라우저에서 실행되며 웹 소켓은 애플리케이션과 통신하는 데 사용됩니다.
목표는 모든 통신을 D-Bus로 마이그레이션하는 것이지만 /org/freedesktop/DBus
테스트를 위해 크롬 브라우저에서 액세스를 시도했지만 성공하지 못했습니다. 나는 사용했다이 도서관:
var dbus = require('dbus-native')
var conn = dbus.createConnection()
conn.message({
path: '/org/freedesktop/DBus',
destination: 'org.freedesktop.DBus',
'interface': 'org.freedesktop.DBus',
member: 'Hello',
type: dbus.messageType.methodCall
})
conn.on('message', function (msg) { console.log(msg) })
브라우저 콘솔에 표시되는 내용은 다음과 같습니다.
Uncaught Error: unknown bus address
at createStream (index.js?26d9:22)
at Object.createConnection (index.js?26d9:76)
이것이 내가 그것을 실행할 때 보는 것입니다 dbus-monitor
. 그러나 그것이 나의 연결 시도와 관련이 있는지는 모르겠습니다:
signal time=1626258028.185483 sender=org.freedesktop.DBus -> destination=:1.196 serial=2 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameAcquired
string ":1.196"
signal time=1626258028.185641 sender=org.freedesktop.DBus -> destination=:1.196 serial=4 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameLost
string ":1.196"
method call time=1626258031.724118 sender=:1.195 -> destination=org.freedesktop.PowerManagement serial=7 path=/org/freedesktop/PowerManagement/Inhibit; interface=org.freedesktop.PowerManagement.Inhibit; member=UnInhibit
uint32 39
method return time=1626258031.724440 sender=:1.27 -> destination=:1.195 serial=151 reply_serial=7
method call time=1626258031.724721 sender=:1.195 -> destination=org.freedesktop.DBus serial=8 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=RemoveMatch
string "type='signal', path='/org/freedesktop/DBus/Local',interface='org.freedesktop.DBus.Local', member='Disconnected'"
method return time=1626258031.724743 sender=org.freedesktop.DBus -> destination=:1.195 serial=7 reply_serial=8
signal time=1626258031.725311 sender=org.freedesktop.DBus -> destination=:1.195 serial=5 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameLost
string ":1.195"
signal time=1626258031.725517 sender=org.freedesktop.DBus -> destination=(null destination) serial=339 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameOwnerChanged
string ":1.195"
string ":1.195"
string ""
웹 브라우저를 통해 freedesktop DBus에 액세스할 수 있습니까? 아니면 이를 허용하려면 DBus 데몬 구성을 일부 조정해야 합니까? 저는 D-Bus를 처음 접했습니다.