令人赏心悦目

令人赏心悦目

我正在使用 Ubuntu Trusty tahr,我注意到没有亮度控制(如滑块),在 Windows 中我会使用英特尔的图形媒体加速器来降低亮度,但在这里看起来是不可能的。

我将在很晚的时间使用我的电脑学习,并且我的显示器的硬件按钮坏了,所以任何帮助都将不胜感激。

答案1

本网站,前段时间我发现某人写的一个不错的脚本。这不是我的!

在此处输入图片描述

我一直在上网本上使用它,Xubuntu它似乎可以在任何东西上运行。

由于不发布仅链接的答案,因此答案如下:

#!/usr/bin/env python

from gi.repository import Gtk
import subprocess

class BrightnessScale:
    def __init__(self):
        # get active monitor and current brightness
        self.monitor = self.getActiveMonitor()
        self.currB = self.getCurrentBrightness()

    def initUI(self):
        # initliaze and configure window 
        window = Gtk.Window()
        window.set_title('Brightness Scale')
        window.set_default_size(250, 50)
        window.set_position(Gtk.WindowPosition.CENTER)
        window.set_border_width(10)

        # slider configuration
        self.adjustment = Gtk.Adjustment(self.currB, 0, 100, 1, 10, 0)
        self.scale = Gtk.HScale()
        self.scale.set_adjustment(self.adjustment)
        self.scale.set_digits(0)

        # close Gtk thread on closing window
        window.connect("destroy", lambda w: Gtk.main_quit())

        # setup event handler on value-changed
        self.scale.connect("value-changed", self.scale_moved)

        # add the scale to window
        window.add(self.scale)

        # show all components in window
        window.show_all()

        # close window on pressing escape key
        accGroup = Gtk.AccelGroup()
        key, modifier = Gtk.accelerator_parse('Escape')
        accGroup.connect(key, modifier, Gtk.AccelFlags.VISIBLE, Gtk.main_quit)
        window.add_accel_group(accGroup)

    def showErrDialog(self):
        self.errDialog = Gtk.MessageDialog(None, 
                                           Gtk.DialogFlags.MODAL,
                                           Gtk.MessageType.ERROR,
                                           Gtk.ButtonsType.OK,
                                           "Unable to detect active monitor, run 'xrandr --verbose' on command-line for more info")
        self.errDialog.set_title("brightness control error")
        self.errDialog.run()
        self.errDialog.destroy()

    def initStatus(self):
        if(self.monitor == "" or self.currB == ""):
            return False
        return True

    def getActiveMonitor(self):
        #Find display monitor
        monitor = subprocess.check_output("xrandr -q | grep ' connected' | cut -d ' ' -f1", shell=True)
        if(monitor != ""):
            monitor = monitor.split('\n')[0]
        return monitor

    def getCurrentBrightness(self):
        #Find current brightness
        currB = subprocess.check_output("xrandr --verbose | grep -i brightness | cut -f2 -d ' '", shell=True)
        if(currB != ""):
            currB = currB.split('\n')[0]
            currB = int(float(currB) * 100)
        else:
            currB = ""
        return currB

    def scale_moved(self, event):
        #Change brightness
        newBrightness = float(self.scale.get_value())/100
        cmd = "xrandr --output %s --brightness %.2f" % (self.monitor, newBrightness)
        cmdStatus = subprocess.check_output(cmd, shell=True)

if __name__ == "__main__":
    # new instance of BrightnessScale
    brcontrol = BrightnessScale()
    if(brcontrol.initStatus()):
        # if everything ok, invoke UI and start Gtk thread loop
        brcontrol.initUI()
        Gtk.main()
    else:
        # show error dialog
        brcontrol.showErrDialog()

如何使用

  • 将脚本粘贴到一个空文件中,并将其保存为brightness_set~/bin您可能必须创建目录)。使其可执行

  • 将其添加到快捷键:选择:系统设置 > “键盘” > “快捷键” > “自定义快捷键”。单击“+”并添加命令:

    brightness_set
    
  • 注销并重新登录即可


编辑

.desktop为了制作一个漂亮的套装,您可以通过在 Dash、启动器或任何其他应用程序菜单中添加文件来使滑块可用~/.local/share/applications

在此处输入图片描述

[Desktop Entry]
Type=Application
Name=Brightness Scale
Icon=/path/to/set_brightness.png
Exec=brightness_set
OnlyShowIn=Unity;
  • 在行中Icon=设置图标的路径。您可以选择自己的图标,也可以将下面的图标保存为set_brightness.png

    在此处输入图片描述

  • 在该Exec=行中,假设脚本位于$PATH(包括~/bin在 Ubuntu 上),并且可以执行

答案2

这不会使您的亮度功能键起作用,但是一种解决方法。

安装亮度控制器使用以下命令:

sudo add-apt-repository ppa:apandada1/brightness-controller
sudo apt-get update

对于最多支持 4 个监视器的版本 1:

sudo apt-get install brightness-controller  
sudo apt-get install brightness-controller-simple  

对于具有多显示器支持和其他功能的版本 2:您可以使用其滑块控制两个显示器的亮度。

sudo apt install brightness-controller

在此处输入图片描述

答案3

xrandr基于和,使设置亮度更加容易的脚本zenity

#! /bin/bash

displays=($(xrandr | awk '/ connected /{print $1}'))

if (( ${#displays[@]} > 1 ))
then
    selected_display="$(zenity --list --title 'Select Display' --radiolist --column '' --column 'Display' $(xrandr | awk '/ connected /{print NR,$1}'))"
else
    selected_display="${displays[0]}"
fi

zenity --scale --title "Set brightness of $selected_display" --value=100 --print-partial |
while read brightness
do
    xrandr --output "$selected_display" --brightness $(awk '{print $1/100}' <<<"$brightness"})
done

安装 Zenity 和 xrandr:

sudo apt-get install x11-xserver-utils zenity

将脚本保存在某处,使其可执行(chmod +x some-script.sh),制作一个启动器如果你愿意的话。然后你可以运行脚本并使用此 GUI 设置亮度。

截图:

显示选择 亮度滑块

答案4

令人赏心悦目

我开发了令人赏心悦目每周 7 天、每天 24 小时运行:

  • 控制显示亮度和伽玛(夜灯等)監視器。
  • 每天早上,它会根据您的城市名称从互联网上获取日出和日落时间。
  • 日出后亮度和伽马值逐渐增加
  • 日落前亮度和伽马逐渐降低
  • 每天每晚睡眠约 12 小时,除非从挂起状态恢复或打开/关闭监视器

示例配置 - 常规选项卡

在此处输入图片描述

示例配置 - 监视器 3 选项卡

eyesom配置监视器3.png

相关内容