關閉筆記型電腦蓋時關閉 Xfce 電源管理器中的顯示和鎖定螢幕?
我有一台戴爾 XPS 13(2015 型號),我正在使用帶有 Xmonad 的 Ubuntu 15.10。我已經
xfce4-power-manager
執行並gnome-screensaver
用於鎖定螢幕。在 xfce4-power-manager 的設置對話框中,有一個設置“當筆記型電腦蓋子關閉時”,它有三個選項(分別用於電池和插入時):關閉顯示、掛起和鎖定螢幕。如果我選擇“關閉顯示”,關閉蓋子時螢幕不會被鎖定。我想在合上蓋子時鎖定螢幕。但是,當我選擇“鎖定螢幕”時,顯示似乎沒有關閉。為了節省電池,我也想關閉顯示器。什麼是獲得兩者的好方法(簡單和/或有些規範)?
使用 gnome-screensaver 和 XFCE 消隱後鎖定螢幕的問題可能與此有關,但沒有答案。
我認為在 XFCE 電源管理器中不可能做到這一點。但是,您可以編寫一個腳本來鎖定螢幕並將其關閉,並使其在您合上蓋子後立即啟動,從而覆蓋電源管理器的設置。
Ubuntu 官方幫助頁面中報告瞭如何啟動自定義腳本。我將按順序寫文章,以了解每個步驟的原因閱讀原帖。也許這不是最簡單的過程(無論如何它很容易,因為您只需輸入一系列指定的命令並用精確的內容填充文件),但我認為這是唯一的方法。此外,無論是小寫字母還是大寫字母 C,都非正常範,因為解決方案在 Ubuntu 的官方幫助中。
首先,創建一個腳本以使環境變數可用於 root,以便它可以在您的普通使用者環境中啟動命令。(我
mousepad
輸入了命令,因為它是 XFCE 的預設文本編輯器。將其替換為GEdit
,SciTE
,Emacs
,或您使用nano
的vim
任何編輯器)$ mousepad ~/export_x_info
有以下內容
在啟動時導出 dbus 會話地址,以便任何其他環境都可以使用它
sleep 5
touch $ HOME/.Xdbus chmod 600 $ HOME/.Xdbus 環境
| grep DBUS_SESSION_BUS_ADDRESS > $ HOME/.Xdbus echo ’export DBUS_SESSION_BUS_ADDRESS’ >> $ 首頁/.Xdbus
在啟動時導出 XAUTHORITY 值,以便 cron
env 使用它 | grep XAUTHORITY >> $ HOME/.Xdbus echo ’export XAUTHORITY’ >> $ 首頁/.Xdbus
並使其可執行
$ chmod 700 ~/export_x_info
將其添加到
Settings
→Session and Startup
→Application autostart
以將其設置為在啟動時執行。創造
/etc/acpi/events/lm_lid
# mousepad /etc/acpi/events/lm_lid
有了這個內容
事件=按鈕/蓋子。*
動作=/etc/acpi/lid.sh
這將
/etc/api/lid.sh
在蓋子按鈕被觸發時執行。讓我們創建它# mousepad /etc/api/lid.sh
#!/bin/bash
/home/%user/lid_event
(顯然替換
%user
為您的使用者名)這意味著腳本將執行
/home/%user/lid_event
。讓我們也創造它$ mousepad ~/lid_event
grep -q 關閉 /proc/acpi/button/lid/LID/state
if
$$ $? = 0 $$
然後
/home/%user/close;
否則
/home/%user/open;
菲
~/open
如果蓋子打開和關閉,這將執行~/close
。同樣,讓我們創建它們:$ mousepad ~/close
由於您需要關閉螢幕
xset dpms force off
並鎖定它xflock4
,因此將在裡面寫下close
:#這樣執行讓root可以在使用者環境
源/home/%user/.Xdbus下執行以下命令 #
鎖定並關閉螢幕
DISPLAY=:0.0 su %user -c “xflock4 && xset dpms force off”
內部打開,如 Ubuntu 的幫助所建議的,你可以播放你選擇的聲音(我用 Barney Gumble 的打嗝做了一個測試)
#這樣執行讓root可以在使用者的環境下執行以下命令
source /home/%user/.Xdbus
#play a open sound
DISPLAY=:0.0 su %user -c “aplay %path/to/a/sound/of /你的選擇”
讓我們讓它們都可執行
$ chmod +x ~/lid_event $ chmod +x ~/open $ chmod +x ~/close
重啟 acpid
# /etc/init.d/acpid restart
啟動
~/export_x_info
(或重新啟動您的筆記型電腦,使其在啟動時自動啟動)並關閉/打開蓋子以查看它是否有效。注意:在我的筆記型電腦中,鎖定螢幕也會將其關閉,因此我無法 100% 測試雙重動作,但它可以鎖定它。此外,作為範例,幫助頁面提供了一個操作,當您關閉蓋子時將 Pidgin 的狀態更改為離開,當您打開它時更改為“我在這裡”,非常有用。
TL;DR(如果這個問題應該發生在一個懶惰的人或新手身上):在灰色背景中輸入命令(
#
意味著您需要提升的 root 權限,或者只需sudo
在命令之前鍵入,而$
意味著您應該按照正常輸入命令使用者)。當命令呼叫文本編輯器(即mousepad
)時,將黃色背景中的部分複制並粘貼到編輯器中,然後保存並關閉。