首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带OLED显示屏的XPS 9510 Ubuntu 21.04无亮度控制

带OLED显示屏的XPS 9510 Ubuntu 21.04无亮度控制
EN

Ask Ubuntu用户
提问于 2021-08-17 14:29:46
回答 3查看 1.2K关注 0票数 4

我只是在现场运行Ubuntu21.04测试,然后在XPS 15 9510和OLED屏幕上进行全面安装,但我无法控制屏幕亮度,我知道很多年前的OLED屏幕存在问题,不过我认为这个问题已经解决了。戴尔通过终端提供了一个临时解决方案,但并不是很实用:

https://www.dell.com/support/kbdoc/en-uk/000129708/can-t-change-the-oled-s-brightness-on-precision-xps-systems-once-you-ve-installed-ubuntu-linux

对如何解决这个问题有什么建议吗?谢谢

EN

回答 3

Ask Ubuntu用户

回答已采纳

发布于 2021-08-30 08:54:58

我创建了一个脚本,使您可以使用建议的戴尔解决方案来创建自定义键盘快捷键,以调整屏幕亮度:

https://gist.github.com/lagerone/1568ea6fbb98fd90a3495f9e51e26c8c

您可能需要修改它,因为脚本假定膝上型计算机的屏幕名为eDP-1。运行xrandr查找您的屏幕名称并相应地修改这一行:

代码语言:javascript
复制
subprocess.run(["xrandr", "--output", "eDP-1", "--brightness", str(adjusted_level)])

下面是完整的脚本:

代码语言:javascript
复制
#!/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)
票数 3
EN

Ask Ubuntu用户

发布于 2023-04-28 07:53:30

我在我的精密5550机顶盒上也有同样的问题,这和XPS 9500差不多。在最新的Fedora 38和最新的1.22 BIOS,我的亮度键工作。这是内核6.2.12-300.fc38.x86_64,因此很有可能使用Ubuntu上的最新内核和最新的BIOS,它也能在9510上工作。

票数 0
EN

Ask Ubuntu用户

发布于 2021-10-19 14:45:42

访问监视器亮度 !!我的笔记本电脑的屏幕也是OLED。我编写了一个连接背光值的代码,例如背光条(亮度键)。

监视器亮度

自动启动安装

代码语言:javascript
复制
git clone https://github.com/tw-yshuang/monitor-brightness.git
cd ./monitor-brightness
sudo make

如果您使用make来安装,它可以在下次登录时自动启动。

票数 -2
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/1358549

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档