![권한이 없는 그래픽 세션에서 백라이트 장치를 제어할 수 있는 메커니즘은 무엇입니까?](https://linux55.com/image/134148/%EA%B6%8C%ED%95%9C%EC%9D%B4%20%EC%97%86%EB%8A%94%20%EA%B7%B8%EB%9E%98%ED%94%BD%20%EC%84%B8%EC%85%98%EC%97%90%EC%84%9C%20%EB%B0%B1%EB%9D%BC%EC%9D%B4%ED%8A%B8%20%EC%9E%A5%EC%B9%98%EB%A5%BC%20%EC%A0%9C%EC%96%B4%ED%95%A0%20%EC%88%98%20%EC%9E%88%EB%8A%94%20%EB%A9%94%EC%BB%A4%EB%8B%88%EC%A6%98%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
systemd-logind
Wayland(또는 권한이 없는 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-shell 3.28.2-1.fc28
과 Wayland를 사용하고 있습니다. systemd는 버전입니다 238-8.git0e0aa59.fc28
.
답변1
gsd-backlight-helper
gnome-settings-daemon
백라이트는 활성 사용자가 이를 수행할 수 있도록 허용하는 PolicyKit 설정 덕분에 루트로 실행되는 보조자에 의해 설정됩니다 . /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>
[...]