socat経由でtcpをd-busに渡すことが失敗する

socat経由でtcpをd-busに渡すことが失敗する

私はローカルセッションdbusデーモン用のTCPプロキシを構築しようとしています。私がやった

 socat TCP-LISTEN:55556,reuseaddr,fork,range=127.0.0.1/32 ABSTRACT-CONNECT:/run/user/1000/bus

ただし、DBUS_SESSION_BUS_ADDRESS=tcp:host=127.0.0.1,port=55556 notify-send helloこのエラーが発生します。

2018/12/31 03:11:56 socat[4316] E connect(5, AF=1 "\0/run/user/1000/bus", 21): Connection refused
2018/12/31 03:11:56 socat[4317] E connect(5, AF=1 "\0/run/user/1000/bus", 21): Connection refused

この問題をどのように解決できますか?オフラインボックスなので、セキュリティにはまったく気にしません。

答え1

抽象ソケットにするss -xnlには、Unixソケットがstartとして表示されることを確認する必要があります。@そんなことはないと思います@。まったく異なるバージョンを実行する2つのシステムがあります。 1つはランダムな項目を持つ抽象ソケットを使用して受信すること、@/tmp/dbus-QVAhTtSPNBもう1つはunixを使用して受信することです(いいえクリーンアップ)ソケット/run/user/1000/bus対。

正しいコマンドは次のとおりです。

 socat TCP-LISTEN:55556,reuseaddr,fork,range=127.0.0.1/32 UNIX-CONNECT:/run/user/1000/bus

関連情報