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.
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