私は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イベントを受け取り、それに応じて動作する必要がありますか?