我只是在现场运行Ubuntu21.04测试,然后在XPS 15 9510和OLED屏幕上进行全面安装,但我无法控制屏幕亮度,我知道很多年前的OLED屏幕存在问题,不过我认为这个问题已经解决了。戴尔通过终端提供了一个临时解决方案,但并不是很实用:
对如何解决这个问题有什么建议吗?谢谢
发布于 2021-08-30 08:54:58
我创建了一个脚本,使您可以使用建议的戴尔解决方案来创建自定义键盘快捷键,以调整屏幕亮度:
https://gist.github.com/lagerone/1568ea6fbb98fd90a3495f9e51e26c8c
您可能需要修改它,因为脚本假定膝上型计算机的屏幕名为eDP-1。运行xrandr查找您的屏幕名称并相应地修改这一行:
subprocess.run(["xrandr", "--output", "eDP-1", "--brightness", str(adjusted_level)])下面是完整的脚本:
#!/usr/bin/python3
import logging
import os
import subprocess
import sys
from typing import Literal
logging.basicConfig(level=logging.DEBUG)
FILE_PATH = os.path.join(
os.path.dirname(os.path.realpath(__file__)), ".screen-brightness"
)
def read_current_level() -> float:
if not os.path.isfile(FILE_PATH):
return 1
with open(
file=FILE_PATH,
mode="r",
encoding="utf-8",
) as file:
current_level = file.readline().strip()
return float(current_level)
def save_level(level: float) -> None:
with open(
file=FILE_PATH,
mode="w",
encoding="utf-8",
) as file:
file.write(str(level))
def adjust_level(method: Literal["up", "down"]) -> None:
adjuster = 0.05 if method == "up" else -0.05
current_level = read_current_level()
adjusted_level = current_level + adjuster
if adjusted_level > 1:
adjusted_level = 1
if adjusted_level < 0.2:
adjusted_level = 0.2
logging.debug(f"Setting screen brightness to {adjusted_level}.")
subprocess.run(["xrandr", "--output", "eDP-1", "--brightness", str(adjusted_level)])
save_level(level=adjusted_level)
if __name__ == "__main__":
METHOD = sys.argv[1] if len(sys.argv) > 1 else "up"
adjust_level(method=METHOD)发布于 2023-04-28 07:53:30
我在我的精密5550机顶盒上也有同样的问题,这和XPS 9500差不多。在最新的Fedora 38和最新的1.22 BIOS,我的亮度键工作。这是内核6.2.12-300.fc38.x86_64,因此很有可能使用Ubuntu上的最新内核和最新的BIOS,它也能在9510上工作。
https://askubuntu.com/questions/1358549
复制相似问题