GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cambiar a una segunda sesión X mata a la primera?

Me estoy encontrando con un problema extraño aquí. Tengo una caja de Linux con la siguiente configuración (resumida):

  • Dell Inspiron i5
  • NVIDIA GP108M
  • "Prueba" de GNU/Linux Debian
  • xorg-servidor 2:1.20.0-3

Según mi Xorg.0.log , el controlador que estoy ejecutando es "nouveau":

[ 30442.522] (II) LoadModule: "nouveau"  
<SNIP>
[ 30442.777] (--) NOUVEAU(G0): Chipset: "NVIDIA NV138"

Mi saludador es LightDM y mi DM es Xfce. Intento iniciar una segunda sesión con user2 con el siguiente procedimiento:

  1. Cambie a VT-1 (Ctrl +Alt +F1 )
  2. Iniciar sesión con user2
  3. Ejecutar startx -- :1

No hay saludador. user2 La sesión de Xfce se está ejecutando. Puedo verificar que ambas sesiones se están ejecutando con htop .

Sin embargo, cuando vuelvo a cambiar a VT-7 (Ctrl +Alt +F7 ) Veo que user1 La sesión de ha sido cancelada. VT-7 está de vuelta con el saludador.

Información de los registros

Cada vez que cambio entre VT, hay un seguimiento de la pila en syslog . Sin embargo, esto no significa que ninguna sesión X haya sido cancelada todavía.

Por ejemplo, comienzo mi sesión de Xfce con user1 en VT-7. Luego cambio a VT-1 y vuelvo a VT-7. El siguiente error (resumido) aparece dos veces en syslog :

kernel: ------------[ cut here ]------------
kernel: nouveau 0000:01:00.0: timeout
kernel: WARNING: CPU: 0 PID: 1783 at /build/linux-0buYvw/linux-4.17.8/drivers/gpu/drm/nouveau/nvkm/subdev/pmu/base.c:86 nvkm_pmu_reset+0x14c/0x160 [nouveau]
---[ cut 4 lines ]---
kernel: Hardware name: Dell Inc. Inspiron 7472/0WFX2M, BIOS 1.1.3 01/25/2018
kernel: RIP: 0010:nvkm_pmu_reset+0x14c/0x160 [nouveau]
---[ cut 9 lines ]---
kernel: Call Trace:
kernel:  nvkm_pmu_init+0x16/0x40 [nouveau]
kernel:  nvkm_subdev_init+0xb2/0x1f0 [nouveau]
kernel:  nvkm_device_init+0x132/0x270 [nouveau]
kernel:  nvkm_udevice_init+0x41/0x60 [nouveau]
kernel:  nvkm_object_init+0x3d/0x180 [nouveau]
kernel:  nvkm_object_init+0xa0/0x180 [nouveau]
kernel:  nvkm_object_init+0xa0/0x180 [nouveau]
kernel:  ? pci_restore_standard_config+0x40/0x40
kernel:  nouveau_do_resume+0x28/0x140 [nouveau]
kernel:  nouveau_pmops_runtime_resume+0x88/0x150 [nouveau]
kernel:  pci_pm_runtime_resume+0x78/0xb0
kernel:  __rpm_callback+0xc7/0x200
kernel:  ? pci_restore_standard_config+0x40/0x40
kernel:  rpm_callback+0x1f/0x70
kernel:  ? pci_restore_standard_config+0x40/0x40
kernel:  rpm_resume+0x4c4/0x790
kernel:  ? do_wp_page+0x154/0x500
kernel:  __pm_runtime_resume+0x47/0x70
kernel:  nouveau_drm_ioctl+0x35/0xc0 [nouveau]
kernel:  do_vfs_ioctl+0xa4/0x630
kernel:  ? handle_mm_fault+0xdc/0x210
kernel:  ksys_ioctl+0x70/0x80
kernel:  __x64_sys_ioctl+0x16/0x20
kernel:  do_syscall_64+0x55/0x110
kernel:  entry_SYSCALL_64_after_hwframe+0x44/0xa9
----[ cut 8 lines ]--- 
kernel: ---[ end trace 81b347516b37c927 ]---

Ahora cambio a VT-1, inicio sesión con user2 y ejecuta startx -- :0 . Aún así, aún no se ha eliminado ninguna sesión, y puedo confirmarlo con htop .

Pero , si ahora cambio de una sesión X en VT-1 a otra sesión X en VT-7, esto aparece en syslog

