Чтобы обойти ошибку # 1005495 (изменение яркости ЖК-дисплея с помощью горячих клавиш невозможно), я хотел бы получить один запрос командной строки для увеличения и один для уменьшения яркости моего ЖК-дисплея. Затем я мог сопоставить горячую клавишу для каждого из этих запросов.
Проблема заключается в следующем: я не знаю, как увеличить и уменьшить яркость ЖК-дисплея в командной строке. Вы?
Как сказал @palacsint, путь echo 244 > /sys/class/backlight/intel_backlight/brightness
работает для меня.
Но значения max и min resent в файлах /sys/class/backlight/intel_backlight/max_brightness
и /sys/class/backlight/intel_backlight/bl_power
соответственно.
Кроме того, фактическая яркость, на которой работает ваш компьютер, присутствует в /sys/class/backlight/intel_backlight/actual_brightness
Для меня работает следующее:
echo 400 > /sys/class/backlight/intel_backlight/brightness
Я думаю, максимально возможное значение находится в файле /sys/class/backlight/intel_backlight/max_brightness
.
Откройте ваш терминал и введите этот
xrandr -q | grep " connected"
, он даст вам выход с подключенным LVDS1 1680x1050 + 0 + 0 (нормальная левая инвертированная правая ось оси x) 331 мм x 207 мм
Там LVDS1 Стенды для вашего дисплея.
, поэтому теперь вы должны делать это как
xrandr --output LVDS1 --brightness 0.5
. 0.5 означает яркость, и она колеблется от 0.0 до 1.0. 0.0 -> Полный черный. Вы должны выбрать требуемое значение яркости.
Для ноутбуков sudo setpci -s 00:02.0 F4.B=80
Измените 80
на [0-FF]
, чтобы получить самую низкую яркость. Значение указано в шестнадцатеричном формате, поэтому 80
даст вам 50%
максимальной яркости.
Для десктопов [не проверенных мной], xgamma -gamma .75
qdbus org.kde.Solid.PowerManagement /org/kde/Solid/PowerManagement/Actions/BrightnessControl setBrightness 55
Сделайте этот скрипт:
set-brightness.sh
#!/bin/bash
TARGET="acpi_video0"
cd /sys/class/backlight
MAX="$(cat "${TARGET}/max_brightness")"
# The `/1` at the end forced bc to cast the result
# to an integer, even if $1 is a float (which it
# should be)
LOGIC="$(echo "($1 * ${MAX})/1" | bc)"
for i in */; do
if [[ "${TARGET}/" != "$i" && -e "${i}brightness" ]]; then
cat "${i}max_brightness" > "${i}brightness"
fi
done
echo "$LOGIC" > "${TARGET}/brightness"
Запустите его как root с любым значением от 0 до 1.
sudo ./set-brightness.sh 0.5
/sys/class/backlight/acpi_video0
, там должен быть хотя бы один каталог, который может быть специфичным для устройства (например, у меня также есть radeon_bl0
). acpi_video0
должен работать , он не всегда имеет полный диапазон физических яркостей. Попробуйте каждую из них и используйте ту, которая имеет наибольшую гамму, как ваш «TARGET» Вот короткая строка, которая может помочь вам расслабить глаза. Просто создайте crontaab с линией или создайте скрипт
xrandr --output VGA1 --brightness 0.5; sleep 20; xrandr --output VGA1 --brightness 1
Попробуйте это в терминале:
xrandr --output LVDS1 --brightness 0.9
Вы можете изменить последнее значение по своему усмотрению, например. 0.2
Интерактивный пользовательский интерфейс, похожий на ncurses, с использованием xbacklight
ncurses бедного человека. Нажмите h
, и он опустится на 10%, нажмите l
, и он повысится на 10%. Затем покажите текущую яркость.
xback() (
done=false;
echo "less: h, more: l, quit: q"
while ! $done; do
read -rsn1 key
if [ "$key" = h ]; then
xbacklight -dec 10
elif [ "$key" = l ]; then
xbacklight -inc 10
elif [ "$key" = q ]; then
done=true
fi
printf "\r$(xbacklight -get) "
done
)
ddccontrol - еще одна опция для управления подсветкой для внешних мониторов. Здесь я могу установить подсветку моего внешнего монитора на 50% мощности:
ddccontrol -p -r 0x10 -w 50
Я рассмотрел возможные решения этой проблемы, чтобы улучшить способ Ручка Redshift g2] изменяется яркость . Благодаря этому я обнаружил, что для ядра Linux имеется набор исправлений для улучшения совместимости между устройствами, так что портативные компьютеры и внешние экраны могут работать аналогичным образом через sysfs
.
В Тем временем ddccontrol - единственное, что работает для меня здесь. Как обычно, вики Arch содержат хорошую общую документацию по этой теме.
Используя приведенные выше ответы, я создал этот скрипт (сохраненный в моем домашнем каталоге как bright.sh) для изменения яркости дисплея (поскольку клавиатура ноутбука перенесла пролитую проблему с чаем и стала непригодной для использования). Не стесняйтесь использовать его (если у вас есть назначенные файлы ... в противном случае нужно будет указать, что их изменение будет необходимо).
#!/bin/bash
function main_menu
{
sudo clear
cursetting=$(cat /sys/class/backlight/intel_backlight/brightness)
maxsetting=$(cat /sys/class/backlight/intel_backlight/max_brightness)
powersave=$((maxsetting/5))
conservative=$((powersave*2))
medium=$((powersave*3))
performance=$((powersave*4))
echo ""
echo "----------------------- Brightness -----------------------"
echo " 1. Set Display to Minimum (Powersave) brightness setting."
echo " 2. Set Display to Low (Conservative) brightness setting."
echo " 3. Set Display to Medium brightness setting."
echo " 4. Set Display to High (Performance) brightness setting."
echo " 5. Set Display to Maximum brightness setting."
echo " 6. Exit."
echo "----------------------------------------------------------"
if [ $cursetting -eq $powersave ]; then
cursetting='Minimum'
else
if [ $cursetting -eq $conservative ]; then
cursetting='Conservative'
else
if [ $cursetting -eq $medium ]; then
cursetting='Medium'
else
if [ $cursetting -eq $performance ]; then
cursetting='Performance'
else
if [ $cursetting -eq $maxsetting ]; then
cursetting='Maximum'
fi
fi
fi
fi
fi
echo " Current Display Setting - "$cursetting;
choice=7
echo ""
echo -e "Please enter your choice: \c"
}
function press_enter
{
echo ""
echo -n "Press Enter to continue."
read
main_menu
}
main_menu
while [ $choice -eq 7 ]; do
read choice
if [ $choice -eq 1 ]; then
echo $powersave | sudo tee /sys/class/backlight/intel_backlight/brightness
main_menu
else
if [ $choice -eq 2 ]; then
echo $conservative | sudo tee /sys/class/backlight/intel_backlight/brightness
main_menu
else
if [ $choice -eq 3 ]; then
echo $medium | sudo tee /sys/class/backlight/intel_backlight/brightness
main_menu
else
if [ $choice -eq 4 ]; then
echo $performance | sudo tee /sys/class/backlight/intel_backlight/brightness
main_menu
else
if [ $choice -eq 5 ]; then
echo $maxsetting | sudo tee /sys/class/backlight/intel_backlight/brightness
main_menu
else
if [ $choice -eq 6 ]; then
exit;
else
echo -e "Please enter the NUMBER of your choice: \c"
choice = 7
fi
fi
fi
fi
fi
fi
done
Как сказал @palacsint, путь echo 244 > /sys/class/backlight/intel_backlight/brightness
работает для меня.
Но значения max и min resent в файлах /sys/class/backlight/intel_backlight/max_brightness
и /sys/class/backlight/intel_backlight/bl_power
соответственно.
Кроме того, фактическая яркость, на которой работает ваш компьютер, присутствует в /sys/class/backlight/intel_backlight/actual_brightness
Для меня работает следующее:
echo 400 > /sys/class/backlight/intel_backlight/brightness
Я думаю, максимально возможное значение находится в файле /sys/class/backlight/intel_backlight/max_brightness
.
Откройте ваш терминал и введите этот
xrandr -q | grep " connected"
, он даст вам выход с подключенным LVDS1 1680x1050 + 0 + 0 (нормальная левая инвертированная правая ось оси x) 331 мм x 207 мм
Там LVDS1 Стенды для вашего дисплея.
, поэтому теперь вы должны делать это как
xrandr --output LVDS1 --brightness 0.5
. 0.5 означает яркость, и она колеблется от 0.0 до 1.0. 0.0 -> Полный черный. Вы должны выбрать требуемое значение яркости.
Для ноутбуков sudo setpci -s 00:02.0 F4.B=80
Измените 80
на [0-FF]
, чтобы получить самую низкую яркость. Значение указано в шестнадцатеричном формате, поэтому 80
даст вам 50%
максимальной яркости.
Для десктопов [не проверенных мной], xgamma -gamma .75
qdbus org.kde.Solid.PowerManagement /org/kde/Solid/PowerManagement/Actions/BrightnessControl setBrightness 55
Сделайте этот скрипт:
set-brightness.sh
#!/bin/bash
TARGET="acpi_video0"
cd /sys/class/backlight
MAX="$(cat "${TARGET}/max_brightness")"
# The `/1` at the end forced bc to cast the result
# to an integer, even if $1 is a float (which it
# should be)
LOGIC="$(echo "($1 * ${MAX})/1" | bc)"
for i in */; do
if [[ "${TARGET}/" != "$i" && -e "${i}brightness" ]]; then
cat "${i}max_brightness" > "${i}brightness"
fi
done
echo "$LOGIC" > "${TARGET}/brightness"
Запустите его как root с любым значением от 0 до 1.
sudo ./set-brightness.sh 0.5
/sys/class/backlight/acpi_video0
, там должен быть хотя бы один каталог, который может быть специфичным для устройства (например, у меня также есть radeon_bl0
). acpi_video0
должен работать , он не всегда имеет полный диапазон физических яркостей. Попробуйте каждую из них и используйте ту, которая имеет наибольшую гамму, как ваш «TARGET» Вот короткая строка, которая может помочь вам расслабить глаза. Просто создайте crontaab с линией или создайте скрипт
xrandr --output VGA1 --brightness 0.5; sleep 20; xrandr --output VGA1 --brightness 1
Попробуйте это в терминале:
xrandr --output LVDS1 --brightness 0.9
Вы можете изменить последнее значение по своему усмотрению, например. 0.2
Интерактивный пользовательский интерфейс, похожий на ncurses, с использованием xbacklight
ncurses бедного человека. Нажмите h
, и он опустится на 10%, нажмите l
, и он повысится на 10%. Затем покажите текущую яркость.
xback() (
done=false;
echo "less: h, more: l, quit: q"
while ! $done; do
read -rsn1 key
if [ "$key" = h ]; then
xbacklight -dec 10
elif [ "$key" = l ]; then
xbacklight -inc 10
elif [ "$key" = q ]; then
done=true
fi
printf "\r$(xbacklight -get) "
done
)
Используя приведенные выше ответы, я создал этот скрипт (сохраненный в моем домашнем каталоге как bright.sh) для изменения яркости дисплея (поскольку клавиатура ноутбука перенесла пролитую проблему с чаем и стала непригодной для использования). Не стесняйтесь использовать его (если у вас есть назначенные файлы ... в противном случае нужно будет указать, что их изменение будет необходимо).
#!/bin/bash
function main_menu
{
sudo clear
cursetting=$(cat /sys/class/backlight/intel_backlight/brightness)
maxsetting=$(cat /sys/class/backlight/intel_backlight/max_brightness)
powersave=$((maxsetting/5))
conservative=$((powersave*2))
medium=$((powersave*3))
performance=$((powersave*4))
echo ""
echo "----------------------- Brightness -----------------------"
echo " 1. Set Display to Minimum (Powersave) brightness setting."
echo " 2. Set Display to Low (Conservative) brightness setting."
echo " 3. Set Display to Medium brightness setting."
echo " 4. Set Display to High (Performance) brightness setting."
echo " 5. Set Display to Maximum brightness setting."
echo " 6. Exit."
echo "----------------------------------------------------------"
if [ $cursetting -eq $powersave ]; then
cursetting='Minimum'
else
if [ $cursetting -eq $conservative ]; then
cursetting='Conservative'
else
if [ $cursetting -eq $medium ]; then
cursetting='Medium'
else
if [ $cursetting -eq $performance ]; then
cursetting='Performance'
else
if [ $cursetting -eq $maxsetting ]; then
cursetting='Maximum'
fi
fi
fi
fi
fi
echo " Current Display Setting - "$cursetting;
choice=7
echo ""
echo -e "Please enter your choice: \c"
}
function press_enter
{
echo ""
echo -n "Press Enter to continue."
read
main_menu
}
main_menu
while [ $choice -eq 7 ]; do
read choice
if [ $choice -eq 1 ]; then
echo $powersave | sudo tee /sys/class/backlight/intel_backlight/brightness
main_menu
else
if [ $choice -eq 2 ]; then
echo $conservative | sudo tee /sys/class/backlight/intel_backlight/brightness
main_menu
else
if [ $choice -eq 3 ]; then
echo $medium | sudo tee /sys/class/backlight/intel_backlight/brightness
main_menu
else
if [ $choice -eq 4 ]; then
echo $performance | sudo tee /sys/class/backlight/intel_backlight/brightness
main_menu
else
if [ $choice -eq 5 ]; then
echo $maxsetting | sudo tee /sys/class/backlight/intel_backlight/brightness
main_menu
else
if [ $choice -eq 6 ]; then
exit;
else
echo -e "Please enter the NUMBER of your choice: \c"
choice = 7
fi
fi
fi
fi
fi
fi
done
Как сказал @palacsint, путь echo 244 > /sys/class/backlight/intel_backlight/brightness
работает для меня.
Но значения max и min resent в файлах /sys/class/backlight/intel_backlight/max_brightness
и /sys/class/backlight/intel_backlight/bl_power
соответственно.
Кроме того, фактическая яркость, на которой работает ваш компьютер, присутствует в /sys/class/backlight/intel_backlight/actual_brightness
Для меня работает следующее:
echo 400 > /sys/class/backlight/intel_backlight/brightness
Я думаю, максимально возможное значение находится в файле /sys/class/backlight/intel_backlight/max_brightness
.
Откройте ваш терминал и введите этот
xrandr -q | grep " connected"
, он даст вам выход с подключенным LVDS1 1680x1050 + 0 + 0 (нормальная левая инвертированная правая ось оси x) 331 мм x 207 мм
Там LVDS1 Стенды для вашего дисплея.
, поэтому теперь вы должны делать это как
xrandr --output LVDS1 --brightness 0.5
. 0.5 означает яркость, и она колеблется от 0.0 до 1.0. 0.0 -> Полный черный. Вы должны выбрать требуемое значение яркости.
Для ноутбуков sudo setpci -s 00:02.0 F4.B=80
Измените 80
на [0-FF]
, чтобы получить самую низкую яркость. Значение указано в шестнадцатеричном формате, поэтому 80
даст вам 50%
максимальной яркости.
Для десктопов [не проверенных мной], xgamma -gamma .75
qdbus org.kde.Solid.PowerManagement /org/kde/Solid/PowerManagement/Actions/BrightnessControl setBrightness 55
Сделайте этот скрипт:
set-brightness.sh
#!/bin/bash
TARGET="acpi_video0"
cd /sys/class/backlight
MAX="$(cat "${TARGET}/max_brightness")"
# The `/1` at the end forced bc to cast the result
# to an integer, even if $1 is a float (which it
# should be)
LOGIC="$(echo "($1 * ${MAX})/1" | bc)"
for i in */; do
if [[ "${TARGET}/" != "$i" && -e "${i}brightness" ]]; then
cat "${i}max_brightness" > "${i}brightness"
fi
done
echo "$LOGIC" > "${TARGET}/brightness"
Запустите его как root с любым значением от 0 до 1.
sudo ./set-brightness.sh 0.5
/sys/class/backlight/acpi_video0
, там должен быть хотя бы один каталог, который может быть специфичным для устройства (например, у меня также есть radeon_bl0
). acpi_video0
должен работать , он не всегда имеет полный диапазон физических яркостей. Попробуйте каждую из них и используйте ту, которая имеет наибольшую гамму, как ваш «TARGET» Вот короткая строка, которая может помочь вам расслабить глаза. Просто создайте crontaab с линией или создайте скрипт
xrandr --output VGA1 --brightness 0.5; sleep 20; xrandr --output VGA1 --brightness 1
Попробуйте это в терминале:
xrandr --output LVDS1 --brightness 0.9
Вы можете изменить последнее значение по своему усмотрению, например. 0.2
Интерактивный пользовательский интерфейс, похожий на ncurses, с использованием xbacklight
ncurses бедного человека. Нажмите h
, и он опустится на 10%, нажмите l
, и он повысится на 10%. Затем покажите текущую яркость.
xback() (
done=false;
echo "less: h, more: l, quit: q"
while ! $done; do
read -rsn1 key
if [ "$key" = h ]; then
xbacklight -dec 10
elif [ "$key" = l ]; then
xbacklight -inc 10
elif [ "$key" = q ]; then
done=true
fi
printf "\r$(xbacklight -get) "
done
)