Arch (xbacklight): Нет выходов имеет свойство подсветки

У меня есть две папки в моем /sys/class/backlight:

1 > acpi_video0 2 > intel_backlight

Intel_backlight бесполезен, потому что я могу использовать следующую команду для настройки яркости в acpi_video0 (я запускаю драйверы Nvidia):

например: echo 50 > /sys/class/backlight/acpi_video0/яркость

Проблема: Использование xbacklight -inc +5 выходов: "Нет выходов имеет свойство подсветки", поэтому мне нужно заставить его использовать acpi_video0

До сих пор я пытался полностью избавиться от папки intel_backlight без удачи (используя как sudo, так и меняя разрешение на рекурсию 777).

Я просто хочу, чтобы hotkey xbacklight увеличивал и уменьшал яркость. Я могу настроить яркость в acpi_video0 на жесткое значение с помощью эха, но не знаю, как настроить его с шагом.

Просьба сообщить далее!

С уважением:)

РЕДАКТИРОВАТЬ 1: (ВОЗМОЖНАЯ АЛЬТЕРНАТИВА) Для тех, кто с этой проблемой в будущем, установите xcalib. (Настройка: оконный менеджер Arch Linux w/i3)

yaourt -S xcalib

И следующее назначение горячих клавиш (i3 в моем случае) в файле конфигурации:

# Brightness control reset screen (100% brightness)
bindsym Mod1+Up exec xcalib -c
# Brightness control down
bindsym Mod1+Down exec xcalib -co 95 -a

Ответ 1

EDIT: Я нашел этот вопрос, потому что у меня была такая же ошибка вывода: никакие выходы не имеют свойства подсветки. light-git решил это без дальнейших манипуляций.

Лучшая альтернатива - xcalib (которая не настраивает подсветку, не будет экономить заряд батареи): light-git от AUR.

Использование

  • light -U 20 уменьшить подсветку 20%
  • light -A 20 увеличить 20%
  • light -S 50 установить подсветку на 50%

Найдено здесь wiki.archlinux.org/index.php/backlight (спасибо @icbytes).

Ответ 2

Я заменил свой xbacklight следующим script:

#!/bin/bash
set -e
file="/sys/class/backlight/intel_backlight/brightness"
current=$(cat "$file")
new="$current"
if [ "$1" = "-inc" ]
then
    new=$(( current + $2 ))
fi
if [ "$1" = "-dec" ]
then
    new=$(( current - $2 ))
fi
echo "$new" | tee "$file"

вам нужно заменить файл файлом, который вы можете найти, используя:

sudo find /sys/ -type f -iname 'brightness'

и вы должны убедиться, что этот файл доступен для записи: например:

sudo chmod a+rw /sys/class/backlight/intel_backlight/brightness

Ответ 3

Чтобы решить аналогичную проблему при новой установке Arch, я решил использовать acpilight, также доступный в AUR. Объявленный как "замена с обратной совместимостью для xbacklight", он не зависит от X11 как такового, работает так же хорошо на Wayland и/или виртуальной консоли, если такая необходимость возникнет.

После установки необходимо добавить обычного пользователя в группу "видео" и создать файл для создания очень консервативного правила udev:.

**/etc/udev/rules.d/90-backlight.rules**

SUBSYSTEM=="backlight", ACTION=="add", \
  RUN+="/bin/chgrp video %S%p/brightness", \
  RUN+="/bin/chmod g+w %S%p/brightness"

На некоторых ноутбуках также поддерживается управление подсветкой клавиатуры. Дополнительную информацию см. на странице проекта github gitlab, ссылка на которую приведена выше.

Надеюсь, это поможет мне найти acpilight очень удобным для установки и использования.

ПРИМЕЧАНИЕ. Решение, зависящее от Python (3).

ПРИМЕЧАНИЕ 2: В основе acpilight лежит не намного больше, чем простой скрипт на python, который можно легко извлечь.

Ответ 4

Я использую openSUSE, но он помог заставить xbacklight работать (снова), когда я установил пакет xf86-video-intel. Это включало драйверы xorg-x11 для графической карты Intel и другие средства, такие как утилиты командной строки. После установки стало возможным управлять подсветкой с помощью xbacklight.

До этого моим единственным вариантом было управление подсветкой только с правами root через /sys/class/backlight/intel_backlight/Brightness

Ответ 5

Я также столкнулся с тем, что No outputs have backlight property проблему с No outputs have backlight property при использовании xbacklight, но наткнулся на простое исправление, по крайней мере, с Fedora 28 на MacBook Pro 13,1.

В то время как другие решения выглядят так, как будто они должны работать, мне не нужно ничего устанавливать и не использовать какие-либо скрипты. Надеюсь, это применимо и для других дистрибутивов, так как я использовал Arch Wiki, чтобы помочь мне:

https://wiki.archlinux.org/index.php/Backlight#ACPI говорит о ls/sys/class/backlight/ и в моем случае, который показывает [email protected] и [email protected].

При этом я попробовал intel_backlight, поэтому я использовал cat/sys/class/backlight/intel_backlight/brightness чтобы узнать, что такое текущее значение (39).

Использование echo 50|sudo tee/sys/class/backlight/intel_backlight/brightness (info tee типа info tee для получения более подробной информации о tee) привела к echo 50|sudo tee/sys/class/backlight/intel_backlight/brightness подсветки - прогресс!

Интересно, что после этого команды xbacklight -inc 10 и xbacklight -dec 10 начали волшебно работать, если я ничего не сделаю, поэтому теперь я могу привязать ключи яркости клавиатуры к xbacklight - никаких дальнейших команд или правил sudo не требуется.

Ответ 6

Чтобы добавить к @edi9999 отличное решение, оно работает с процентами и может устанавливать ограничения

#!/bin/bash
MAX=661
MIN=10
set -e
file="/sys/class/backlight/intel_backlight/brightness"
current=$(cat "$file")
new="$current"
if [ "$2" != "" ]; then
    val=$(echo "$2*$MAX/100" | bc)
fi
if [ "$1" = "-inc" ]; then
    new=$(( current + $val ))
elif [ "$1" = "-dec" ]; then
    new=$(( current - $val ))
fi
if [ $new -gt $MAX ]; then
    new=$MAX
elif [ $new -lt $MIN ]; then
    new=$MIN
fi
printf "%.0f%%\n" $(echo "$new/$MAX*100" | bc -l)
echo $new > "$file"

Ответ 7

Я, наконец, исправил это, и ни одно из онлайн-решений, которые перечислил оригинальный постер, не сработало для меня Что решило проблему, было в /etc/default/grub и в строке: GRUB_CMDLINE_LINUX_DEFAULT

Добавление:

"acpi_osi ="

Но также не используйте "nomodeset" на нем. Ppl первоначально добавил nomodeset для решения проблемы рендеринга программного обеспечения, но это фактически заставляет Linux не распознавать драйверы Nvidia.

Наконец, убедитесь, что вы зашли в диспетчер драйверов Linux Start Menu и обновили драйверы Nvidia до 430 или новее.