Рейтинг:0

Как сохранить разрешение при перезагрузке для записи сценария в `/sys/class/backlight/acpi_video0/brightness`?

флаг ru

Я написал скрипт, который позволяет мне переключать яркость экрана моего ноутбука (я запускаю его с помощью горячей клавиши, привязанной к xbindkeys),
но это включает в себя запись в /sys/класс/подсветка/acpi_video0/яркость.

На данный момент я просто сделал так, чтобы он мог писать в этот файл, выполнив
sudo chown $USER: /sys/class/backlight/acpi_video0/brightness
но это сбрасывается после каждой перезагрузки ноутбука,
поэтому мне нужно перезапустить его, прежде чем я смогу использовать свою горячую клавишу.

Каков правильный и постоянный способ сделать это?



EDIT_3 (т. е. добавлено после ниже 2 редактирования) (технически «ответ»):

Мне надоело пытаться заставить udev работать,
и (после долгого замешательства (неизвестное количество которых было вызвано тем, что я просто опечатал и пропустил букву «t» в «яркости».))
наконец заставил его работать так:

(Чтобы быть явным, мой эхо $USER является о1.)

Так


  • (1)

Я создал файл:
/home/o1/.icanhasbrightness.sh
содержащий:

#!/usr/bin/bash  
chown o1: /sys/класс/подсветка/acpi_video0/яркость  

  • (2)

Я сделал:
> корень sudo chown: root /home/o1/.icanhasbrightness.sh
и
> sudo chmod 0711 /home/o1/.icanhasbrightness.sh
(
такой, что
> stat /home/o1/.icanhasbrightness.sh|голова -n 4|хвост -n 1
#=>
Доступ: (0711/-rwx--x--x) Uid: (0/root) Gid: (0/root)
)


  • (3)

Я сделал:
> Судо Визудо
и добавил строку:
o1 ALL=(ALL) NOPASSWD: /home/o1/.icanhasbrightness.sh


  • (4)

Я изменил свою функцию fishshell, чтобы проверить, нет владелец файла яркости, а если нет, запустите этот скрипт.
(

функция яркость_set_current  
    #todo это, вероятно, "неправильный" способ справиться с этим, но что бы он ни работал  
        если тест $USER != (stat -c %U /sys/class/backlight/acpi_video0/brightness)  
            sudo /home/o1/.icanhasbrightness.sh  
        конец  
    эхо $argv > /sys/класс/подсветка/acpi_video0/яркость  
конец  

)


... Итак, я думаю, что технически это отвечает на мой собственный вопрос, но...

  • (1) Я чувствую, что это, вероятно, «неправильный» способ сделать это (?)
  • (2) Я так устал возиться с этим, что мне все равно не хочется публиковать его в качестве «ответа» прямо сейчас.

