Как изменить гамму/яркость Xorg?

Основным различием между выполнением задания крона на командной строке и в кроне является своя среда. Другие разности потенциалов включают текущий каталог, доступность терминала, и какая оболочка используется.

Это - довольно точное моделирование выполнения задания крона через крон. Для предотвращения различий из-за оболочки поместите задание в сценарий и поместите только путь к тому сценарию в crontab. Обратите внимание, что точный набор и значения переменных среды, переданных кроном, являются зависящими от реализации; проверьте crontab(5) страница справочника в Вашей системе. ifne команда, которая выполняет команду, указанную в аргументах, если она получает некоторый вход; существует один в moreutils.

env -i HOME="$HOME" LOGNAME="$LOGNAME" PATH=/usr/bin:/bin SHELL=/bin/sh USER="$USER" \
    /path/to/script &1 |
ifne mail -r "Cron Daemon" -s "Cron <$USER@$(hostname)> /path/to/script" "$USER"

Другой способ создать подобную крону установку через at. Но at заботится о выполнении команды с переменными среды что at процесс получил, таким образом, все еще необходимо эмулировать эту часть.

echo /path/to/script |
env -i HOME="$HOME" LOGNAME="$LOGNAME" PATH=/usr/bin:/bin SHELL=/bin/sh USER="$USER" \
    at now

15
26.10.2013, 22:06
2 ответа

Глупый я! У меня есть xflux с активированным fluxgui, каждый раз, когда я хотел бы изменить настройки xflux, будет в моем пути. Все команды работали, просто что xflux вернется он назад.

Те, кто хочет изменить их гамму/яркость:

Использовать xrandr перечислять Ваши выводы:

$ xrandr
Screen 0: minimum 320 x 200, current 1024 x 768, maximum 8192 x 8192
DVI-0 connected 1024x768+0+0 (normal left inverted right x axis y axis) 304mm x 228mm

Поскольку Вы видите, что мой вывод DVI-0 изменить яркость:

xrandr --output DVI-0 --brightness 2

Изменить гамму:

xrandr --output DVI-0 --gamma 2:2:1
23
27.01.2020, 19:49
  • 1
    Существует ли интерактивный gui для этих xrandr настроек? Я не могу прекрасный. –  Fabio A. 06.02.2017, 15:40
  • 2
    @FabioA. Если Вы еще не нашли GUI, Вы могли бы хотеть отправить новый вопрос на этом сайте или Спросить сайт Ubuntu. –  WinEunuuchs2Unix 04.02.2018, 21:02

Я надеялся, что есть какая-нибудь интерактивная программа для настройки xrandrпараметров (гаммы/яркости в частности ), но ничего не нашел.

Итак, я написал этот сценарий оболочки, который позволяет интерактивную настройку яркости/гаммы, а также сохранение/восстановление настроек.

Сохраните файл в irandr.sh, выполните chmod u+x irandr.sh, чтобы сделать его исполняемым, и запустите как ./irandr.sh <outputname>.

d / f / D / F / j / k / J / K Клавиши регулируют яркость(d / f / D / F)или гамма(j / k / J / K)настройки с шагом 5 (нижний регистр )или 1 (верхний регистр.)

  • sсохраняет настройки в точечный файл
  • lзагружает настройки из файла точек
  • rсбрасывает яркость/гамму на значения по умолчанию (1,0)
  • qуходит.

Точечный файл для данного вывода: ~/irandr-<outputname>.dat. Если вы запустите без аргумента, он отобразит действительные выходные данные xrandr.

Вы можете добавить аргумент -setonlyв командную строку, которая будет считывать настройки для файла точек данного дисплея, обновлять дисплей и выходить. (Полезно, наверное, в файле ~/.bashrcдля автоматической установки гаммы/яркости.)

#!/bin/bash
# irandr.sh, by Dale Gass (dale@gass.ca)
# Wed Apr 10 16:43:22 EDT 2019

# Process arguments
if [ "$1" != "" ]
then
    output="$1"
else
    echo "Usage: irandr.sh <outputname> [-setonly]"
    echo "(Settings saved to ~/.xrandr-<outputname>.dat)"
    echo
    echo "Valid outputs:"
    xrandr | egrep -v '^( |Screen)'
    exit 1
fi
setonly=0
if [ "$2" = "-setonly" ]; then setonly=1; fi

# Initialize variables, read for dotfile if exists
cmdhelp="d/f/D/F=brightness j/k/J/K=gamma r=reset s=save l=load q=quit"
brightness=100
gamma=100
dotfile=~/.irandr-"$output".dat
if [ -s "$dotfile"  ]; then read brightness gamma <"$dotfile"; fi
if [ $setonly -eq 0 ]; then 
    echo $cmdhelp
    stty -echo raw intr $'\000' # Allow single character input
fi

# Main loop for setting adjustment
echo 'Bright Gamma'
while :
do
    b=$(bc <<< "scale=2; $brightness/100")  # Make 0.0-1.0
    g=$(bc <<< "scale=2; $gamma/100")
    xrandr --output "$output" --brightness "$b" --gamma "$g:$g:$g"
    printf "\r%4d %4d " $brightness $gamma
    if [ $setonly -eq 1 ]; then echo; exit 0; fi

    read -n1 ch     # Get input character from user
    case $ch in
    d) let brightness=brightness-5;; D) let brightness=brightness-1;;
    f) let brightness=brightness+5;; F) let brightness=brightness+1;;
    j) let gamma=gamma-5;;           J) let gamma=gamma-1;;
    k) let gamma=gamma+5;;           K) let gamma=gamma+1;;
    r) brightness=100; gamma=100;;
    s) echo "$brightness    $gamma" >"$dotfile" && echo -e "Saved\r";;
    l) read brightness gamma <"$dotfile"     && echo -e "Loaded\r";;
    q|$'\003') break;;
    *) echo -e "$cmdhelp\r";;
    esac
done

stty echo -raw intr $'\003' # Undo single character input
4
27.01.2020, 19:49

Теги

Похожие вопросы