問題タブ [qdbus]

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.

0 投票する
1 に答える
249 参照

c++ - Raspberry Pi QDBus エラー: メッセージをサービスに送信できませんでした

すべてのwifiネットワークをリストするために単純なqt5 c++プログラムを実行しようとしています.Linux mintで実行するとすぐに動作しますが、Raspberry pi(最新のraspbian)で実行しようとすると次のエラーが発生します:

次のコマンドですべてのwifiネットワークを一覧表示できるため、wifiドングルは機能しています。 sudo iwlist wlan0 scan

何が起こっている?前もって感謝します。

0 投票する
1 に答える
81 参照

bash - スクリーンセーバー禁止スクリプト

KDE4 で Firefox の「plugin-container」をフラッシュ プレーヤーに使用する場合、スクリーン セーバーの禁止を自動化したいと考えています。自分でオリジナルのスクリプトを書いたわけではありませんが、少し修正しました。

スクリプトを実行すると、次のエラーが表示されます。

整数を出力するためにトップを取得しようとしましたが、できませんでした。

どうすれば修正できますか?

よろしくジョルジュ

0 投票する
1 に答える
1714 参照

qt - PowerManager を使用した QtDBus の簡単な例

QtDbusを使用して、システムで提供されるインターフェイスと通信しようとしPowerManagerています。私の目標はとてもシンプルです。DBus インターフェイスを使用してシステムを休止状態にするコードを作成します。

そこで、d-feetアプリケーションをインストールして、自分のシステムでDBus が利用できるインターフェースと、私が見たものを確認しました。

ここに画像の説明を入力

ご覧のとおり、何かを選択できるインターフェイスとメソッドがいくつかあります。私の選択は、インターフェイスorg.freedesktop.PowerManagmentのHibernate()です。

この目標では、メカニズムのみを理解するための非常に単純なコードをいくつか用意しました。もちろんQtライブラリを使用しました:

残念ながら、端末でエラーが発生します:


インターフェイス「(null)」の署名「s」を持つメソッド「メソッド」は存在しません

では、このコードの何が問題なのか教えてください。関数QDBusInterface::call()のいくつかの引数を忘れたと確信していますが、何ですか?

0 投票する
0 に答える
97 参照

c++ - Qt4 スタイルの QDBusConnection::connect() シグナル/スロット接続に追加の引数をバンドルします

QtDbus を使用しており、DBus シグナルを処理する必要があります。DBus の信号を次のように Qt スロットに接続することでこれを行っています。

ここで、1 つの Qt スロットで複数の DBus デバイスの信号が処理されるため、この信号で追加情報 (接続の時点で持っているデバイスのアドレス) を送信したいと思います。

Qt5 スタイルの接続では、ラムダを使用して次のようなことを行うことができます。

しかし、 QDBusConnectionで使用できる Qt5 スタイルの接続はありません。これらの接続は動的であるため、これを理解しています。

質問は次のとおりです:各 QDBusConnection::connect() に追加の引数をバンドルするにはどうすればよいですか?

理想的には、次のようなことができるようになりたいです。

0 投票する
1 に答える
210 参照

qt - QDBusArgument の正確な型

currentType()I を使用するElementTypeと、 a のを取得できますQDBusArgument。それが配列なのか、基本型なのかなどを教えてくれる非常に不正確な情報です。深く掘り下げる方法が見つかりませんでした。たとえば、基本タイプの場合...正確にはどれですか?短い?イント?

デバッグ目的で QDBusArgument の正確なタイプを取得することは可能ですか?

0 投票する
0 に答える
179 参照

qt - QDBus フリーズ UI の呼び出し

QDBusBluetoothプリンターに接続するアプリケーションがあります。プリンターをペアリングした後、Connectインターフェイスを呼び出しorg.bluez.Serialます。呼び出しが戻るまで、これが実際に UI をフリーズしていることに気付きました。ワーカー オブジェクトを作成してから別のオブジェクトに移動しましたがQThread、問題も解決しませんでした。

これが私ConnectBluetoothPrinter::Worker::print関数を呼び出す方法です。

ありがとう。

0 投票する
1 に答える
337 参照

c++ - サーバーの再起動後に QDBus サーバーに再接続する (Qt C++)

QT C++ プロジェクト (Linux) のプロセス間通信に DBus を使用してテストしています。

私はバスデーモンを使用しておらず、UNIX パス / ソケットを使用しています。

QT DBUS である神秘的な世界をナビゲートした後、インターフェイスの 1 つの堅牢性をテストするまで、すべてが順調に進んでいるように見えました。

サーバープロセスを強制終了して再起動した後、接続がタイムアウトします..接続オブジェクト(クライアント側)をクリーンアップし、サーバーに再接続しようとします。

クライアントが再接続できないようで、次のエラーが表示されます: errName: org.freedesktop.DBus.Error.NoServer errMesage: ソケットへの接続に失敗しました /tmp/abcd: 接続が拒否されました

私は試しました: - QDBusConnection::disconnectFromPeer(addr); - 関連するすべてのオブジェクトをクリーンアップするため、接続への参照は存在しません。

クライアントを再起動すると、(再起動された) サーバーへの接続に問題はありません。

0 投票する
1 に答える
2116 参照

dbus - メソッドが存在するにもかかわらず、オブジェクトパスに D-Bus メソッドが見つかりません

次のように、この com.example.appname.desktop ファイルを使用してアプリを実装します。

イントロスペクション XML は次のようになります。

しかし、メソッドを起動しようとすると、エラーが発生します:

「注釈名 = ..」XML タグ (イントロスペクション XML を参照) が、このメソッドが見つからない理由ですか? ブラウザー経由でブラウジングするitmm://192.168.1.1/query?version=1.0と、コマンド ライン パラメーターを使用してアプリケーションが起動されますが、D-Bus サービス経由では起動されず、それが私の要件です。これをFirefoxまたはGoogle Chromeブラウザでデバッグする方法はありますか?

0 投票する
1 に答える
287 参照

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()

提案をありがとう。