(((
И в интересах любых гипотетических будущих эквивалентов моего прошлого «я».
(
то есть, по общему признанию, не связанный с фактическим вопросом, на который я пытался получить ответ здесь,
но я пока оставлю это здесь, а потом придумаю, куда лучше поместить, где, скорее всего, это увидит кто-то, кто сочтет это полезным.
),
кому просто нужна горячая клавиша для переключения яркости и цветовой температуры экрана,
затем, предполагая, что вы уже используете fishshell (и знаете, как сохранить их как функции автозагрузки и все такое), код был таким:

функция яркость_get_current
    кошка /sys/класс/подсветка/acpi_video0/яркость
конец

функция яркость_set_current
    #td ИСПРАВИТЬ(?)
        если тест $USER != (stat -c %U /sys/class/backlight/acpi_video0/brightness)
            sudo /home/o1/.icanhasbrightness.sh
        конец
    эхо $argv > /sys/класс/подсветка/acpi_video0/яркость
конец

функция яркости_get_max --description 'максимальная яркость, мб'
    кошка /sys/класс/подсветка/acpi_video0/max_brightness
конец

функция яркости_set_max --description 'максимальная яркость, мб'
    яркость_set_current (яркость_get_max)
конец

функция яркость_toggle
    #
        #
            установить -l подробный $argv
            установить -l текущая_яркость (brightness_get_current)
            установить -l current_ct (xsct|g --nocolor -o '\d+$')
                #бк
                    # эхо current_ct $current_ct
        #
            установить -l яркость
                если тест $current_brightness -eq 0
                    установить яркость «мин»
                иначе если проверить $current_brightness -eq (brightness_get_max)
                    установить максимальную яркость
                еще
                    установить яркость «средняя»
                конец
            установить -l покраснение
                если тест $current_ct -eq 1000
                    установить красноту «красный»
                иначе, если тест $current_ct -lt 1000
                    установить красноту 'red_super'
                иначе, если тест $current_ct -lt 700
                    установить красноту 'red_impossible'
                иначе, если тест $current_ct -lt 6500
                    установить красноту «средний»
                иначе, если тест $current_ct -eq 6500
                    установить красноту «белый»
                еще
                    установить красноту «синий»
                конец
        #
            функция яркость_set_to_max_white
                яркость_set_max
                D0 xsct 0 #т.е. 6500
            конец
            функция яркость_set_to_min_red
                яркость_set_current 0
                D0 xsct 1000
            конец
            функция яркость_set_to_min_white
                яркость_set_current 0
                D0 xsct 0 #т.е. 6500
            конец
        #
            #бк
                если тест "$verbose"
                    эхо \t'текущее состояние:'
                    эхо \t\t'яркость:' \t$яркость
                    эхо \t\t'покраснение:' \t$покраснение
                конец
            #
                if test "$brightness" = 'max' -a "$redness" = 'white'
                    #бк
                        тест "$подробный"
                        и эхо "1 - установка на min_red (из max_white)"
                    яркость_set_to_min_red
                иначе, если test "$brightness" = 'min' -a "$redness" = 'red'
                    #бк
                        тест "$подробный"
                        и эхо "2 - установка на min_white (из min_red)"
                    яркость_set_to_min_white
                иначе если test "$brightness" = 'min' -a "$redness" = 'white'
                    #бк
                        тест "$подробный"
                        и эхо "3 - установка на max_white (из min_white)"
                    яркость_set_to_max_white
                еще
                    #бк
                        тест "$подробный"
                        и эхо "4 - установка на max_white (от другого)"
                    яркость_set_to_max_white
                конец
конец

и привязать его к ключу,
я просто положил в ~/.xbindkeysrc этот контент:

"рыба -c 'brightness_toggle'"
  Mod4 + меньше

(Mod4 + меньше просто быть тем, что xbindkeys -mk сказал мне, что это вызвало эту комбинацию клавиш, когда я нажал ее)

...ах да, кроме установки xsct ты тоже должен сделать
> git клон 'https://github.com/faf0/sct.git'
(в то время как в любом каталоге вы хотите СКТ директор, чтобы закончить в)
тогда
> sudo apt установить libxrandr-dev (зависимость, которую вам нужно скомпилировать)
затем (в то время как в этом СКТ директор, созданный git клон-ing)
> судо сделать установить

(
Кроме того, я настроил горячие клавиши, чтобы перевернуть край экрана вверху.
(что также зависит от того, что яркость_set_current функция, потому что, по крайней мере, для меня, используя ксрандр -о почему-то портит яркость)
с рыбьей скорлупой:

function screen_orientation --description 'ориентация экрана/монитора - возможные аргументы: нормальный/левый/правый/инвертированный'
    установить current_brightness (cat /sys/class/backlight/acpi_video-0/max_brightness)
    xrandr -o $argv
    и яркость_set_current $current_brightness

    # думаю, мне это действительно не нужно?
        # если thnpadd
        # азот --восстановить
        # # и азот D0 --restore
        # конец
конец

и ~/.xbindkeysrc:

"рыба -c 'ориентация_экрана влево'"  
  Мод4 + Левый  
"рыба -c 'ориентация экрана нормальная'"  
  Мод4 + Вверх  
"рыба -c 'ориентация экрана вправо'"  
  Мод4 + Вправо  
"рыба -c 'экран_ориентация перевернута'"  
  Мод4 + Вниз  

)
)))




