แแฝแแแแธแขแแแแแถแแแขแแแแแแถ แแแแปแแแแแพ Lubuntu 18.04 ะฝะฐ ัะฒะพะตะผ ะดะพะผะฐัะฝะตะผ ะฝะพััะฑัะบะต. ะ ะพะดะธะฝ ะฟัะตะบัะฐัะฝัะน ะดะตะฝั ั ัะตัะธะป, ััะพ ะผะตะฝั ะฝะต ััััะฐะธะฒะฐัั ะดะตะนััะฒะธั ะบะพัะพััะต ะฟัะตะดะปะฐะณะฐะตั Power Manager ะฟัะธ ะทะฐะบัััะธะธ ะบัััะบะธ ะฝะพััะฑัะบะฐ. ะฏ ั
ะพัะตะป ะฟัะธ ะทะฐะบัััะธะธ ะบัััะบะธ ะฝะพััะฑัะบะฐ ะฑะปะพะบะธัะพะฒะฐัั ัะบัะฐะฝ ะธ ัะตัะตะท ะฝะตะบะพัะพัะพะต ะฒัะตะผั ะพัะฟัะฐะฒะปััั ะฝะพััะฑัะบ ะฒ ะณะธะฑะตัะฝะฐัะธั. ะะปั ััะพะณะพ ั ะฝะฐะฟะธัะฐะป ัะบัะธะฟั ะธ ัะฟะตัั ะธะผ ั ะฒะฐะผะธ ะฟะพะดะตะปะธัััั.
แแแแปแแแถแแแฝแแแแแ แถแแธแแ
แแถแแแแผแ แแถแ hibernation แแทแแแแแพแแแถแแ แแแแธแแแแขแแแแ แแแแปแ Lubunta แแ แแพแแแแธแแพแแแถ แขแแแแแแแผแแแแแพแแผแ แแถแแแแแแแ
แแแแแแแแแถแแแแแถแแแแแแผแ UUID แแพแแแแธแแแแพแแผแ แแแแแขแแแแแแแผแแแแแพแแแถแแ
grep swap /etc/fstabแแแแปแแแแแธแแแแแแแแปแ แแแแแแแแถแแแผแ แแถแแแแแแแ
# swap was on /dev/mmcblk0p2 during installation
UUID=aebf757e-14c0-410a-b042-3d9a6044a987 none swap sw 0 0
แแแแแถแแแแแขแแแแแแแผแแแแแแแ UUID แแ แแแแปแแแแถแแแถแแแแแแแ แถแแแแแแพแแแบแแแแ แแพแแแแธแแแแพแแผแ แแแแแแแแแแแแแแแแแทแแผแแแแแแแ=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แฅแกแผแแแแ hibernation แแฝแแแแแแแพแแแถแ แแพแแแแธแแทแแทแแแแแพแแขแแแแขแถแ แแแแพแแแถแแแถแแ
sudo systemctl hibernateแแแแ แถแแธแแธแแแบแแแแแ แถแแแแแขแแแแแแแแแแแขแแแแแแแพแแถ root แแแแแทแแแแแแผแแแปแแแแแผแแแแแฝแแแแแ แแแแ แแแแปแแแถแแแแแแแแถแแแถแแแแแแแพ dbus-send แแถแแแแแแแแถแแแแฝแแฏแแแบแแ แแแแปแแแแแแแธแแแถแแแแแแแ แแแแแทแแแพแขแแแแแถแแนแแแแแแพแแแแแแแแแแแผแแแแแแแแ แแแแปแแแแทแแแแแ
แฅแกแผแแแแแแผแแ แถแแแแแแพแแแแแแแแแแแแธแแ
แแฟแแแแแผแแแแแแพแแแแแผแแแแแพแแ แแแแปแแแแแแแทแแธแแแแแแแแแแแถแแแแแบแแแแพแแแพแ แแทแแแถแแแแแ แถแแแถแแแแแแแถแแแ แแแแแทแแแแแแ แแพแแแแธแแปแแฑแแแแถแแแถแแแแแแแแแทแ แแถแแฝแแแแแแแธแแแแแแแพแแ

แแแแแถแแแแแแแแแพแแฏแแแถแ /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 => gnome-session
- org.freedesktop.ScreenSaver => org.gnome.ScreenSaver
แแแแแ: www.habr.com
