問題タブ [qtdbus]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - X11 の $DISPLAY なしで dbus-daemon を自動起動できない
D-Bus にバインドする QT/C++ ターミナル アプリケーションがありますが、セッション バスにバインドしようとすると、次のエラーが発生します。
「X11 の $DISPLAY なしで dbus-daemon を自動起動できません」
これは単純なターミナル アプリケーションのコード スニペットです。
X11 のサポートは必要ないので、このエラーに対処する最も簡単な方法を探しています。
c++ - dbus を介したオブジェクトの共有
私のプロジェクトは次の例から派生しています: http://doc.qt.io/qt-5/qtdbus-remotelinkedshower-example.html
シャワーとコントローラーの 2 つのプロセスがあり、コントローラーは簡単なメッセージをシャワーに送信し (このプロジェクトでは車の名前をシャワーに変更しました)、ファンシーな車の GUI をシンプルなウィジェットに変更しました。これを行うのに問題はありませんでした。私の問題は、カスタム クラスを使用してメッセージを送信しようとするときです。
そして、メッセージオブジェクトを受け取るシャワークラスにメソッドを追加します
これは、シャワー インターフェイスを定義する xml です。
そしてプロファイル
これをコンパイルできません。このエラー ログが表示されます
何が起こっているのか途方に暮れています。このチュートリアルで概説されている手順に従っていました: https://techbase.kde.org/Development/Tutorials/D-Bus/CustomTypes#DBusChat.pro見下ろす。
c++ - Qt DBus がシグナルを受信しない
私は Qt DBus を動作させようとしてきましたが、うまくいきませんでした。アプリケーションが受信すべき信号を受信していないようです。を使用して DBus を監視しましdbus-monitor --system
たが、信号が実際に生成されていることがわかります。Qt でメソッド DBus メソッド呼び出しを行うと、応答が正常に返されます。QDBUS_DEBUG=1 で実行している場合でも、Qt がシグナルを受信したことを示す何も出力されません。明らかな何かが欠けていますか?
動作するはずのコードを次に示しますが、動作しません (コンソールに何も表示されません)。
c++ - サーバーの再起動後に QDBus サーバーに再接続する (Qt C++)
QT C++ プロジェクト (Linux) のプロセス間通信に DBus を使用してテストしています。
私はバスデーモンを使用しておらず、UNIX パス / ソケットを使用しています。
QT DBUS である神秘的な世界をナビゲートした後、インターフェイスの 1 つの堅牢性をテストするまで、すべてが順調に進んでいるように見えました。
サーバープロセスを強制終了して再起動した後、接続がタイムアウトします..接続オブジェクト(クライアント側)をクリーンアップし、サーバーに再接続しようとします。
クライアントが再接続できないようで、次のエラーが表示されます: errName: org.freedesktop.DBus.Error.NoServer errMesage: ソケットへの接続に失敗しました /tmp/abcd: 接続が拒否されました
私は試しました: - QDBusConnection::disconnectFromPeer(addr); - 関連するすべてのオブジェクトをクリーンアップするため、接続への参照は存在しません。
クライアントを再起動すると、(再起動された) サーバーへの接続に問題はありません。
qt - Qt5でQDBusConnectionからサービス名を取得
私たちのフレームワークは最近、Qt4 から Qt5 に更新されています。しかし、ここで d-bus イベント処理に問題が発生しました。
元のコードQDBusConnection::sender().name()
は空の文字列を返します。そして、公式はQDBusContext::connection()
「1.40」、「1.101」のような代替方法を提案しました(アドレスか何かである必要があり、正しいです)。
msg.service()
また、 msg が である場所を使用しようとしますがQDBusMessage
、それでも以前のアドレスを取得します。
アドレスが変更される可能性がある d-bus サービスが再起動された場合でも、さまざまなサービスを確実に区別できるようcom.stackoverflow.HelpMe
に、 に送信するような名前を取得する必要があります。QDBusConnection::connect()
提案をありがとう。
python - ImportError: No module named 'dbus' を解決するにはどうすればよいですか?
ubuntuにインストールanaconda4
し、Pythonにこれらのモジュールを持っています:
インストールdbus-python (1.2.4)
してみpydbus (0.2)
ましたが、どちらも機能しません。
Python 3.5.1 で単純なプログラムをテストした後、エラーが表示されました。
pydbus
Python 2.7.11 および 3.5.1 で使用する場合:
次のエラーが表示されます。
機能する唯一のものは、チュートリアルがないこの例です。PyQT4
何が問題ですか?それは私のインストールですか、それとも何か他のものですか?