ユーザー固有のudevとXとのシステム統合

ユーザー固有のudevとXとのシステム統合

私はUbuntu 16.04を使用していますこのソフトウェアはPulseAudioホットプラグイベントを自動的に実行するように開発されました。

現在、次のudevルールを使用しています。

/etc/udev/rules.d/90-autopulse.rules:

SUBSYSTEMS=="usb", ATTRS{idVendor}=="0d8c", ATTRS{idProduct}=="1066", ENV{SYSTEMD_WANTS}="[email protected]"

私はこれを私のシステムデバイスとして使用します。

/etc/systemd/system/[Eメール保護]:

[Unit]
Description=PulseAudio Hotplug Service

[Service]
Type=oneshot

Environment=DISPLAY=:0
User=%i
ExecStart=/usr/local/bin/autopulse switch
StandardOutput=journal

DISPLAY=:0残念ながら、与えられたXセッションになるという保証はありませんが、手動で設定する必要があります。

DISPLAY特定のユーザーの変数を抽出して環境で使用するようにudevまたはsystemdを設定する方法はありますか?それともハードコーディングされたのでしょうか?

ExecStartPre私はそれを見つけたり、スクリプトを調整するために何かをすることができると思います。 udevとsystemdの間のオプションは何ですか?

答え1

systemdも提供しますユーザーユーザーがログインしたときに開始されるサービス(起動時にアクティブになるシステムサービスと比較)を確認する必要があります。

しかし、udevルールを使用して起動できるかどうかはわかりません。ソフトウェアはユーザーデーモンで始まり、udevイベントを受け取り、それに応じて動作する必要がありますか?

関連情報