elogind service starts after sound device initialization, causing permission failures
まだ誰も着手していません。
- #62626 @eholzbach による — マージされずにクローズ
評価
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 初心者へのやさしさ
- 45/100
- issue の種類
- バグ
- 明瞭さ
- おおむね明確
- 活発さ
- 静か
- 技術スタック
- linux
調査の方向性
まず /etc/sv/elogind/run と /usr/share/dbus-1/system-services/org.freedesktop.login1.service を読み、次に /etc/sv/sddm/run が elogind と D-Bus にどのように依存しているかを調べます。ブートシーケンスを再現し、udevadm trigger --subsystem-match=sound の前後でデバイスの権限を比較します。完了の条件は、SDDM を壊したり D-Bus/サービスの競合を発生させたりすることなく、サウンドデバイスの ACL に間に合う十分早い段階で elogind が確実に起動することです。
索引モデルが issue の本文から書いたものです。
説明
Display Manager: SDDM
Desktop: KDE Plasma
On a fresh Void Linux installation with elogind, sound devices are created with incorrect permissions at boot, making them inaccessible to logged-in users. This occurs because elogind starts via D-Bus activation after udev has already processed sound devices.
Current Behavior:
At boot (before login):
crw------- 1 root root 116, 12 /dev/snd/controlC0
After manual udev trigger:
crw-rw----+ 1 root audio 116, 12 /dev/snd/controlC0
Void Linux ships elogind with only D-Bus activation enabled (/usr/share/dbus-1/system-services/org.freedesktop.login1.service)
No runit service is enabled by default (/var/service/elogind does not exist)
Boot sequence
- udev processes sound devices early in boot
- udev rules tag devices with uaccess (via /usr/lib/udev/rules.d/70-uaccess.rules
- elogind helper (/usr/libexec/elogind/elogind-uaccess-command) should set ACLs
- BUT elogind is not running yet (D-Bus hasn't activated it)
- Devices get root:root 600 permissions
User logs in → D-Bus now activates elogind → Too late, devices already processed
Sound devices remain inaccessible until manual udevadm trigger --subsystem-match=sound
Attempted Solutions:
ln -s /etc/sv/elogind /var/service/
Service fails to start because /etc/sv/elogind/run contains sv check dbus >/dev/null || exit 1, which fails with permission errors for non-root users. Meanwhile, D-Bus still auto-activates elogind, creating a conflict.
Option 2: Disable D-Bus activation + enable service
mv /usr/share/dbus-1/system-services/org.freedesktop.login1.service
/usr/share/dbus-1/system-services/org.freedesktop.login1.service.disabled
ln -s /etc/sv/elogind /var/service/
Result: SDDM fails to start resulting in no graphical login.
Any workarounds essentially lead me to either using rc.local with sleep and retrigger of udevadm, which is frankly a very bad solution, or rewriting the /etc/sv/sddm/run which I frankly think I shouldn't be doing.
I am not sure if this is even the correct repo to report this to, but this seems like a very obscure timing bug that should be probably looked into. If i am doing something wrong or have any suggestions how to fix this please let me know.
- 主要言語
- C
- スター
- 247
- フォーク
- 67
- PR マージ指標
- 30日以内にマージされた PR はありません
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートなし
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
void-linux/void-runit のほかの issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 67/100
void-linux/void-runit#141 · リアクション 1 件 ·
-
難易度 3/5 1〜2日 初心者へのやさしさ 25/100
void-linux/void-runit#127 ·
-
難易度 4/5 3〜5日 初心者へのやさしさ 25/100
void-linux/void-runit#125 · コメント 4 件 ·
-
key file and source not passed to keyscript対応中かも @shaohme が 835 日前に担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 35/100
void-linux/void-runit#120 ·
-
難易度 4/5 3〜5日 初心者へのやさしさ 20/100
void-linux/void-runit#119 · コメント 7 件 ·
void-linux/void-runit の issue をすべて見る
似ている issue
-
bug good first issue
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
-
enhancement
難易度 1/5 1時間未満 初心者へのやさしさ 85/100
FujiNetWIFI/fujinet-lib#122 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
メンテナーはふだん 12 日以内に返信
-
bug format I/O medium priority rt_lib
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
メンテナーはふだん 1 日以内に返信
-
難易度 1/5 1時間未満 初心者へのやさしさ 84/100