ubuntu下fn鍵修改亮度實(shí)際上是修改/sys/class/backlight/nvidia_0/brightness文件,前提是fn鍵能正常修改亮度。
nvidia_0有可能是intel或者其它字樣,所以需要自行l(wèi)l /sys/class/backlight查看自己顯卡對(duì)應(yīng)的亮度文件,下文請(qǐng)自行根據(jù)實(shí)際情況替換nvidia_0。
由于目前我能查到的保存亮度的辦法都是在開(kāi)機(jī)時(shí)給上述文件寫(xiě)入一個(gè)固定的自定義數(shù)值,所以我想實(shí)現(xiàn)真正的亮度自動(dòng)保存加載。
原理:建立一個(gè)服務(wù),在開(kāi)機(jī)時(shí)啟用服務(wù),在關(guān)機(jī)前結(jié)束服務(wù)。通過(guò)在服務(wù)的啟動(dòng)和結(jié)束命令中執(zhí)行對(duì)應(yīng)的腳本來(lái)加載上次關(guān)機(jī)前的亮度,以及在關(guān)機(jī)前保存亮度。
?
1.先創(chuàng)建亮度加載和保存腳本
加載腳本將/etc/gdm3/my_brightness中保存的亮度加載到/sys/class/backlight/nvidia_0/brightness中,即將上次關(guān)機(jī)前的亮度重現(xiàn)。
vim /etc/gdm3/load_my_brightness
#! /bin/sh
cat /etc/gdm3/my_brightness > /sys/class/backlight/nvidia_0/brightness
保存腳本將當(dāng)前亮度保存到/etc/gdm3/my_brightness中
vim /etc/gdm3/save_my_brightness
#! /bin/sh
cat /sys/class/backlight/nvidia_0/brightness > /etc/gdm3/my_brightness
2.創(chuàng)建服務(wù)
vim /lib/systemd/system/savemybrightness.service
[Unit]
Description=save my brightness
Requires=graphical.target
After=graphical.target
DefaultDependencies=no
Before=shutdown.target reboot.target
[Service]
Type=oneshot
RemainAfterExit=true
ExecStart=/etc/gdm3/load_my_brightness
ExecStop=/etc/gdm3/save_my_brightness
[Install]
WantedBy=graphical.target
3.重新加載服務(wù)配置文件
systemctl daemon-reload
4.開(kāi)機(jī)啟用服務(wù)
systemctl enable savemybrightness.service
5.立刻運(yùn)行服務(wù)
systemctl start savemybrightness.service
結(jié)束:當(dāng)進(jìn)行到這步,進(jìn)行關(guān)機(jī)或者重啟操作時(shí)服務(wù)會(huì)結(jié)束,服務(wù)結(jié)束前則執(zhí)行保存腳本將當(dāng)前亮度保存到/etc/gdm3/my_brightness中。下次開(kāi)機(jī)時(shí),服務(wù)啟動(dòng),當(dāng)系統(tǒng)運(yùn)行級(jí)別達(dá)到圖形時(shí),執(zhí)行加載將/etc/gdm3/my_brightness中保存的亮度加載到/sys/class/backlight/nvidia_0/brightness中,即將上次關(guān)機(jī)前的亮度重現(xiàn)。