web-dev-qa-db-fra.com

Comment empêcher les processus en pause automatique dans une session utilisateur inactive?

Pendant un certain temps maintenant, lorsque je bascule entre deux sessions utilisateur, la session inactive dans certains cas cesse d’exécuter les processus de l’interface graphique. De cette façon, je suis obligé d'attendre le chargement d'une autre session et je ne peux rien faire dans une autre, car si je change de mode et que je reviens au bout d'un moment, il reste sur le même point. Les logiciels concernés incluent rsync, rdiff-backup, les processus en arrière-plan de KDE, le lancement de la session Steam dans Openbox (même le téléchargement s’arrête) et au moins certains jeux. VLC n'est pas affecté, au moins, il saute au temps nécessaire après mon changement, mais pendant un moment, je peux voir le vieux cadre et l'heure dans sa fenêtre.

Quel processus est responsable d'un tel comportement? Puis-je le reconfigurer?

Mise à jour: tilisation de la mémoire et du swap

Un contexte supplémentaire: l’ironie est que j’ai suggéré ce comportement exact sur le vieux brainstorm.ubuntu.com (maintenant disparu).

15
int_ua

Je rencontre aussi ce problème parce que je bascule régulièrement entre les terminaux virtuels de console et graphiques. Xorg by design suspend ses clients pendant les commutateurs VT, ce qui explique pourquoi ses clients semblent se "figer" lorsque le VT de Xorg n'est plus actif. Wayland ne le fait pas. Par conséquent, si les programmes que vous devez continuer à utiliser en arrière-plan prennent en charge le nouveau protocole d'affichage, utilisez un compositeur Wayland à la place de Xorg.

Une façon de contourner ce problème consiste à exécuter des programmes graphiques sur un serveur VNC local afin qu'ils ne soient jamais suspendus. C'est la solution de contournement que j'utilise le plus fréquemment.

1
dsstorefile1

Vous pouvez lancer une session screen à partir de la CLI avec bash et à l'intérieur de cette session, vous pouvez lancer l'application. Et maintenant, vous pouvez fermer ce terminal sans problème et récupérer en utilisant la commande screen -r. Est-ce plus ou moins ceci:

screen bash
rsync -V xxx yyy

Et vous pouvez fermer la CLI et retourner ce que vous voulez et faire:

screen -r

Pour confirmer que le travail est terminé. Je ne sais pas si cela peut fonctionner avec des applications graphiques utilisant une commande telle que:

Nohup your-X-application &
0
manuti

Quel processus est responsable d'un tel comportement?

Le gestionnaire d’affichage (DM) est celui que vous recherchez. N'importe qui: lightdm, gdm, kdm (ancien kde), sddm (nouveau kde), xdm ...

Puis-je le reconfigurer?

Autant que je sache, cela devrait être ainsi avec le serveur X. Cependant, j'avais l'habitude de passer ce comportement en utilisant:

  • Outils CLI sur une autre console virtuelle TTY
  • Outils CLI en tant que initservice

En ce qui concerne les flux audio, j’ai commencé à utiliser GNU/Linux en 2006. Les périphériques audio étaient gérés séparément de Display. Maintenant, les choses ont beaucoup changé spécialement avec les nouveaux appareils/ports intégrés tels que HDMI. Le serveur Pulse doit donc être conscient de certains événements d'affichage X. Si je me souviens bien (je revérifierai ceci), le serveur Pulse est exécuté en tant que processus utilisateur.

0
user.dz