Estou tendo um problema estranho aqui. Eu tenho uma caixa Linux com a seguinte configuração (resumida):
- Dell Inspiron i5
- NVIDIA GP108M
- GNU/Linux Debian "testando"
- xorg-server 2:1.20.0-3
De acordo com meu Xorg.0.log
, o driver que estou executando é "nouveau":
[ 30442.522] (II) LoadModule: "nouveau"
<SNIP>
[ 30442.777] (--) NOUVEAU(G0): Chipset: "NVIDIA NV138"
Meu saudador é LightDM e meu DM é Xfce. Eu tento iniciar uma segunda sessão user2
com o seguinte procedimento:
- Mudar para VT-1 ( Ctrl+ Alt+ F1)
- Entrar com
user2
- Corre
startx -- :1
Não há recepcionista. user2
A sessão do Xfce está em execução. Posso verificar se ambas as sessões estão sendo executadas com o htop
.
No entanto, quando volto para o VT-7 ( Ctrl+ Alt+ F7) vejo que user1
a sessão foi encerrada. O VT-7 está de volta ao recepcionista.
Informações dos logs
Sempre que alterno entre VTs, há um rastreamento de pilha no syslog
. No entanto, isso não significa que nenhuma sessão do X foi encerrada ainda.
Por exemplo, eu começo minha sessão do Xfce user1
no VT-7. Então eu mudo para VT-1 e volto para VT-7. O seguinte erro (resumido) aparece duas vezes em 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 ]---
Agora mudo para o VT-1, faço login user2
e executo startx -- :0
. Ainda assim, nenhuma sessão foi encerrada ainda, e posso confirmar isso com htop
.
Mas , se eu agora mudar de uma sessão X no VT-1 para outra sessão X no VT-7, isso aparece emsyslog
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
O VT-7 está de volta ao recepcionista. O servidor X foi reiniciado (?).
Em relação Xorg.0.log
a , as seguintes linhas são anexadas quando eu mudo de VT-1 para VT-7 e a sessão é encerrada.
[ 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.
Você tem uma falha do kernel no
nouveau
módulo, o que estraga o módulo DRM, que por sua vez estraga um servidor X conectado a esse módulo quando atinge o estado ruim.Atualize para o kernel mais novo e o
nouveau
módulo correspondente possível. Se você ainda tiver a mesma falha, registre um relatório de bug com osnouveau
desenvolvedores. Certifique-se de incluir o completodmesg
eXorg.*.log
.O problema está no fato de que LightDM não suporta múltiplas sessões iniciadas por
startx
.Startx
é uma maneira antiga de executar várias sessões, mas não precisa ser suportada por alguns sistemas modernos. Existe uma maneira suportada de registrar outro usuário em outro VT com LightDM: o usuário só precisa abrir uma janela de terminal e executar o seguinte comando:Após este comando a Xsession anterior no VT-7 é bloqueada e uma nova Xsession é aberta no VT-8 para que outro usuário possa efetuar login. comutação não bloqueia a Xsession anterior). Informações sobre todos os assentos em execução fornecem este comando:
Se houver necessidade de executar outro Xserver (além do que já está em execução), você pode tentar seguir a resposta completa https://askubuntu.com/a/519164/981550 (da pergunta https://askubuntu.com/questions/518454 /what-does-startx-command-do ) que propõe usar
Xnest
(um servidor gráfico dentro de um servidor).Eu tenho o mesmo comportamento com o Debian buster em um Raspberry Pi, então não nouveau.
Quando uso startx em tty1-6, a sessão iniciada por lightdm em tty7 é encerrada e retorna ao saudador. No entanto, posso iniciar várias sessões manualmente com startx e alternar entre elas sem problemas.
(Desculpe, isso não é realmente uma resposta, mas talvez conte como uma solução alternativa)