Я запускаю X как пользователь и мне нужно установить яркость клавиатуры /sys/class/leds/asus\:\:kbd_backlight/brightness
. /sys/
Каталог пересоздался после перезагрузки, так что разрешения будут сброшены тоже. Как мне его настроить, чтобы мне не нужно было делать файл доступным для записи всем пользователям после каждой загрузки?
Я использую Archlinux с SDDM как менеджер входа в систему и KDE как DE.
filesystems
permissions
users
xoned
источник
источник
Ответы:
Нет, вы не можете, разрешение sysfs определено в пространстве ядра и не может быть изменено инструментами пользовательского пространства (если только не поддерживается сторона ядра).
Но для вашей собственной проблемы вы можете установить запись sudo, которая позволит каждому писать по этому пути, т.е.
ALL ALL = (ALL) NOPASSWD: /usr/bin/tee /sys/class/leds/asus\:\:kbd_backlight/brightness
И когда вы пишете в этот каталог, используйте такой скрипт,
echo 1 | sudo /usr/bin/tee "/sys/class/leds/asus::kbd_backlight/brightness"
источник
/sys/devices/platform/sony-laptop/kbd_backlight
для управления подсветкой клавиатуры. Я изменил путь в вашем коде, который приводит к этой ошибке:bash: syntax error near unexpected token
('`Я ввел следующую команду:ALL ALL = (ALL) NOPASSWD: /usr/bin/tee /sys/devices/platform/sony-laptop/kbd_backlight
Пожалуйста, помогите/usr/bin/tee
и/sys/class...
. После краткого ознакомления с грамматикойman sudoers
я подозреваю, что запятая необходима./sys
Каталог в Linux является поддельной, это взгляд в ядро нарядили в виде файлов. Таким образом, постоянно изменять права доступа означает взломать ядро, и это было бы опрометчиво. Как отмечается в комментариях, возможно, установкаsystemd
модуля это будет решением (в общем, установите изменение как часть процесса загрузки).источник
У меня была похожая проблема, мне нужно было установить разрешения перед запуском службы. Следуя комментарию златовласки, я создал этот скрипт systemd:
После записи служебного файла я включил его
источник