Hi omnes. Lubuntu 18.04 in domo mea laptop utor. Subtile diem unum decrevi me actionibus non contentum, quae Power Manager obtulit, cum operculo laptop claudendo. Volui velum claudere cum operculo laptop claudendo et post tempus laptop in hiberna mitto. Ad hoc scripseram et propero communicare tecum.
Cucurri in duas difficultates.
Primum, hiberna ex pixide in Lubunta non operatur, ut id facere debes.
UUID permuto reperi, ad hoc debes currere;
grep swap /etc/fstab
In mea causa haec output est:
# swap was on /dev/mmcblk0p2 during installation
UUID=aebf757e-14c0-410a-b042-3d9a6044a987 none swap sw 0 0
Tunc debes addere UUID ad nucleum initializationem parametri. Hoc ut facias, Proin UUID=% tuum UUID% ad lineam "GRUB_CMDLINE_LINUX_DEFAULT adde" in tabella /etc/default/grub
...
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash resume=UUID=aebf757e-14c0-410a-b042-3d9a6044a987"
...
et curre mandatum;
sudo update-grub
hiberna iam laborare debes, sisto currere potes;
sudo systemctl hibernate
Secundum problema fuit quomodo claudat screen usoris ut radicem sine laptop ad somnum mittens. utens dbus misi solvi ipsum mandatum infra scriptum est. Si quis alias optiones scit, scribe in comment
Nunc incipiamus scripturam.
Primum quod in Potestate Procurator facere opus est eligere SWITCH PB propono actionem cum operculo claudendo, ut nullae sint pugnae cum scripto nostro.
Tum creare fasciculum /etc/acpi/events/laptop-operculum cum sequenti contento:
event=button/lid.*
action=/etc/acpi/laptop-lid.sh
et crea scriptionem /etc/acpi/laptop-lid.sh cum sequenti contento:
#!/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
Faciens scriptum exsecutabile;
sudo chmod a+x /etc/acpi/laptop-lid.sh
Et sileo acpid daemonem ut mutationibus imponatur;
sudo systemctl restart acpid.service
Omnia parata est.
Nam gnome in scripto debes mutare;
- lxsessin => gnome-session
- org.freedesktop.ScreenSaver => org.gnome.ScreenSaver
Source: www.habr.com