権限のないグラフィックセッションでバックライトデバイスを制御するメカニズムは何ですか?

権限のないグラフィックセッションでバックライトデバイスを制御するメカニズムは何ですか?

systemd-logindWayland(または許可されていないXorg)は、fd passまたは同等の機能を介してDRMおよび入力デバイスにアクセスできます。 (最初の座席)でこれらの機器を見ることができますloginctl seat-status seat0

/sys/class/backlight/*/ただし、このデバイスリストにバックライトデバイス()は表示されません。

また、GNOMEは私のバックライトを制御できますが、私のユーザーにはまだsysfsファイルの所有者/グループまたはACLを介してバックライト権限が付与されていません。

$ ls -ld /sys/class/backlight/intel_backlight lrwxrwxrwx. 1 root root 0 May 24 17:12 /sys/class/backlight/intel_backlight -> ../../devices/pci0000:00/0000:00:02.0/drm/card0/card0-eDP-1/intel_backlight

$ cd /sys/class/backlight/intel_backlight
$ $ ls -l
total 0
-r--r--r--. 1 root root 4096 May 27 22:09 actual_brightness
-rw-r--r--. 1 root root 4096 May 27 22:17 bl_power
-rw-r--r--. 1 root root 4096 May 27 22:17 brightness
lrwxrwxrwx. 1 root root    0 May 27 22:09 device -> ../../card0-eDP-1
-r--r--r--. 1 root root 4096 May 27 22:17 max_brightness
drwxr-xr-x. 2 root root    0 May 27 22:09 power
lrwxrwxrwx. 1 root root    0 May 24 17:12 subsystem -> ../../../../../../../class/backlight
-r--r--r--. 1 root root 4096 May 27 22:17 type
-rw-r--r--. 1 root root 4096 May 27 22:17 uevent
$ getfacl bl_power brightness
# file: bl_power
# owner: root
# group: root
user::rw-
group::r--
other::r--

# file: brightness
# owner: root
# group: root
user::rw-
group::r--
other::r--

バックライトがなくても、私のGNOMEセッションの権限のないプロセスはバックライトを制御するためにどのようなメカニズムを使用しますかroot

追加するように編集された:デバイスは/sys/devices/pci0000:00/0000:00:02.0/drm/card0/card0-eDP-1図に表示され、loginctl seat-statusこれはバックライトデバイスの親デバイスです。

私はgnome-shell3.28.2-1.fc28とWaylandを使用しています。 systemdはバージョンです238-8.git0e0aa59.fc28

ベストアンサー1

gsd-backlight-helpergnome-settings-daemonバックライトは、アクティブユーザーがこれを実行できるようにするPolicyKit設定のおかげで、rootとして実行されるアシスタントによって設定されます。/usr/share/polkit-1/actions/org.gnome.settings-daemon.plugins.power.policy次のコンテンツが含まれています。

[...]
<action id="org.gnome.settings-daemon.plugins.power.backlight-helper">
  [...]
  <defaults>
    <allow_any>no</allow_any>
    <allow_inactive>no</allow_inactive>
    <allow_active>yes</allow_active>
  </defaults>
[...]

おすすめ記事