![介绍](https://linux22.com/image/903702/%E4%BB%8B%E7%BB%8D.png)
介绍
启动后,我的屏幕背光出现问题,所以当我第一次进入登录屏幕时。我正在运行 Ubuntu 18.04 bionic。这是一个全新安装,完全更新。您可能还对显卡感兴趣:Intel® HD Graphics 5300(Broadwell GT2)。
问题
事情是这样的:
当我启动平板电脑/笔记本电脑时,我会看到 grub,我可以选择要启动的操作系统(与 Windows 双启动)。我启动 Ubuntu,然后看到启动画面。然后,当登录屏幕应该出现时,屏幕只是黑色的。但是,我可以通过按下登录enter
,然后输入我的密码并enter
再次按下。然后背光亮起,我可以使用我的平板电脑。如果我注销,背光保持亮起,登录屏幕可见。
打开背光的另一种方法是通过 HDMI 连接器连接外部屏幕。然后我的平板电脑的屏幕突然也能工作了。如果我断开外部屏幕的连接,背光就会保持亮着。
所以我认为存在一个问题,我的背光在启动过程中被关闭,需要一个触发器才能再次打开它。
我尝试过
我已经搜索了几天,找到了诸如在 grub 中添加内核参数之类的解决方案,但这些并不能解决问题。
我还尝试使用 systemd 服务调用我编写的脚本,通过文件将背光亮度设置为最大值/sys/class/backlight/intel_backlight/...
。没有成功。然后我更改了脚本,使其将当前亮度(延迟)写入 tmp 文件夹中的文件中。查看此文件时,我发现亮度已经达到最大值。
附加信息
也许这个信息也能有所帮助:将值写入文件夹中0
的文件将导致相同的黑屏。这就是为什么我首先认为文件中的值是,然后我尝试通过 systemd 服务将其强制为最大值。brightness
sys
brigtness
0
有人知道问题出在哪里吗?或者有其他方法可以检查背光是打开还是关闭(通过启动脚本,或者必要时我可以自己制作)?
更新 1 25/08
我发现在 sys 文件夹中还有一个文件bl_power
。因此,我对通过 systemd 启动的 shell 脚本进行了一些编辑,以便我也可以看到其中的内容bl_power
。
0
我发现当它包含屏幕打开的值时,另一个值会关闭背光。猜猜是什么,首先它0
在启动期间包含值(我猜是在启动画面期间),但它会更改为。但是,我无法通过我的脚本4
强制此值。0
目前,这是 shell 脚本:SYS="/sys/class/backlight/intel_backlight" BRIGHT="${SYS}/brightness" POWER="${SYS}/bl_power" TMP="/tmp/backlight"
cat /proc/uptime | cut -d ' ' -f 1 > ${TMP}
cat ${BRIGHT} >> ${TMP}
cat ${POWER} >> ${TMP}
sleep 10
cat /proc/uptime | cut -d ' ' -f 1 >> ${TMP}
cat ${BRIGHT} >> ${TMP}
cat ${POWER} >> ${TMP}
echo 0 > ${POWER}
cat ${POWER} >> ${TMP}
systemd 服务文件如下: [Unit] Description=Enable backlight After=gdm3.service
[Service]
ExecStart=/etc/systemd/enablebacklight.sh
Type=forking
[Install]
WantedBy=multi-user.target
对于那些想知道我的脚本输出到 tmp 文件的人:
5.72 # uptime
937 # brightness
0 # bl_power
15.73 # uptime after 10 sec sleep
937 # brightness after 10 sec sleep
4 # bl_power after 10 sec sleep
4 # bl_power after echoing 0 to it
更新 2 25/8
我已经从 grub 命令行中删除了quiet
和splash
选项。现在显示屏会短暂关闭(1 秒或更短时间),然后重新打开。然后会显示一个带有[OK]
标志的列表,然后停止。如果我随后按ctrl
+ alt
+F2
跳转到控制台屏幕,然后按相同的组合但使用F1
,屏幕会保持打开状态,我可以通过 gnome 登录。有谁有想法吗?
我最初以为是启动画面的问题,但为什么在显示登录画面时无法通过 systemd 启动脚本写入... 我通过创建一个脚本对此进行了测试,该脚本等待直到0
获得不同于的值,然后进入一个循环,该循环仅在写入值后才存在,然后从中读取值。 只要我不登录,脚本就会继续运行,这意味着立即被一个不同于的值覆盖(我检查过它包含)。bl_power
bl_power
0
0
0
bl_power
bl_power
0
4
答案1
我自己找到了“解决方案”。如果我更改文件/etc/gdm3/custom.conf
并取消注释以下行:
# WaylandEnable=false
然后启动后显示登录屏幕(因此背光亮起)。成功启动一次后,我再次注释掉该行,现在它仍然可以工作。有点奇怪,但现在它可以工作了。