web-dev-qa-db-fra.com

Empêcher la mise en veille / suspendre lorsque vous n'êtes pas connecté à un compte spécifique

Nous avons un bureau partagé sous Ubuntu 18.04 où plusieurs tâches (via ssh et screen) s’exécutent souvent pendant plusieurs semaines sur plusieurs comptes. Lorsque vous êtes connecté à un compte, la mise en veille/suspension est désactivée via:

  1. Paramètres d'alimentation dans les paramètres système principaux
  2. A l'aide de gnome-Tweak-tool, désactivez l'option "Suspendre lorsque le couvercle de l'ordinateur portable est fermé".

Cela fonctionne très bien tant qu'un utilisateur avec ces paramètres d'alimentation est toujours directement connecté à la machine (c'est-à-dire physiquement, pas via ssh).

Le problème correspond au fait qu'aucun utilisateur n'est actuellement connecté directement, c'est-à-dire lorsque la machine est sur l'écran de connexion principal (comme au démarrage). Il ne semble pas y avoir de moyen de définir les paramètres de veille/suspension s’ils ne sont pas connectés à un compte spécifique. Ainsi, si la machine reste sur cet écran, elle finit par dormir, suspendant toutes les tâches en cours.

Comme je l'ai mentionné, les choses fonctionnent correctement tant que certains utilisateur est connecté. Cependant, cela a été considéré comme un risque de sécurité. Nous aimerions donc trouver une meilleure solution à l’échelle du système.

Je devrais mentionner que nous avons un autre bureau exécutant Ubuntu 16.04 qui n’a pas ce problème.

12
josephwb

Quand aucun utilisateur n'est connecté

Lorsque aucun utilisateur n'est connecté, les paramètres d'alimentation proviennent de psuedo-user ID gdm. Les commandes suivantes pour GDM à suspension automatique proviennent de: ArchLinux GDM

Suspension automatique de GDM (GNOME 3.28)

GDM utilise une base de données dconf distincte pour contrôler la gestion de l’alimentation. Vous pouvez faire en sorte que GDM se comporte de la même manière que les sessions utilisateur en copiant les paramètres utilisateur dans la base de données dconf de GDM.

$ IFS=$'\n'; for x in $(Sudo -u username gsettings list-recursively org.gnome.settings-daemon.plugins.power); do eval "Sudo -u gdm dbus-launch gsettings set $x"; done; unset IFS

username est le nom de votre utilisateur.

Ou simplement désactiver l'inhibition automatique (exécutez également la commande avec c remplacée par batterie pour également la désactiver lors de l'exécution sur batterie):

$ Sudo -u gdm dbus-launch gsettings set org.gnome.settings-daemon.plugins.power sleep-inactive-ac-type 'nothing'
7
WinEunuuchs2Unix

modifier le fichier /etc/systemd/logind.conf

là vous pouvez trouver la ligne:

#HandleLidSwitch=suspend

changez le en:

HandleLidSwitch=ignore

maintenant, votre écran de connexion ignore également votre commutateur de couvercle.

Il y a une bonne page de manuel ubuntu de logind.conf:

http://manpages.ubuntu.com/manpages/cosmic/man5/logind.conf.5.html

Pour désactiver la suspension via policykit (paramètre à l'échelle du système), suivez les instructions suivantes:

https://sites.google.com/site/easytipsforlinux/disable-hibernate-and-suspend

4
Pasi Suominen