EDIT_1 ("может быть, udev?"):

я нашел на архвики:

По умолчанию только корень можно изменить яркость этим методом. Чтобы разрешить пользователям в [например] видео group для изменения яркости можно использовать правило udev, подобное следующему:
[записать в этот файл:]
/etc/udev/rules.d/backlight.rules
[этот контент:]
ACTION=="добавить", SUBSYSTEM=="подсветка", KERNEL=="acpi_video0", GROUP="video", MODE="0664"

Итак, я сделал это, затем сделал:
sudo groupдобавить видео
и:
sudo usermod -aG видео o1
(
Что ж, если предположить, что я правильно помню, что именно я делал в каком порядке,
но независимо, группы $USER делает подтвердить, что я являюсь в видео группа.
)

но после перезапуска, все же, пытаясь написать в него вот так, все равно получается:
> эхо 5 > /sys/класс/подсветка/acpi_video0/яркость
#=>

предупреждение: произошла ошибка при перенаправлении файла '/sys/class/backlight/acpi_video0/brightness'  
открыть: Отказано в доступе  

и это:
> статистика /sys/класс/подсветка/acpi_video0/яркость
#=>

  Файл: /sys/class/backlight/acpi_video0/brightness  
  Размер: 4096 Блоков: 0 Блок ввода-вывода: 4096 обычный файл  
Устройство: 16h/22d Инод: 22741 Ссылки: 1  
Доступ: (0644/-rw-r--r--) Uid: (0/root) Gid: (0/root)  
Доступ: 2021-09-24 10:51:53.894540644 -0700  
Изменить: 2021-09-24 10:51:53.888124116 -0700  
Изменение: 2021-09-24 10:51:53.888124116 -0700  
 Рождение: -  

что означает, что это все еще только корень у которого есть права на запись в файл, верно?

Это правило udev был предполагается... сменить владельца файла на видео группа, да?
(
Предполагая, что «этот файл принадлежит этой группе», правильно понимается концепция и / или терминология ...?
Во всяком случае, это должно было дать видео групповое разрешение на запись в файл, верно?
)

Так почему же это не сработало?
-- Я имею в виду, поскольку я не могу точно запрыгнуть на арку и попробовать,
я могу только предполагать это то, что я сделал был бы работал над аркой(?),
так чем отличается убунту?


EDIT_2 ("удев должен работай??"):

Из того, что я могу понять из этот учебник по udev,
Это должен работай?
(
Или, во всяком случае, это делает сказать:
Файл правил чтения: /etc/udev/rules.d/backlight.rules
-- но это не сказать что-нибудь о "ГРУППА" ИЛИ ЖЕ "РЕЖИМ".
)

