Bien que je soupçonne que ce n'est pas possible actuellement, je voudrais juste demander car ce serait quelque chose de très utile à mon avis. Parce que lorsque je ferme mon couvercle et que je suis dans l'interface graphique, mon ordinateur se suspend et nécessite ensuite un mot de passe pour être déverrouillé. Cependant, si je fais la même chose dans la console, il n'y a pas de suspension et il ne me demande pas de mot de passe pour me reconnecter.
Maintenant, cela peut être un risque de sécurité potentiel, donc je me demandais s'il y avait un moyen de mettre en pause tout ce qui s'exécute sur la console lorsque le couvercle est fermé, et de sorte que lorsque la machine se réveille, vous deviez saisir votre mot de passe dans la fenêtre de la console afin que il "déverrouille" votre session ? J'utilise Ubuntu GNOME 15.04. Quand je dis la console, je veux dire les ATS.
J'ai jeté un coup d'œil à TTY[1-6] :Verrouiller l'écran après un délai (comme un économiseur d'écran), mais je ne pense pas qu'il réponde entièrement à ma question, en particulier sur la mise en pause de tout ce qui est en cours d'exécution afin qu'il puisse continuer à la reprise.
J'utilise Ubuntu GNOME 15.10 avec GNOME 3.18.
Réponse acceptée :
L'autre question que muru a liée dans les commentaires (TTY[1-6] :Verrouiller l'écran après un délai (comme un économiseur d'écran)) nous offre l'outil pour verrouiller le tty, vlock
. Au niveau le plus simple, vous pouvez combiner vlock -a
avec pm-suspend
dans un .bashrc
fonction ou un script. Voici le mien :
$ cat lockTTY.sh
#!/bin/bash
(sleep 3; sudo pm-suspend) &
vlock -a
Que se passe-t-il ici ? En gros, nous lançons pm-suspend
avec retard dans le sous-shell, en arrière-plan. Pendant ce temps, nous utilisons vlock -a
pour verrouiller tous les ttys. Après 3 secondes, l'ordinateur portable s'interrompt.
Le hic ici cependant est le sudo pm-suspend
partie. Vous devez empêcher sudo
de vous demander le mot de passe pour pm-suspend
. Pour ce faire, nous ajoutons la ligne suivante à la fin de /etc/sudosers
fichier
$USERNAME ALL = NOPASSWD: /usr/sbin/pm-suspend
Bien sûr, remplacez $USERNAME
avec votre nom d'utilisateur réel. Vous pouvez appeler sudo visudo
pour ouvrir ce fichier avec votre éditeur de texte par défaut défini dans /etc/alternatives/editor
, juste pour être sûr, mais tout éditeur appelé avec les autorisations appropriées fera l'affaire.
Qu'est-ce que ce script nous permet de faire ? Suspendez et verrouillez avec les processus en cours d'exécution. vlock -a
a un grand avantage pour empêcher le passage à d'autres consoles, donc ce n'est pas seulement une console qui est verrouillée, mais toutes – vous ne pouvez pas simplement passer à un autre tty si l'un est verrouillé.
Vous pouvez également suspendre en premier et verrouiller en second, c'est-à-dire appeler pm-suspend
premier et vlock -a
seconde. Mais cela signifie qu'à la reprise, il est possible que quelqu'un voie votre écran pendant une fraction de seconde avant vlock
entre en jeu.
Quelle serait la solution simple et sale au cas où vous ne feriez pas confiance à vlock
et vous ne voulez pas l'installer ? Créez un script /etc/pm/sleep.d/10_lockTTY
avec le contenu suivant :
#!/bin/bash
case "${1}" in
hibernate|sleep)
;;
resume|thaw)
for NUM in $(seq 1 6); do service tty$NUM restart; done
;;
esac
Cela réinitialisera tous les ttys au retour de la suspension, mais attention, tous les processus que vous aviez là-bas seront tués.