22.04 版联想 IdeaPad Gaming 3 笔记本电脑亮度控制不起作用

22.04 版联想 IdeaPad Gaming 3 笔记本电脑亮度控制不起作用

我有一台联想笔记本电脑,是 2020 年夏天买的。当时,我记得在它上面安装了 Ubuntu 20.04,亮度控制和触摸板都不起作用。几个月过去了,其他几个人发帖说他们有同样的笔记本电脑,也遇到了同样的问题,但一直没有找到解决办法。

快进到 2022 年夏天,我再次尝试使用 Linux。出于好奇,我尝试了 Fedora,这次所有硬件都正常工作了!:) 但我怀念 Ubuntu 生态系统。我尝试了 Ubuntu 22.04。现在触摸板可以工作了,不像两年前的 Ubuntu 20.04!:) 但亮度控制不行。当我按住该Fn键然后按下显示亮度调高和亮度调低图标的 F 键时,我会看到 GUI 元素,其中有一个向左(向空)和向右(向满)移动的条,但屏幕亮度保持不变。它似乎一直以全亮度或接近全亮度运行。

Fn我的目标是,当我启动到 Ubuntu 22.04 时,通过键盘上的和亮度键调整亮度时,亮度会增加或减少。

系统详细信息:

型号:IdeaPad Gaming 3 (15") 处理器:AMD® Ryzen™ 5 4600H 处理器(3.00 GHz,最高可达 4.00 GHz Max Boost,6 核,12 线程,8 MB 缓存)

输出lsb_release -a

No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 22.04.1 LTS
Release:    22.04
Codename:   jammy

输出uname -r(包括因为我听说内核与硬件支持有关):

5.15.0-47-generic

其他驱动程序信息:

在附加驱动程序中选择了 nvidia 驱动程序

答案1

我在配备 Intel-CPU 和 XUbuntu 的联想 IdeaPad 上按照以下方式操作:

  1. 以 root 身份创建以下文件,如果更改 sudoers 文件,请小心使用 visudo。
  2. 激活在“rc.local”中执行命令的可能性。
  3. 现在您可以进入键盘设置并使用命令 /bin/helligkeit_plus、/bin/helligkeit_minus、/bin/helligkeit_standard 和 /bin/helligkeit_null 添加键盘快捷键。
德语 英语
helligkeit_plus 亮度较暗
helligkeit_minus 亮度更亮
helligkeit_standard 将亮度设置为标准值(此处的值为 400)
helligkeit_null 屏幕暗,背光关闭

在 /etc/rc.local

#!/bin/bash
#
# /etc/rc.local: Local multi-user startup script.
#
# Helligkeitswert verstellbar machen:
chmod ugo+w /sys/class/backlight/intel_backlight/brightness
# Standardhelligkeitswert beim Starten einstellen:
echo 400 > /sys/class/backlight/intel_backlight/brightness
exit 0

在 /etc/sudoers 中

%users     ALL = NOPASSWD: /sys/class/backlight/intel_backlight/brightness
%users     ALL = NOPASSWD: /sys/class/backlight/intel_backlight/actual_brightness
%users     ALL = NOPASSWD: /usr/bin/helligkeit_minus
%users     ALL = NOPASSWD: /usr/bin/helligkeit_plus
%users     ALL = NOPASSWD: /usr/bin/helligkeit_standard
%users     ALL = NOPASSWD: /usr/bin/helligkeit_null

在 /bin/helligkeit_minus 中

#!/bin/bash
typeset -i aktuellehelligkeit
aktuellehelligkeit=$(cat /sys/class/backlight/intel_backlight/actual_brightness)
#echo $aktuellehelligkeit
let aktuellehelligkeit=aktuellehelligkeit-10
echo $aktuellehelligkeit > /sys/class/backlight/intel_backlight/brightness
unset aktuellehelligkeit

在 /bin/helligkeit_plus 中

#!/bin/bash
typeset -i aktuellehelligkeit
aktuellehelligkeit=$(cat /sys/class/backlight/intel_backlight/actual_brightness)
#echo $aktuellehelligkeit
let aktuellehelligkeit=aktuellehelligkeit+10
echo $aktuellehelligkeit > /sys/class/backlight/intel_backlight/brightness
unset aktuellehelligkeit

在 /bin/helligkeit_standard 中

#!/bin/bash
#Standardhelligkeitswert beim Starten
echo 400 > /sys/class/backlight/intel_backlight/brightness

在 /bin/helligkeit_null 中

#!/bin/bash
#Standardhelligkeitswert beim Starten
echo 0 > /sys/class/backlight/intel_backlight/brightness

相关内容