Waylandのsudo-run systemdサービスからユーザーデスクトップ通知を受け取るには?

Waylandのsudo-run systemdサービスからユーザーデスクトップ通知を受け取るには?

私はFedoraベースのディストリビューションであるNobara(Wayland)でKDE Plasmaを実行しています。私はWaylandとNobara / Fedoraに初めてアクセスし、systemdの経験が非常に限られています。

タスクの結果に応じて、成功、警告、またはエラーデスクトップ通知を送信するbashスクリプトがあります。

  • sudoではなく手動でスクリプトを実行すると、デスクトップ通知が表示されます。
  • sudo 以外の端末で通知コマンドを実行すると、デスクトップ通知が受信されます。
  • / etc / systemd / systemサービスを設定すると、デスクトップ通知を受け取らず、Journalctlにエラーが表示されます(そうしないと、スクリプトは正常に実行されます)。

X11 $ DISPLAYなしではD-Busを自動的に起動できません。

スクリプト通知の例:

notify-send -a 'Successful!' -u low -i vcs-normal

システムサービス:

[Unit]
Description=Test Script
Wants=network-online.target
After=network-online.target

[Service]
Type=simple
Nice=10
IOSchedulingClass=2
IOSchedulingPriority=7
ExecStart=/home/username/.local/bin/test.sh
User=username
Group=users

私の検索によると、rootとして実行されているsystemdサービスは、通知を発行するためにユーザーのデスクトップにアクセスできません。私周りの試みを見ました。つまり、サービスファイルに追加します。

[Service]
User=username
Environment=DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/%U/bus 

私の場合、ログのエラーは停止しましたが、デスクトップ通知は提供されませんでした。

私はsystemdサービスをユーザーとして実行でき、systemd --user start testサービスファイルを配置すると通知が機能する~/.config/systemd/userことを知っています(私はこれを達成しました)。しかし、この場合は、このスクリプトをrootとして実行したいと思います。

ありがとうございます:)

ベストアンサー1

おすすめ記事