MochiuWiki : SUSE, EC, PCB
検索
個人用ツール
ログイン
Toggle dark mode
名前空間
ページ
議論
表示
閲覧
ソースを閲覧
履歴を表示
C++の応用 - D-Busのソースを表示
提供: MochiuWiki : SUSE, EC, PCB
←
C++の応用 - D-Bus
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループのいずれかに属する利用者のみが実行できます:
管理者
、new-group。
このページのソースの閲覧やコピーができます。
== 概要 == D-Busは、オープンソースのプロセス間通信(IPC:Inter Process Communication)機構であり、freedesktop.orgプロジェクトの一部である。<br> IPCとは、1台のコンピュータ上で動作する複数のプログラムの間で情報を交換するシステムのことである。<br> <br> IPCには、パイプ、名前付きパイプ、シグナル、共有メモリ、Unixソケット、ループバックソケット等がある。<br> D-Busもリンク層はUnixソケットで動作しているが、手順とフォーマット(プレゼンテーション層)が既定されていることが、「生の」Unixソケットとは異なる。<br> <br> 開発当初はGNOME等のGUIの制御を目的としていが、今日では、GUIに限らず幅広いソフトウェアで使用されており、<br> デスクトップの通知、メディアプレーヤー制御、XDGポータル等、多くのfreedesktop.org標準がD-Busをベースに構築されている。<br> <br> IPCとは、あるプロセスから別のプロセスへ情報を取得する方法を説明するために使用することができる。<br> これは、データの交換、メソッドの呼び出し、イベントのリスニング等がある。<br> <br> * デスクトップにおけるIPCの使用例 ** スクリプト(ユーザが共通の環境でスクリプトを実行して、実行中の様々なソフトウェアと対話または制御する)<br> ** 集中型サービスへのアクセスの提供 ** 協調型ソフトウェアの複数のインスタンス間の調整 <br> * D-Busの使用例 ** freedesktop.orgのnotification仕様 **: これは、ソフトウェアは通知を中央サーバ(Plasma等)に送信して、中央サーバは通知を表示して、通知が閉じられたりアクションが実行されたりといったイベントを送り返すものである。 <br> * IPCの他の使用例 ** ユニークなソフトウェアのサポート **: これは、ソフトウェアの起動時に、まず、同じソフトウェアの他の実行中のインスタンスを確認して、 **: もし存在すれば、IPCを介して実行中のインスタンスにメッセージを送信して、自分自身を表示して終了させる。 <br> D-Busは、言語やツールキットに囚われないため、あらゆるプロバイダのソフトウェアやサービスが相互作用することができる。<br> デーモン(軽量サービスプロバイダ)とそれを利用したいソフトウェアが、必要なサービス以上のことを知らなくても通信できるようにするためによく利用される。<br> <br> D-Busに仕様を詳しく知りたい場合は、[https://dbus.freedesktop.org/doc/dbus-specification.html freedesktopの公式Webサイト]を参照すること。<br> <br><br> == sdbus-c++ライブラリ == ==== sdbus-c++ライブラリとは ==== sdbus-c++ライブラリは、C++で理解できるAPIを提供するように設計されたLinux向けの高水準C++ D-Busライブラリである。<br> SystemdによるC D-Bus実装であるsd-busの上に、抽象化の別のレイヤーを追加する。<br> <br> sdbus-c++ライブラリは、主にdbus-c++を置き換えるものとして開発されている。<br> dbus-c++は、現在多くの未解決のバグ、並行性の問題、固有の設計の複雑さと制限に悩まされている。<br> <br> sdbus-c++ライブラリはsd-busライブラリを使用しているが、必ずしもSystemdに制約されているわけではなく、Systemd以外の環境でも完璧に使用することができる。<br> <br> ==== sdbus-c++ライブラリのインストール ==== sdbus-c++ライブラリのビルドに必要なライブラリをインストールする。<br> # SUSE sudo zypper install pkg-config make cmake gcc gcc-c++ expat-devel systemd-devel <br> [https://github.com/Kistler-Group/sdbus-cpp sdbus-c++ライブラリのGithub]にアクセスして、ソースコードをダウンロードする。<br> ダウンロードしたファイルを解凍する。<br> tar xf sdbus-cpp-<バージョン>.tar.gz cd sdbus-cpp-<バージョン> <br> または、<code>git clone</code>コマンドを実行して、ソースコードをダウンロードすることもできる。<br> git clone https://github.com/Kistler-Group/sdbus-cpp.git cd sdbus-cpp <br> sdbus-c++ライブラリをビルドおよびインストールする。<br> cmake -DCMAKE_INSTALL_PREFIX=<sdbus-c++ライブラリのインストールディレクトリ> \ -DCMAKE_BUILD_TYPE=Release \ -DBUILD_CODE_GEN=ON \ -DBUILD_DOC=ON \ -DBUILD_EXAMPLES=ON \ .. make -j $(nproc) make install <br><br> __FORCETOC__ [[カテゴリ:C++]]
C++の応用 - D-Bus
に戻る。
案内
メインページ
最近の更新
おまかせ表示
MediaWiki についてのヘルプ
ツール
リンク元
関連ページの更新状況
特別ページ
ページ情報
We ask for
Donations
Collapse