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:

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.