pulseaudio[3372]: XIO:  fatal IO error 11 (Resource temporarily unavailable) on X server ":0.0"
pulseaudio[3372]:       after 17 requests (17 known processed) with 0 events remaining.
xfce4-notifyd[3565]: xfce4-notifyd: Fatal IO error 11 (Resource temporarily unavailable) on X server :0. 
at-spi-bus-launcher[1368]: XIO:  fatal IO error 11 (Resource temporarily unavailable) on X server ":0"
at-spi-bus-launcher[1368]:       after 443 requests (443 known processed) with 0 events remaining.
systemd[1308]: xfce4-notifyd.service: Main process exited, code=exited, status=1/FAILURE
systemd[1308]: xfce4-notifyd.service: Failed with result 'exit-code'.
systemd[1308]: pulseaudio.service: Main process exited, code=exited, status=1/FAILURE
systemd[1308]: pulseaudio.service: Failed with result 'exit-code'.
systemd[1308]: pulseaudio.service: Service RestartSec=100ms expired, scheduling restart.
systemd[1308]: pulseaudio.service: Scheduled restart job, restart counter is at 3.
systemd[1308]: Stopped Sound Service.
systemd[1308]: Starting Sound Service...
rtkit-daemon[1552]: Successfully made thread 3898 of process 3898 (n/a) owned by '1000' high priority at nice level -11.
rtkit-daemon[1552]: Supervising 4 threads of 2 processes of 2 users.
pulseaudio[3898]: W: [pulseaudio] pid.c: Stale PID file, overwriting.
avahi-daemon[644]: Withdrawing address record for ---[ IPv6 redacted ]--- on enp2s0.
lightdm[3907]: Error getting user list from org.freedesktop.Accounts: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.Accounts was not provided by any .service files

VT-7 está de vuelta al saludador. El servidor X se reinició (?).

Relacionado:Conmutación de CC con MOSFET:p-Channel o n-Channel; ¿Carga lateral baja o carga lateral alta?

Con respecto a Xorg.0.log , las siguientes líneas se agregan cuando cambio de VT-1 a VT-7 y la sesión se cierra.

[ 15945.806] (II) event7  - Power Button: device removed
[ 15945.832] (II) event10 - Video Bus: device removed
[ 15945.848] (II) event11 - Video Bus: device removed
[ 15945.877] (II) event5  - Power Button: device removed
[ 15945.908] (II) event6  - Sleep Button: device removed
[ 15945.933] (II) event1  - Microsoft Wired Keyboard 600: device removed
[ 15945.953] (II) event20 - PixArt Microsoft USB Optical Mouse: device removed
[ 15945.972] (II) event12 - Integrated Webcam: Integrated W: device removed
[ 15945.988] (II) event8  - DELL0828:00 06CB:7E7E Touchpad: device removed
[ 15946.021] (II) event3  - Intel HID events: device removed
[ 15946.044] (II) event9  - Dell WMI hotkeys: device removed
[ 15946.068] (II) event0  - AT Translated Set 2 keyboard: device removed
[ 15946.084] (II) event21 - PS/2 Generic Mouse: device removed
[ 15946.101] (II) event2  - Microsoft Wired Keyboard 600: device removed
[ 15946.116] (II) AIGLX: Suspending AIGLX clients for VT switch
[ 15946.117] (II) NOUVEAU(G0): NVLeaveVT is called.

Respuesta aceptada:

Tiene un fallo del kernel en el nouveau módulo, que estropeará el módulo DRM, que a su vez estropeará un servidor X que se conecta a ese módulo cuando llega al mal estado.

Actualice al kernel más nuevo y coincida con nouveau módulo posible. Si sigue teniendo el mismo bloqueo, presente un informe de errores con el nouveau desarrolladores Asegúrate de incluir el dmesg completo y Xorg.*.log .


Linux
  1. El kernel de Linux:las 5 principales innovaciones

  2. El ciclo de vida de las pruebas del kernel de Linux

  3. El primero en transmitir completamente en Linux

  4. Conmutación de entornos en el terminal de todo el sistema ¿Llamado?

  5. Linux:¿por qué el kernel no puede ejecutar Init?

Cómo el kernel de Linux maneja las interrupciones

Cómo verificar la versión del kernel en Linux

¿Cómo se interpreta el comodín * como un comando?

¿Cómo verificar HZ en la terminal?

¿Cómo cambio la primera y la segunda transmisión de audio en un MKV en un sistema basado en Linux?

¿Cuál es la definición de una sesión en Linux?