Sgriobt gnàthaichte nuair a dhùineas tu mullach an laptop agus a ghlasas tu an scrion gun chadal

Hi uile. Tha mi a’ cleachdadh Lubuntu 18.04 air an laptop dachaigh agam. Aon latha math cho-dhùin mi nach robh mi riaraichte leis na gnìomhan a thug Power Manager seachad nuair a dhùin mi mullach an laptop. Bha mi airson an scrion a ghlasadh nuair a dhùin mi mullach an laptop agus an ceann greiseag chuir mi an laptop gu cadal a’ gheamhraidh. Sgrìobh mi sgriobt airson seo agus rinn mi cabhag airson a roinn leat.

Ruith mi a-steach do dhà dhuilgheadas.

An toiseach, chan obraich cadal a’ gheamhraidh a-mach às a’ bhogsa ann an Lubunta; gus a chomasachadh, feumaidh tu na leanas a dhèanamh.

Lorg an suaip UUID, airson seo a dhèanamh feumaidh tu ruith:

grep swap /etc/fstab

Anns a 'chùis agam tha an toradh mar a leanas:

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

An uairsin feumaidh tu an UUID a chuir ris na paramadairean tòiseachaidh kernel. Gus seo a dhèanamh, cuir resume=UUID=% an UUID agad% ris an loidhne “GRUB_CMDLINE_LINUX_DEFAULT” san fhaidhle /etc/default/grub

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

Agus ruith an àithne:

sudo update-grub

A-nis bu chòir don gheamhradh obrachadh, gus dèanamh cinnteach gun urrainn dhut ruith:

sudo systemctl hibernate

B 'e an dàrna duilgheadas mar a ghlasadh sgrion an neach-cleachdaidh mar fhreumh gun a bhith a' cur an laptop gu cadal. Dh’ fhuasgail mi e le bhith a’ cleachdadh dbus-send, tha an àithne fhèin anns an sgriobt gu h-ìosal. Ma tha fios aig duine air roghainnean eile, feuch an sgrìobh thu anns na beachdan

A-nis leig dhuinn tòiseachadh air an sgriobt a sgrìobhadh.

Is e a’ chiad rud a dh’ fheumas sinn a dhèanamh ann am Manaidsear Cumhachd a bhith a’ taghadh Switch off display mar an gnìomh nuair a dhùineas sinn am mullach, gus nach bi còmhstri sam bith ann leis an sgriobt againn.

Sgriobt gnàthaichte nuair a dhùineas tu mullach an laptop agus a ghlasas tu an scrion gun chadal

An uairsin cruthaich faidhle /etc/acpi/events/laptop-lid leis an t-susbaint a leanas:

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

agus cruthaich sgriobt /etc/acpi/laptop-lid.sh leis an t-susbaint a leanas:

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

Dèanamh an sgriobt so-ghnìomhaichte:

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

Agus ath-thòisich an daemon acpid gus am bi na h-atharrachaidhean air an cur an sàs:

sudo systemctl restart acpid.service

Tha a h-uile dad deiseil.

Airson Gnome san sgriobt feumaidh tu atharrachadh:

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

Source: www.habr.com

Cuir beachd ann