Puncte:8

Cum pot întârzia (dar nu dezactiva) blocarea ecranului la suspendarea/închiderea capacului?

drapel cn

Aș dori ca ecranul meu să se blocheze automat când închid capacul (sau declanșez în alt mod o suspendare), dar numai dacă îl las închis pentru o anumită perioadă de timp, de ex. 5 minute. Adică dacă închid capacul și apoi îl deschid 1 minut mai târziu, aș dori ca ecranul să nu fie blocat, dar dacă deschid capacul 10 minute mai târziu, ar trebui să fie blocat. Există o modalitate de a configura acest lucru în Ubuntu (GNOME)?

Văd mai multe întrebări similare, dar niciuna care să descrie ceea ce caut. Tot vreau ca laptopul să se suspende imediat când capacul se închide, doar nu vreau să se blocheze decât dacă capacul rămâne închis pentru o anumită perioadă de timp. (În mod ideal, ar urma aceeași setare „Întârziere blocare automată a ecranului” care este utilizată în timp ce capacul este deschis.)

Un mod în care mi-aș putea imagina implementarea acestui lucru este să rulez scripturi la suspendare și trezire. Scriptul de suspendare ar înregistra doar un marcaj de timp pentru suspendare, iar scriptul de trezire ar verifica pentru a vedea cât de veche este marcajul de timp și ar decide pe baza acesteia dacă să blocheze sau să deblocheze ecranul. Cu toate acestea, presupun că ar trebui să configurez aceste scripturi pentru a rula ca utilizator (adică nu root) și ar trebui să poată accesa sesiunea mea de conectare existentă (probabil prin intermediul unor variabile de mediu?), așa că nu sunt dacă acest lucru este posibil de implementat.

drapel vn
Ați încercat să dezactivați comportamentul implicit și [adăugați un script pe `/etc/acpi/`](https://askubuntu.com/a/670963/349837)?
drapel cn
@PabloBianchi Asta ar putea ajuta, dar înțelegerea mea este că acest script va rula ca rădăcină și nu va avea niciuna dintre variabilele de mediu care îl conectează la sesiunea mea de conectare, așa că încă nu sunt sigur cum l-aș putea folosi pentru a implementa comportamentul Caut.
Puncte:1
drapel cn

Mi-am dat seama cum să fac asta. Am scris un script Python care ascultă semnalele DBus care indică suspendarea și blocarea ecranului. Când ambele semnale apar într-un interval scurt de timp unul de celălalt, scriptul presupune că acesta este un eveniment de suspendare care a declanșat un eveniment de blocare a ecranului. Apoi așteaptă semnalul care indică o reluare. Dacă timpul scurs de la evenimentul de suspendare este mai mic de 5 minute, forțează screensaver-ul să se deblocheze fără a necesita o parolă. În plus, deblochează ecranul doar dacă capacul a fost închis când a fost trimis semnalul de suspendare (indicând astfel, probabil, o suspendare care a fost declanșată de închiderea capacului), astfel încât suspendarea manuală din meniu nu va declanșa scriptul. Acest lucru asigură că ecranul nu se va debloca după ce a fost blocat manual de către utilizator.

Poți găsi scenariul aici: https://gist.github.com/DarwinAwardWinner/77e8acea2f14ed9ea66d7222d7ace500

Am salvat scenariul în ~/.local/bin/, l-au făcut executabil și am configurat scriptul să ruleze în fundal când mă conectez folosind programul de configurare a aplicațiilor de pornire, așa cum se arată aici:

Intrare în aplicație de pornire pentru shortsleep-unlock.py

am folosit si eu alerga-unu-în mod constant de la alerga-unul pachet pentru a reporni automat scriptul dacă se blochează vreodată din orice motiv. Cu acest script care rulează, obțin exact comportamentul pe care mi-l doresc: dacă închid capacul și apoi îl deschid un minut mai târziu, ecranul se deblochează fără să fiu nevoit să-mi introduc parola. Dar daca las capacul inchis mai mult de 5 minute, sau daca suspend laptopul fara sa inchid capacul, atunci e nevoie de parola cand deschid capacul. Puteți configura atât limita de timp, cât și cerințele pentru capac prin editarea scriptului (uitați-vă în jurul rândului 100).

În forma sa actuală, scriptul funcționează numai cu screensaver-ul GNOME. Cu toate acestea, nu ar trebui să fie îngrozitor de dificil să-l adaptezi la KDE sau la alte programe de blocare a ecranului, atâta timp cât oferă semnalele și metodele DBus corespunzătoare.

Notă importantă de securitate: Am făcut tot posibilul pentru a gestiona toate cazurile marginale la care mă pot gândi, dar există întotdeauna posibilitatea ca nu am reușit să anticipez vreo modalitate de declanșare a deblocării chiar și după expirarea termenului. Prin urmare, nu utilizați acest script dacă aveți îngrijorări cu privire la securitate, cu excepția cazului în care vă faceți timp să îl auditați singur.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.