Linux-Mint

如何在啟動後使用全盤加密設置筆記型電腦螢幕亮度

  • December 8, 2015

我女朋友買了,我用全盤加密Lenovo Essential G500 i5-3230安裝在上面。Linux Mint 16它是使用dmcrypt和加密的標準安裝LUKS。但是螢幕亮度有問題,0它甚至在要求加密分區的密碼之前就設置為。我通過添加部分修復它:

echo 50 > /sys/class/backlight/acpi_video0/brightness

到,/etc/rc.local但它在輸入正確的密碼以安裝加密分區後修復亮度。我想在此之前修復亮度,這樣我就可以看到密碼輸入欄位。/etc/rc.local在安裝加密磁碟後載入,所以我認為我需要以某種方式強制核心在載入自身之後和安裝之前改變亮度。

有沒有辦法告訴核心在啟動後調整亮度?

筆記型電腦上的顯卡是:AMD® Radeon HD 8570M + Intel HD Graphics 4000

更新

我已經嘗試過@derobert 提出的解決方案。我創建了 initramfs 腳本/etc/initramfs-tools/scripts/init-premount/local-backlight-brightness

#!/bin/sh
PREREQ=""
prereqs()
{
   echo "$PREREQ"
}

case $1 in
   prereqs)
       prereqs
       exit 0
   ;;
esac

. /usr/share/initramfs-tools/hook-functions
# Begin real processing below this line

echo 50 > /sys/class/backlight/acpi_video0/brightness

在此之後:

$ sudo chmod a+rx /etc/initramfs-tools/scripts/init-premount/local-backlight-brightness
$ sudo update-initramfs -u
$ sudo reboot

但它不起作用,詢問密碼時螢幕幾乎是黑色的。我什至不確定這個腳本是否被執行。如何檢查它是否被執行?也許我應該添加一些要求PREREQ=""以使其工作?

更新 2 終於工作了

好的,我決定再次閱讀 initramfs-tools 的手冊,以檢查一切是否正常,看起來我為我的腳本使用了錯誤的樣板。正確的是:

#!/bin/sh
PREREQ=""
prereqs()
{
   echo "$PREREQ"
}

case $1 in
prereqs)
   prereqs
   exit 0
   ;;
esac

. /scripts/functions
# Begin real processing below this line

echo 50 > /sys/class/backlight/acpi_video0/brightness

問題出在. /usr/share/initramfs-tools/hook-functions. 此行用於不包含在 inramfs 映像中的掛鉤腳本。應該是. /scripts/functions。改變它後,亮度就像我想要的那樣工作。

我將@derobert 的答案標記為正確,因為它指導我找到正確的解決方案。

您需要將該腳本添加到您的 initramfs。在 Debian 上(我懷疑 Mint 是一樣的),密碼提示似乎來自/usr/share/initramfs-tools/scripts/local-top/cryptroot. 該腳本安排自己在本地頂級腳本中最後被呼叫。有一組/etc用於本地定制的並行目錄。所以你只需要撲通一個看起來像這樣的文件:

#!/bin/sh
PREREQ=""
prereqs()
{
    echo "$PREREQ"
}

case $1 in
prereqs)
    prereqs
    exit 0
    ;;
esac

echo 50 > /sys/class/backlight/acpi_video0/brightness

進入/etc/initramfs-tools/scripts/local-top/etc/initramfs-tools/scripts/init-premount。文件名無關緊要,儘管我會選擇類似的東西local-backlight-brightness來確保它不會與某些包提供的腳本衝突。(prereqs 樣板直接來自 initramfs-tools 聯機幫助頁。)

然後,執行update-initramfs -u

引用自:https://unix.stackexchange.com/questions/117101