亮度调整Fn键在18.04中停止工作


9

我意识到我的问题有可能重复。但是,我搜索了不同的页面,但没有任何解决方法。我最近完成了Ubuntu 18.04(以前的长期发行版)的全新安装,并且根本无法获取亮度键来触发亮度更改。

细节:

  • Ubuntu x64 18.04。
  • 不使用Wayland。
  • 处理器中没有集成图形。
  • 单击电池图标时,没有屏幕亮度滑块。我在以前的Ubuntu安装上使用相同的硬件显示了亮度控制器-为什么在Ubuntu的此迭代中隐藏了它?
  • 如下图所示,正在使用NVIDIA专有驱动程序:

在此处输入图片说明

中央处理器:

*-cpu
          description: CPU
          product: Intel(R) Core(TM) i7-8700 CPU @ 3.20GHz
          bus info: cpu@0
          version: Intel(R) Core(TM) i7-8700 CPU @ 3.20GHz
          capabilities: x86-64 fpu fpu_exception wp vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb invpcid_single pti ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid rtm mpx rdseed adx smap clflushopt intel_pt xsaveopt xsavec xgetbv1 xsaves dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp cpufreq

GPU:

sudo lshw -C display
  *-display                 
       description: VGA compatible controller
       product: GP106M [GeForce GTX 1060 Mobile]
       vendor: NVIDIA Corporation
       physical id: 0
       bus info: pci@0000:01:00.0
       version: a1
       width: 64 bits
       clock: 33MHz
       capabilities: pm msi pciexpress vga_controller bus_master cap_list rom
       configuration: driver=nvidia latency=0
       resources: irq:122 memory:dd000000-ddffffff memory:90000000-9fffffff memory:a0000000-a1ffffff ioport:e000(size=128) memory:c0000-dffff

这是我当前的grub配置:

GRUB_DEFAULT=0
GRUB_TIMEOUT=10
GRUB_TIMEOUT_STYLE=menu
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash acpi_backlight=vendor"

启用这些设置(设置完后我确实重新启动了grub和系统),我可以监听Fn + Brightness组合:

acpi_listen 
video/brightnessdown BRTDN 00000087 00000000
video/brightnessup BRTUP 00000086 00000000

这样,我至少知道按下亮度更改键(通过Fn加号F8可降低亮度或F9提高亮度)已被系统识别。如果我没记错的话,这些事件应该触发某些亮度更改脚本。

但是,即使分配了这些事件,似乎也没有任何调用。

降低亮度:视频/降低亮度BRTDN 00000087 00000000

cat /etc/acpi/events/asus-keyboard-backlight-down 
# /etc/acpi/events/asus-keyboard-backlight-down
# This is called when the user presses the key brightness 
# down button and calls /etc/acpi/asus-keyboard-backlight.sh for
# further processing.

event=video/brightnessdown BRTDN 00000087 00000000
action=/etc/acpi/asus-keyboard-backlight.sh down

亮度提高:视频/亮度提高BRTUP 00000086 00000000

cat /etc/acpi/events/asus-keyboard-backlight-up
# /etc/acpi/events/asus-keyboard-backlight-up
# This is called when the user presses the key brightness 
# up button and calls /etc/acpi/asus-keyboard-backlight.sh for
# further processing.

event=video/brightnessup BRTUP 00000086 00000000
action=/etc/acpi/asus-keyboard-backlight.sh up

这两个事件将以下文件定义为操作

vim /etc/acpi/asus-keyboard-backlight.sh

其内容是:

KEYS_DIR=/sys/class/leds/phy0-led\:\:kbd_backlight


test -d $KEYS_DIR || exit 0

MIN=0
MAX=$(cat $KEYS_DIR/max_brightness)
VAL=$(cat $KEYS_DIR/brightness)

if [ "$1" = down ]; then
        VAL=$((VAL-1))
else
        VAL=$((VAL+1))
fi

if [ "$VAL" -lt $MIN ]; then
        VAL=$MIN
elif [ "$VAL" -gt $MAX ]; then
        VAL=$MAX
fi

echo $VAL > $KEYS_DIR/brightness

此外,如果我检查变量$ KEYS_DIR中的目录,则包含以下内容:

sudo ls /sys/class/leds/phy0-led
brightness  device  max_brightness  power  subsystem  trigger  uevent

亮度max_brightness文件是空的。

一切似乎都已正确设置,但我不明白为什么亮度没有变化,如果使用替代程序(例如亮度控制器xbacklight),重新启动后为什么它没有保存,为什么亮度滑块丢失了?

非常感谢你。


您找到解决方案了吗?我在这里摆弄司机:-(
aggsol

@aggsol我最终安装了较新版本的Ubuntu,并且它再次开始工作。使用18.04时找不到修复程序。
Blitzkoder

Answers:


1

在Xubuntu 18.04(带有xfce桌面的Ubuntu)上,我的亮度问题终于解决了。

我在“设置”菜单下打开了“板载设置”。如果您的台式机没有台式机,则可以从软件中心下载。

在“板载首选项”窗口上,单击“布局”菜单,然后选择“全键盘”(带有编辑键和功能键的台式键盘)。单击此处查看“ 机载首选项”窗口

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.