แƒ›แƒแƒ แƒ’แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒกแƒ™แƒ แƒ˜แƒžแƒขแƒ˜ แƒšแƒ”แƒžแƒขแƒแƒžแƒ˜แƒก แƒกแƒแƒฎแƒฃแƒ แƒแƒ•แƒ˜แƒก แƒ“แƒแƒฎแƒฃแƒ แƒ•แƒ˜แƒกแƒแƒก แƒ“แƒ แƒ”แƒ™แƒ แƒแƒœแƒ˜แƒก แƒซแƒ˜แƒšแƒ˜แƒก แƒ’แƒแƒ แƒ”แƒจแƒ” แƒฉแƒแƒ™แƒ”แƒขแƒ•แƒ˜แƒกแƒแƒก

แฒกแƒแƒšแƒแƒ›แƒ˜ แƒงแƒ•แƒ”แƒšแƒแƒก. แƒ›แƒ” แƒ•แƒ˜แƒงแƒ”แƒœแƒ”แƒ‘ 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

แƒแƒฎแƒแƒšแƒ˜ แƒ™แƒแƒ›แƒ”แƒœแƒขแƒแƒ แƒ˜แƒก แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