Sengoliloeng se ikhethileng ha u koala sekoaelo sa laptop le ho notlela skrini ntle le ho robala

Lumelang bohle. Ke sebelisa Lubuntu 18.04 ho laptop ea ka ea lapeng. Ka letsatsi le leng ke ile ka etsa qeto ea hore ha kea khotsofala ke liketso tseo Power Manager a faneng ka tsona ha a koala sekoahelo sa laptop. Ke ne ke batla ho notlela skrine ha ke koala sekoaelo sa laptop ebe ka mor'a nakoana ke romela laptop ho hibernation. Ke ngotse script bakeng sa sena mme ke potlakela ho arolelana le uena.

Ke ile ka thulana le mathata a mabeli.

Taba ea pele, hibernation ha e sebetse ka ntle ho lebokose la Lubunta; ho e nolofalletsa, o hloka ho etsa tse latelang.

Fumana phetoho ea UUID, ho etsa sena o hloka ho matha:

grep swap /etc/fstab

Tabeng ea ka, tlhahiso ke e latelang:

# swap was on /dev/mmcblk0p2 during installation
UUID=aebf757e-14c0-410a-b042-3d9a6044a987 none            swap    sw              0       0

Ebe o hloka ho kenyelletsa UUID ho li-parameter tsa ho qala kernel. Ho etsa sena, eketsa resume=UUID=%UUID% ea hau moleng "GRUB_CMDLINE_LINUX_DEFAULT" faeleng /etc/default/grub

...
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash resume=UUID=aebf757e-14c0-410a-b042-3d9a6044a987"
...

Ebe u tsamaisa taelo:

sudo update-grub

Joale hibernation e lokela ho sebetsa, ho lekola hore na u ka matha:

sudo systemctl hibernate

Bothata ba bobeli e ne e le mokhoa oa ho notlela skrini sa mosebelisi joalo ka motso ntle le ho romela laptop ho robala. Ke e rarolle ke sebelisa dbus-send, taelo ka boeona e sengolong se ka tlase. Haeba ho na le motho ea tsebang likhetho tse ling, ka kopo ngola litlhalosong

Joale ha re qaleng ho ngola script.

Ntho ea pele eo re lokelang ho e etsa ho Power Manager ke ho khetha Tlosa pontšo e le ketso ha u koala sekoahelo, e le hore ho se be le likhohlano le script ea rona.

Sengoliloeng se ikhethileng ha u koala sekoaelo sa laptop le ho notlela skrini ntle le ho robala

Ebe u theha faele /etc/acpi/events/laptop-lid ka litaba tse latelang:

event=button/lid.*
action=/etc/acpi/laptop-lid.sh

'me u thehe script /etc/acpi/laptop-lid.sh ka litaba tse latelang:

#!/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

Ho etsa hore script e phethahale:

sudo chmod a+x /etc/acpi/laptop-lid.sh

Ebe o qala daemon ea acpid hore liphetoho li sebelisoe:

sudo systemctl restart acpid.service

Lintho tsohle li lokile.

Bakeng sa Gnome ho script o hloka ho fetola:

  • lxsessin => gnome-session
  • org.freedesktop.ScreenSaver => org.gnome.ScreenSaver

Source: www.habr.com

Eketsa ka tlhaloso