Forum Sveta kompjutera

Nazad   Forum Sveta kompjutera > Test Run > Slobodni softver

Slobodni softver Teme o softveru otvorenog koda (programi i operativni sistemi), projektima, zajednici...

Odgovor
 
Alatke vezane za temu Vrste prikaza
Stara 12.6.2016, 17:48   #1
ColdBoot
Starosedelac
 
Član od: 21.8.2012.
Poruke: 2.666
Zahvalnice: 514
Zahvaljeno 495 puta na 418 poruka
Određen forumom XFCE - graceful interval shutdown

Možda nekima poznata situacija: gledate neki Netflix, tv, klipove sa yt, da što pre zaspite svesni da ćete pasti u komu pre nego što u kritičnom momentu umorna ruka shvati i stigne da stisne shudown na daljincu...

Jedno rešenje je skripta ispod, koja gasi komp posle zadatog intervala:

Kod:
#! /bin/bash

close_apps () {
	WIN_IDs=$(wmctrl -l | grep -vwE "Desktop$|xfce4-panel$" | cut -f1 -d' ')
	for i in $WIN_IDs; do wmctrl -ic "$i"; done

	# Keep checking and waiting until all windows are closed
	while [ "$WIN_IDs" != "" ]; do
        	sleep 0.1;
        	WIN_IDs=$(wmctrl -l | grep -vwE "Desktop$|xfce4-panel$" | cut -f1 -d' ')
	done
}

tajmer=$(zenity --entry --title=Timer --text="Upišite dužinu intervala u minutima")
tajmer=$tajmer"m"
echo $tajmer
sleep $tajmer
close_apps
xfce4-session-logout -h
E sad, zašto graceful u naslovu? Pa, znamo da bi obično

Kod:
shutdown -h now
uradilo posao ali isto tako znamo da SIGKILL to krvnički radi a najčešće žrtve su brauzeri... Da se to ne bi dešavalo, ova skripta prvo kulturno pozatvara sve aplikacije pa tek onda gasi mašinu.

Inače, proceduru "close_apps" sam ukr'o sa XFCE foruma pa i vi budite slobodni i prepravljajte je prema nahođenju. Neophodni su joj wmctrl i (u ovom slučaju) zenity alati a i potrebno je uneti par izmena u proceduri da bi radila i pod drugim okruženjima.

ColdBoot je offline   Odgovor sa citatom ove poruke
Sledeći korisnik se zahvaljuje korisniku ColdBoot na korisnoj poruci:
voodoo_ (12.6.2016)
Stara 16.6.2016, 17:35   #2
ColdBoot
Starosedelac
 
Član od: 21.8.2012.
Poruke: 2.666
Zahvalnice: 514
Zahvaljeno 495 puta na 418 poruka
Određen forumom Re: XFCE - graceful interval shutdown

Alternativno, umesto da samo oborite OS i isključite računar, možete umesto poslednje komande upisati drugu, kojom ćete pokrenti računar sledećeg dana u vreme kada ste obično na nogama, i nastaviti sa gledanjem/slušanjem sa prekinutog mesta:

Kod:
rtcwake -m mem -u -t $(date +%s -d "tomorrow 04:30")
"Kad ono međutim..."

Međutim, postoji kavet u vezi rtcwake alata a odnosi se na činjenicu da sistemski pozivi koje koristi nisu još definisani ACPI standardom te zbog toga nekome ovo radi a nekome ne. Ali, ako vam:

Kod:
rtcwake -m off -s 60
obara sistem i gasi komp da bi ga nakon minuta ponovo pokrenuo, you're good to go.

ColdBoot je offline   Odgovor sa citatom ove poruke
Stara 12.8.2016, 20:18   #3
ColdBoot
Starosedelac
 
Član od: 21.8.2012.
Poruke: 2.666
Zahvalnice: 514
Zahvaljeno 495 puta na 418 poruka
Određen forumom Re: XFCE - graceful interval shutdown

A ove dve linije se mogu primeniti u bilo kom DE-u da lepo pozatvarate sve prozore pred shutdown:

Kod:
WIN_IDs=$(wmctrl -l | awk '$3 != "N/A" {print $1}')
for i in $WIN_IDs; do wmctrl -ic "$i"; done
Živi bili...
ColdBoot je offline   Odgovor sa citatom ove poruke
Sledeći korisnik se zahvaljuje korisniku ColdBoot na korisnoj poruci:
voodoo_ (12.8.2016)
Stara 16.11.2016, 17:19   #4
ColdBoot
Starosedelac
 
Član od: 21.8.2012.
Poruke: 2.666
Zahvalnice: 514
Zahvaljeno 495 puta na 418 poruka
Određen forumom Re: XFCE - graceful interval shutdown

Citat:
ColdBoot kaže: Pregled poruke
A ove dve linije se mogu primeniti u bilo kom DE-u da lepo pozatvarate sve prozore pred shutdown:

Kod:
WIN_IDs=$(wmctrl -l | awk '$3 != "N/A" {print $1}')
for i in $WIN_IDs; do wmctrl -ic "$i"; done
Živi bili...
Da se ispravim jer ovo sam resavski kopi-pejstovao... Ovo ne radi, jer ne izuzima sistemske prozore čije zatvaranje tera okruženje na logout, kako videh u Cinnamonu. Ipak workaround za svako okruženje je jednostavan i svodi na listanje svih aktivnih prozora kad su sve GUI aplikacije pozatvarane ...

Kod:
wmctrl -l
Onda treba nazive tih prozora ubaciti/zameniti u onom

Kod:
grep -vwE "Desktop$|xfce4-panel$"
...u prvoj skripti i radiće. Tako, za Cinnamon je dovoljno samo izbrisati "|xfce4-panel$" deo iz komande, jer panel nije zaseban prozor u tom DE-u.


Poslednja ispravka: ColdBoot (16.11.2016 u 17:30)
ColdBoot je offline   Odgovor sa citatom ove poruke
Odgovor

Bookmarks sajtovi

Alatke vezane za temu
Vrste prikaza

Vaš status
Ne možete postavljati teme
Ne možete odgovarati na poruke
Ne možete slati priloge uz poruke
Ne možete prepravljati svoje poruke

BB kod: uključeno
Smajliji: uključeno
[IMG] kod: uključeno
HTML kod: isključeno


Slične teme
tema temu započeo forum Odgovora Poslednja poruka
Kreiranje shutdown ikonice hacker_aca Operativni sistemi 25 25.4.2006 21:24


Sva vremena su po Griniču +2 h. Sada je 16:31.


Powered by vBulletin® verzija 3.8.7
Copyright ©2000–2024, vBulletin Solutions, Inc.
Hosted by Beograd.com