Я пытаюсь изменить яркость, перезаписав значение в этом файле:
sudo echo 5 > /sys/class/backlight/acpi_video0/brightness
-bash: /sys/class/backlight/acpi_video0/brightness: Permission denied
Это не работает даже при использовании sudo. Однако, если я переключаюсь на суперпользователя с su, это работает. Это почему?
The reason that this is set at su permissions is that a virus could conceivably make your screen dim and go bright at incredible speed ultimately damaging your hardware display. In the 90's I encountered a virus that would adjust the screen refresh Hertz so rapidly that your monitor would fry.
Ответы:
Ошибка происходит потому, что sudo повышает разрешения для команды (
sudo echo 5
), но не перенаправляет на запись файла (> /sys/class/backlight/acpi_video0/brightness
). Фактическая оболочка bash требует разрешения на запись, поэтому она не работает с sudo, но работает как root.Вы можете обойти это, запустив
tee
команду от имени root для записи в файл:Обратите внимание, что это также будет отображать «5» для вашего терминала. Это нормальный побочный эффект
tee
команды.источник
tee
решенияКак написано в Arch wiki ( ссылка ), по умолчанию только
root
способ может изменить яркость этим методом. Чтобы разрешить пользователям вvideo
группе изменять яркость, можно использоватьudev
правило, подобное следующему (замените его на<vendor>
идентификатор вашего поставщика. Напримерacpi_video0
,intel_backlight
):Затем вам нужно добавить своего пользователя в
video
группу.После этого это должно работать:
источник
acpi_video0
наintel_backlight
.Если вы не хотите, чтобы 5 отображалось, это также работает:
источник
Я уже давно борюсь с этой проблемой на своем VAIO VPCEG. Сделав все упомянутое на каждом форуме, я нашел что-то интересное:
После изменения параметра загрузки
acpi_osi=Linux acpi_backlight=vendor
и попытки изменения вручную/sys/class/backlight/[vendor - in my case intel_backlight]/brightness
я понял, что изменение разрешения для этого файла с правами root на моего пользователя и перезапуск службы acpid позволит мне безошибочно использовать клавиши яркости.источник
нижеприведенные решения прекрасно работают для меня ..
я публикую это как ответ, чтобы другие могли получить помощь:
изменить разрешение:
sudo chmod a+rw /sys/class/backlight/intel_backlight/brightness
Теперь измените яркость:
echo 400 > /sys/class/backlight/intel_backlight/brightness
в вашем случае это будет:
/sys/class/backlight/acpi_video0/brightness
источник