(Я также пытался изменить =к :='s (чтобы «убедиться, что это не перекрывается другими правилами»), на всякий случай.)

> udevadm информация -a /sys/класс/подсветка/acpi_video0/
#=>

    Информация Udevadm начинается с устройства, указанного devpath, а затем  
    поднимается по цепочке родительских устройств. Он печатает для каждого устройства  
    найдены все возможные атрибуты в формате ключа правил udev.  
    Правило для сопоставления может быть составлено из атрибутов устройства.  
    и атрибуты одного родительского устройства.

      глядя на устройство '/devices/pci0000:00/0000:00:01.0/backlight/acpi_video0':  
        ЯДРО=="acpi_video0"  
        ПОДСИСТЕМА=="подсветка"  
        ВОДИТЕЛЬ==""  
        АТТР{макс_яркость}=="15"  
        ATTR{фактическая_яркость}=="15"  
        АТТР{bl_power}=="0"  
        ATTR{тип}=="прошивка"  
        АТТР{яркость}=="15"  
        ATTR{шкала}=="неизвестно"

      глядя на родительское устройство '/devices/pci0000:00/0000:00:01.0':  
        ЯДРА=="0000:00:01.0"  
        ПОДСИСТЕМЫ=="PCI"  
        ДРАЙВЕРЫ=="radeon"  
        ATTRS{local_cpulist}=="0-1"  
        АТТР{msi_bus}=="1"  
        ATTRS{max_link_width}=="255"  
        ATTRS{consistent_dma_mask_bits}=="40"  
        ATTRS{driver_override}=="(null)"  
        ATTRS{power_dpm_state}=="сбалансированный"  
        ATTRS{редакция}=="0x00"  
        ATTRS{устройство}=="0x9648"  
        ATTRS{local_cpus}=="3"  
        ATTRS{subsystem_device}=="0x21ea"  
        АТТР{d3cold_allowed}=="1"  
        ATTRS{power_method}=="dpm"  
        ATTRS{numa_node}=="-1"  
        ATTRS{broken_parity_status}=="0"  
        ATTRS{power_state}=="D0"  
        АТТР{boot_vga}=="1"  
        ATTRS{ирк}=="31"  
        ATTRS{current_link_width}=="0"  
        ATTRS{current_link_speed}=="Неизвестно"  
        ATTRS{класс}=="0x030000"  
        ATTRS{power_profile}=="по умолчанию"  
        АТТР{dma_mask_bits}=="40"  
        ATTRS{вендор}=="0x1002"  
        ATTRS{subsystem_vendor}=="0x17aa"  
        ATTRS{включить}=="1"  
        ATTRS{power_dpm_force_performance_level}=="авто"  
        АТТР{ari_enabled}=="0"  
        ATTRS{max_link_speed}=="Неизвестно"

      глядя на родительское устройство '/devices/pci0000:00':  
        ЯДРА=="pci0000:00"  
        ПОДСИСТЕМЫ==""  
        ДРАЙВЕРЫ==""  

и:
> udevadm test --action="add" '/devices/pci0000:00/0000:00:01.0/backlight/acpi_video0'
#=>

    Индекс модуля загрузки  
    Разобранный файл конфигурации /usr/lib/systemd/network/99-default.link  
    Разобранный файл конфигурации /usr/lib/systemd/network/73-usb-net-by-mac.link  
    Создан контекст конфигурации ссылки.  
    Файл правил чтения: /usr/lib/udev/rules.d/39-usbmuxd.rules  
    Файл правил чтения: /usr/lib/udev/rules.d/40-usb-media-players.rules  
    Файл правил чтения: /usr/lib/udev/rules.d/40-usb_modeswitch.rules  
    Файл правил чтения: /usr/lib/udev/rules.d/40-vm-hotadd.rules  
    Файл правил чтения: /usr/lib/udev/rules.d/50-apport.rules  
    Файл правил чтения: /usr/lib/udev/rules.d/50-firmware.rules  
    Файл правил чтения: /usr/lib/udev/rules.d/50-udev-default.rules  
    Файл правил чтения: /usr/lib/udev/rules.d/55-dm.rules  
    Файл правил чтения: /usr/lib/udev/rules.d/55-ippusbxd.rules  
    Файл правил чтения: /usr/lib/udev/rules.d/56-hpmud.rules  
    Файл правил чтения: /usr/lib/udev/rules.d/56-lvm.rules  
    Файл правил чтения: /usr/lib/udev/rules.d/60-autosuspend-chromiumos.rules  
    Файл правил чтения: /usr/lib/udev/rules.d/60-block.rules  
    Файл правил чтения: /usr/lib/udev/rules.d/60-cdrom_id.rules  
    Файл правил чтения: /usr/lib/udev/rules.d/60-crda.rules  
    Файл правил чтения: /usr/lib/udev/rules.d/60-drm.rules  
    Файл правил чтения: /usr/lib/udev/rules.d/60-evdev.rules  
    Файл правил чтения: /usr/lib/udev/rules.d/60-fido-id.rules  
    Файл правил чтения: /usr/lib/udev/rules.d/60-input-id.rules  
    Файл правил чтения: /usr/lib/udev/rules.d/60-inputattach.rules  
    Файл правил чтения: /usr/lib/udev/rules.d/60-libgphoto2-6.rules  
    Файл правил чтения: /usr/lib/udev/rules.d/60-libsane.rules  
    Файл правил чтения: /usr/lib/udev/rules.d/60-pcmcia.rules  
    Файл правил чтения: /usr/lib/udev/rules.d/60-persistent-alsa.rules  
    Файл правил чтения: /usr/lib/udev/rules.d/60-persistent-input.rules  
    Файл правил чтения: /usr/lib/udev/rules.d/60-persistent-storage-dm.rules  
    Файл правил чтения: /usr/lib/udev/rules.d/60-persistent-storage-tape.rules  
    Файл правил чтения: /usr/lib/udev/rules.d/60-persistent-storage.rules  
    Файл правил чтения: /usr/lib/udev/rules.d/60-persistent-v4l.rules  
    Файл правил чтения: /usr/lib/udev/rules.d/60-sensor.rules  
    Файл правил чтения: /usr/lib/udev/rules.d/60-serial.rules  
    Файл правил чтения: /usr/lib/udev/rules.d/60-tpm-udev.rules  
    Файл правил чтения: /usr/lib/udev/rules.d/61-autosuspend-manual.rules  
    Файл правил чтения: /usr/lib/udev/rules.d/61-kde-bluetooth-rfkill.rules  
    Файл правил чтения: /usr/lib/udev/rules.d/61-persistent-storage-android.rules  
    Файл правил чтения: /usr/lib/udev/rules.d/64-btrfs.rules  
    Файл правил чтения: /usr/lib/udev/rules.d/64-xorg-xkb.rules  
    Файл правил чтения: /usr/lib/udev/rules.d/65-libwacom.rules  
    Файл правил чтения: /usr/lib/udev/rules.d/66-snapd-autoimport.rules  
    Файл правил чтения: /usr/lib/udev/rules.d/69-cd-sensors.rules  
    Файл правил чтения: /usr/lib/udev/rules.d/69-libmtp.rules  
    Файл правил чтения: /usr/lib/udev/rules.d/69-lvm-metad.rules  
    Файл правил чтения: /usr/lib/udev/rules.d/69-wacom.rules  
    Файл правил чтения: /usr/lib/udev/rules.d/70-joystick.rules  
    Файл правил чтения: /usr/lib/udev/rules.d/70-mouse.rules  
    Файл правил чтения: /usr/lib/udev/rules.d/70-pcspkr-beep.rules  
    Файл правил чтения: /usr/lib/udev/rules.d/70-power-switch.rules  
    Файл правил чтения: /usr/lib/udev/rules.d/70-printers.rules  
    Файл правил чтения: /usr/lib/udev/rules.d/70-spice-vdagentd.rules  
    Файл правил чтения: /usr/lib/udev/rules.d/70-touchpad.rules  
    Файл правил чтения: /usr/lib/udev/rules.d/70-u2f.rules  
    Файл правил чтения: /usr/lib/udev/rules.d/70-uaccess.rules  
    Файл правил чтения: /usr/lib/udev/rules.d/71-power-switch-proliant.rules  
    Файл правил чтения: /usr/lib/udev/rules.d/71-seat.rules  
    Файл правил чтения: /usr/lib/udev/rules.d/71-u-d-c-gpu-detection.rules  
    Файл правил чтения: /usr/lib/udev/rules.d/73-seat-late.rules  
    Файл правил чтения: /usr/lib/udev/rules.d/73-special-net-names.rules  
    Файл правил чтения: /usr/lib/udev/rules.d/75-net-description.rules  
    Файл правил чтения: /usr/lib/udev/rules.d/75-probe_mtd.rules  
    Файл правил чтения: /usr/lib/udev/rules.d/77-mm-broadmobi-port-types.rules  
    Файл правил чтения: /usr/lib/udev/rules.d/77-mm-cinterion-port-types.rules  
    Файл правил чтения: /usr/lib/udev/rules.d/77-mm-dell-port-types.rules  
    Файл правил чтения: /usr/lib/udev/rules.d/77-mm-dlink-port-types.rules  
    Файл правил чтения: /usr/lib/udev/rules.d/77-mm-ericsson-mbm.rules  
    Файл правил чтения: /usr/lib/udev/rules.d/77-mm-fibocom-port-types.rules  
    Файл правил чтения: /usr/lib/udev/rules.d/77-mm-foxconn-port-types.rules  
    Файл правил чтения: /usr/lib/udev/rules.d/77-mm-gosuncn-port-types.rules  
    Файл правил чтения: /usr/lib/udev/rules.d/77-mm-haier-port-types.rules  
    Файл правил чтения: /usr/lib/udev/rules.d/77-mm-huawei-net-port-types.rules  
    Файл правил чтения: /usr/lib/udev/rules.d/77-mm-longcheer-port-types.rules  
    Файл правил чтения: /usr/lib/udev/rules.d/77-mm-mtk-port-types.rules  
    Файл правил чтения: /usr/lib/udev/rules.d/77-mm-nokia-port-types.rules  
    Файл правил чтения: /usr/lib/udev/rules.d/77-mm-pcmcia-device-blacklist.rules  
    Файл правил чтения: /usr/lib/udev/rules.d/77-mm-qdl-device-blacklist.rules  
    Файл правил чтения: /usr/lib/udev/rules.d/77-mm-quectel-port-types.rules  
    Файл правил чтения: /usr/lib/udev/rules.d/77-mm-sierra.rules  
    Файл правил чтения: /usr/lib/udev/rules.d/77-mm-simtech-port-types.rules  
    Файл правил чтения: /usr/lib/udev/rules.d/77-mm-telit-port-types.rules  
    Файл правил чтения: /usr/lib/udev/rules.d/77-mm-tplink-port-types.rules  
    Файл правил чтения: /usr/lib/udev/rules.d/77-mm-ublox-port-types.rules  
    Файл правил чтения: /usr/lib/udev/rules.d/77-mm-usb-device-blacklist.rules  
    Файл правил чтения: /usr/lib/udev/rules.d/77-mm-usb-serial-adapters-greylist.rules  
    Файл правил чтения: /usr/lib/udev/rules.d/77-mm-x22x-port-types.rules  
    Файл правил чтения: /usr/lib/udev/rules.d/77-mm-zte-port-types.rules  
    Файл правил чтения: /usr/lib/udev/rules.d/78-graphics-card.rules  
    Файл правил чтения: /usr/lib/udev/rules.d/78-sound-card.rules  
    Файл правил чтения: /usr/lib/udev/rules.d/80-debian-compat.rules  
    Файл правил чтения: /usr/lib/udev/rules.d/80-drivers.rules  
    Файл правил чтения: /usr/lib/udev/rules.d/80-iio-sensor-proxy.rules  
    Файл правил чтения: /usr/lib/udev/rules.d/80-libinput-device-groups.rules  
    Файл правил чтения: /usr/lib/udev/rules.d/80-mm-candidate.rules  
    Файл правил чтения: /usr/lib/udev/rules.d/80-net-setup-link.rules  
    Файл правил чтения: /usr/lib/udev/rules.d/80-udisks2.rules  
    Файл правил чтения: /usr/lib/udev/rules.d/81-net-dhcp.rules  
    Файл правил чтения: /usr/lib/udev/rules.d/84-nm-drivers.rules  
    Файл правил чтения: /usr/lib/udev/rules.d/85-hdparm.rules  
    Файл правил чтения: /usr/lib/udev/rules.d/85-hplj10xx.rules  
    Файл правил чтения: /usr/lib/udev/rules.d/85-nm-unmanaged.rules  
    Файл правил чтения: /usr/lib/udev/rules.d/85-regulatory.rules  
    Файл правил чтения: /usr/lib/udev/rules.d/85-tlp-rdw.rules  
    Файл правил чтения: /usr/lib/udev/rules.d/85-tlp.rules  
    Файл правил чтения: /usr/lib/udev/rules.d/90-alsa-restore.rules  
    Файл правил чтения: /usr/lib/udev/rules.d/90-bolt.rules  
    Файл правил чтения: /usr/lib/udev/rules.d/90-console-setup.rules  
    Файл правил чтения: /usr/lib/udev/rules.d/90-fwupd-devices.rules  
    Файл правил чтения: /usr/lib/udev/rules.d/90-libinput-fuzz-override.rules  
    Файл правил чтения: /usr/lib/udev/rules.d/90-nm-thunderbolt.rules  
    Файл правил чтения: /usr/lib/udev/rules.d/90-pulseaudio.rules  
    Файл правил чтения: /usr/lib/udev/rules.d/95-cd-devices.rules  
    Файл правил чтения: /usr/lib/udev/rules.d/95-dm-notify.rules  
    Файл правил чтения: /usr/lib/udev/rules.d/95-upower-csr.rules  
    Файл правил чтения: /usr/lib/udev/rules.d/95-upower-hid.rules  
    Файл правил чтения: /usr/lib/udev/rules.d/95-upower-hidpp.rules  
    Файл правил чтения: /usr/lib/udev/rules.d/95-upower-wup.rules  
    Файл правил чтения: /usr/lib/udev/rules.d/96-e2scrub.rules  
    Файл правил чтения: /usr/lib/udev/rules.d/97-hid2hci.rules  
    Файл правил чтения: /usr/lib/udev/rules.d/99-systemd.rules  
    Файл правил чтения: /etc/udev/rules.d/backlight.rules  
    Выгрузить индекс модуля  
    Выгружен контекст конфигурации ссылки.  
    Эта программа предназначена только для отладки, она не запускает никакие программы.  
    определяется клавишей RUN. Он может показывать неправильные результаты, потому что  
    некоторые значения могут отличаться или быть недоступными при запуске моделирования.

    DEVPATH=/devices/pci0000:00/0000:00:01.0/подсветка/acpi_video0  
    ДЕЙСТВИЕ=добавить  
    ПОДСИСТЕМА=подсветка  
    ТЕГИ =: сиденье: systemd:  
    ID_PATH=PCI-0000:00:01.0  
    ID_PATH_TAG=PCI-0000_00_01_0  
    ID_FOR_SEAT=подсветка-pci-0000_00_01_0  
    SYSTEMD_WANTS=systemd-backlight@backlight:acpi_video0.service  
    USEC_INITIALIZED=2680045  
Рейтинг:-1
флаг it

Этот готовый ответ мощь помощь.

Многие проблемы с доступом к устройствам можно решить, изменив членство в группе.

Вы можете найти имя устройства, посмотрев sudo journalctl --follow при подключении устройства. ИЛИ ЖЕ ls -1 /dev >dev.before, подключите устройство, подождите 10 секунд, ls -1 /dev >dev.after;diff dev.{до,после}.

В частности, если лс -л показывает, что права группы (второй "RWX"тройка) это"RW"(напр."-rw-rw----"), то добавление себя в группу, которой принадлежит устройство, предоставит RW доступ.

Вот как:

устройство="/dev/что угодно"
sudo adduser $USER $(stat -c "%G" $device)

Это позволяет вам стать членом группы, которая может RW Устройство, но есть еще один шаг.

Чтобы сделать все ваши процессы членами новой группы, выйдите из системы и войдите в нее. Членство в группах настраивается на авторизоваться время.

Чтобы создать один процесс в новой группе (для тестирования, перед выходом/входом):

newgrp $(stat -c "%G" $устройство)  

или просто введите имя группы. Видеть человек.

флаг ru
"как вы подключаете свое устройство"? Это экран ноутбука; Я никогда не "подключаю" его сам...???
флаг ru
Например, группа, которой он принадлежит (`stat -c %G /sys/class/backlight/acpi_video0/brightness`) — это просто `root`, так что ответ, возможно, сводится к «добавить `$USER` в группу `root». `, верно? Что, возможно... даже не ответ?

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.