แฒกแแแแแ แงแแแแแก. แแ แแแงแแแแ Lubuntu 18.04-แก แฉแแแ แกแแฎแแแก แแแแขแแแแ. แแ แ แแจแแแแแแ แแฆแแก แแแแแแฌแงแแแขแ, แ แแ แแ แแแงแแแ แแแแงแแคแแแ แแ แฅแแแแแแแแแ, แ แแแแแแแช Power Manager-แแ แจแแแแแแแแแแแ แแแแขแแแแก แกแแฎแฃแ แแแแก แแแฎแฃแ แแแกแแก. แแแแขแแแแก แกแแฎแฃแ แแแแก แแแฎแฃแ แแแกแแก แแแแแแแ แแแ แแแแก แฉแแแแขแแ แแ แชแแขแ แฎแแแก แจแแแแแ แแแแขแแแแก แฐแแแแ แแแชแแแจแ แแแแแแแแ. แแแแกแแแแก แแแแฌแแ แ แกแชแแแแ แ แแ แแแฉแฅแแ แแแ แแแแแแแแ แแ.
แแ แแ แแแแแแแก แฌแแแแฌแงแแ.
แแแ แแแ แ แแแจแ, แฐแแแแ แแแชแแ แแ แแฃแจแแแแก แแฃแแฃแแขแแจแ, แแแก แแแกแแแฅแขแแฃแ แแแแแ, แแฅแแแ แฃแแแ แแแแแแแแ แจแแแแแแ.
แแแแแแ UUID swap, แแแแกแแแแแก แแฅแแแ แฃแแแ แแแฃแจแแแ:
grep swap /etc/fstab
แฉแแแก แจแแแแฎแแแแแจแ แแแแแแแแแแ แแ แแก แจแแแแแแ:
# swap was on /dev/mmcblk0p2 during installation
UUID=aebf757e-14c0-410a-b042-3d9a6044a987 none swap sw 0 0
แจแแแแแ แแฅแแแ แฃแแแ แแแแแแขแแ UUID แแแ แแแแก แแแแชแแแแแแแชแแแก แแแ แแแแขแ แแแก. แแแแกแแแแแก แแแแแแขแแ resume=UUID=%แแฅแแแแ UUID% แกแขแ แแฅแแแจแ "GRUB_CMDLINE_LINUX_DEFAULT" แคแแแแจแ /etc/default/grub
...
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash resume=UUID=aebf757e-14c0-410a-b042-3d9a6044a987"
...
แแ แแแฃแจแแแ แแ แซแแแแแ:
sudo update-grub
แแฎแแ แฐแแแแ แแแชแแแ แฃแแแ แแแฃแจแแแก, แจแแกแแแแฌแแแแแแ แจแแแแซแแแแ แแแฃแจแแแ:
sudo systemctl hibernate
แแแแ แ แแ แแแแแแ แแก แแงแ, แแฃ แ แแแแ แฃแแแ แฉแแแแขแ แแแแฎแแแ แแแแแก แแแ แแแ, แ แแแแ แช root, แแแแขแแแแก แแแกแแซแแแแแแแ แแแแแแแแแก แแแ แแจแ. แแ แแแแแแฌแงแแแขแ แแก dbus-send-แแก แแแแแงแแแแแแ, แแ แซแแแแแ แแแแแ แแ แแก แฅแแแแแ แแแชแแแฃแ แกแแ แแแขแจแ. แแฃ แแแแแแ แแชแแ แกแฎแแ แแแ แแแแขแแแ แแแฌแแ แแ แแแแแแขแแ แแแจแ
แแฎแแ แแแแแฌแงแแ แกแชแแแแ แแก แฌแแ แ.
แแแ แแแแ, แ แแช แฃแแแ แแแแแแแแแ Power Manager-แจแ, แแ แแก แแแแ แฉแแแ แแแ แแแแก แแแแแ แแแ, แ แแแแ แช แแแฅแแแแแแ แกแแฎแฃแ แแแแก แแแฎแฃแ แแแกแแก, แ แแแ แแ แแงแแก แแแแคแแแฅแขแแแ แฉแแแแก แกแแ แแแขแแแ.
แจแแแแแ แจแแฅแแแแแ แคแแแแ /etc/acpi/events/laptop-lid แจแแแแแแ แจแแแแแ แกแแ:
event=button/lid.*
action=/etc/acpi/laptop-lid.sh
แแ แจแแฅแแแแแ แกแแ แแแขแ /etc/acpi/laptop-lid.sh แจแแแแแแ แจแแแแแ แกแแ:
#!/bin/bash
#set variables
#ะะพะปััะฐะตะผ BUS ะฐะดัะตั ะธะท environ ัะฐะนะปะฐ ะฟัะพัะตััะฐ lxsession
BUS=$(grep -z DBUS_SESSION_BUS_ADDRESS
/proc/$(pidof -s lxsession)/environ |
sed 's/DBUS_SESSION_BUS_ADDRESS=//g')
#ะะท ัะพะณะพ ะถะต ัะฐะนะปะฐ ะฟะพะปััะฐะตะผ ัะทะตัะฐ, ะบะพัะพัะพะผั ะฟัะธะฝะฐะดะปะตะถะธั ััะพั ะฟัะพัะตัั
USER=$(grep -z USER /proc/$(pidof -s lxsession)/environ | sed 's/USER=//g')
#ะฟััั ะดะพ ััะตะนั ัะฐะนะปะฐ ะบัััะบะธ ะฝะพััะฑัะบะฐ
LID="/proc/acpi/button/lid/LID0/state"
#Check lid state (return 0 if closed)
check_lid () {
grep -q closed $LID
}
#Lock screen without sleep
check_lid
if [ $? = 0 ]
then
#TODO run command as root
sudo -u $USER -E dbus-send --bus=$BUS
--type=method_call
--dest="org.freedesktop.ScreenSaver"
"/org/freedesktop/ScreenSaver"
org.freedesktop.ScreenSaver.Lock
fi
#Wait 10 minutes and hibernate if lid is closed
sleep 600
check_lid
if [ $? = 0 ]
then
systemctl hibernate
fi
แกแแ แแแขแแก แจแแกแ แฃแแแแแแ แแแฎแแแ:
sudo chmod a+x /etc/acpi/laptop-lid.sh
แแ แแแแแขแแแ แแแ acpid แแแแแแ แแกแ, แ แแ แชแแแแแแแแแ แแแแฎแแ แชแแแแแแก:
sudo systemctl restart acpid.service
แงแแแแแคแแ แ แแแแ แแ แแก.
Gnome แกแแ แแแขแจแ แแฅแแแ แฃแแแ แจแแชแแแแแ:
- lxsessin => แฏแฃแฏแ-แกแแกแแ
- org.freedesktop.ScreenSaver => org.gnome.ScreenSaver
แฌแงแแ แ: www.habr.com