¿Cómo evitar los procesos de pausa automática en una sesión de usuario inactiva?

14

Por un tiempo ahora, cuando cambio entre dos sesiones de usuario, la inactiva en algunos casos dejará de ejecutar procesos GUI. De esta manera, me veo obligado a esperar a que se cargue otra sesión y no puedo hacer algo en otra, porque si cambio y regreso después de un tiempo, todavía está en el mismo punto. El software afectado incluye rsync, rdiff-backup, procesos en segundo plano de KDE, Steam lanzado en sesión de Openbox (incluso paradas de descarga) y al menos algunos juegos. VLC no se ve afectado, al menos se salta al tiempo necesario después de volver, pero por un momento puedo ver el marco y el tiempo antiguos en su ventana.

¿Qué proceso es responsable de tal comportamiento? ¿Puedo reconfigurarlo de alguna manera?

Actualización: uso de memoria e intercambio

Algún contexto adicional: la ironía es que sugerí este comportamiento exacto en el viejo brainstorm.ubuntu.com (ahora desaparecido).

int_ua
fuente
1
@Fabby hecho, no parece un problema de intercambio si eso es lo que estás implicando.
int_ua
2
Sí, eso es lo que estaba insinuando ... ;-) He intentado simular el comportamiento que estás experimentando: inicia sesión como usuario, luego inicia sesión como usuario secundario, inicia una película, [Ctrl] [Alt ] [F7] para el primer usuario, inicie un findencendido /, [ctrl] [Alt] [F8] para el segundo usuario y todo sigue funcionando ... (aunque el sonido de la película se silencia al cambiar de usuario). ¿Cómo usted prueba?
Fabby
1
@int_ua No sé específicamente sobre Steam, pero he tenido juegos que contienen un código específico para pausar al cambiar de usuario ... No uso KDE, así que creo que no puedo ayudarte más ... ¡Lo siento!
Fabby
1
Al observar el estado de salida antes y después de cambiar a otro usuario y al encender una luz externa de HDD, se detiene toda actividad durante otra sesión activa.
int_ua
2
para rsyncqué estás usando verbosepara imprimir el progreso? ¿Has intentado sin él + has intentado enviarlo directamente a un segundo plano rsync .... &? ¿Qué tal nohup rsync .... & ? para la GUI deben suspenderse porque solo hay un recurso de salida y lo toma otra sesión de usuario y harán una pausa
:)

Respuestas:

1

También me encuentro con este problema porque cambio regularmente entre consola y terminales virtuales gráficos. Por diseño, Xorg suspende a sus clientes durante los cambios de VT, por lo que sus clientes parecen "congelarse" cuando el VT de Xorg ya no está activo. Wayland no lo hace, por lo que si los programas que necesita para seguir ejecutándose en un VT en segundo plano admiten el nuevo protocolo de visualización, use un compositor Wayland en lugar de Xorg.

Una forma de solucionar este problema es ejecutar programas gráficos en un servidor VNC local para que nunca se suspendan. Esta es la solución que uso con más frecuencia.


fuente
0

¿Qué proceso es responsable de tal comportamiento?

Display Manager (DM) es el que estás buscando. Cualquier persona: lightdm, gdm, kdm(kde edad), sddm(nueva kde), xdm...

¿Puedo reconfigurarlo de alguna manera?

AFAIK, eso debería ser así con el servidor X. Sin embargo, solía omitir ese comportamiento usando:

  • Herramientas de CLI en otra consola virtual TTY
  • Herramientas de CLI como initservicio

Con respecto a las transmisiones de audio, cuando comencé a usar GNU / Linux en 2006. Los dispositivos de audio se administraron por separado de Display. Ahora, las cosas cambiaron mucho especialmente con los nuevos dispositivos / puertos integrados como HDMI. Por lo tanto, el servidor Pulse debe tener en cuenta algunos eventos de visualización X. Como recuerdo (volveré a comprobar esto), el servidor Pulse se ejecuta como proceso de usuario.

user.dz
fuente
¿Puedes por favor probar el primer punto? ¿Cómo exactamente o dónde en el código hace esto? Hay muchas situaciones en las que CLI en TTY no es una opción y las descargas y las copias de seguridad son el verdadero problema, el audio es un problema menor.
int_ua
0

Puede iniciar una screensesión desde la CLI con bash y dentro de esta sesión puede iniciar la aplicación. Y ahora puede cerrar esta Terminal sin problemas y recuperarla usando el screen -rcomando. Es más o menos esto:

screen bash
rsync -V xxx yyy

Y puede cerrar la CLI y devolver lo que quiera y hacer:

screen -r

Para confirmar que el trabajo está hecho. No sé si esto puede funcionar con aplicaciones GUI usando un comando como:

nohup your-X-application &
manuti
fuente