[Risolto] chiusura sessione non funziona

Non so perché succeda, ma se penso di terminare la sessione dell’utente corrente, come se volessi sospendere l’attività o volessi lasciare il posto ad un altro utente, Gnome scompare ed al suo posto compare un grande schermo nero con le seguente righe:

[OK] Started Manage, Install and Generate Color Profiles
[OK] Started CUPS cheduler
[OK] Started Virtualization daemon
[OK] Created slice user-1000.slice
[OK] Starting User Manager for UID 1000...
[OK] Started User Manager for UID 1000.
[OK] Starting Network Manager Script Dispatcher Service...
[OK] Started Network Manager Script Dispatcher Service.
[OK] Mounting Fuse Control file System...
[OK] Mount Fuse Control file System.
[OK] Starting Daemon for power managemenet...
[OK] Started Daemon for power managemenet...
[OK] Starting Bluetoth service...
[OK] Started Bluetoth service...
[OK] Starting Hostname Service...
[OK] Started Hostname Service...
[OK] Starting Disk Manager
[OK] Started Disk Manager
[OK] Starting Locale Service
[OK] Started Locale Service

Non capisco se siano state scritte dopo il comando di fine sessione o prima ancora che, fosse partito Gnome, dopo l’avvio del SO.
La schermata ora visibile però non è attiva e qualsiasi azione svolta da tastiera o da mouse è inefficace. L’unica manovra possibile e lo sprgnimento fisico forzato del pc, attraverso la pressione continuata del tasto Power della torretta. Poi posso fare ripartire F22; nel frattempo ho perso solo tempo.
Succede solo a me?

Probabilmente il Display Manager (credo GDM) non è attivo.
Pigia in contenporanea ctrl+alt+f2 e dovresti entrare in console.
Loggati come root+password e dai questo comando:

#systemctl status gdm Riporta l’output qui.
Ciao
Sergio

Eseguito il comando:

# systemctl status gdm
gdm.service - GNOME Display Manager
   Loaded: loaded (/usr/lib/systemd/system/gdm.service; enabled; vendor preset: enabled)
   Active: active (running) since sab 2015-06-20 09:06:23 CEST; 14min ago
 Main PID: 811 (gdm)
   CGroup: /system.slice/gdm.service
           └─811 /usr/sbin/gdm

giu 20 09:06:22 localhost.localdomain systemd[1]: Starting GNOME Display Manager...
giu 20 09:06:23 localhost.localdomain systemd[1]: Started GNOME Display Manager.

A me sembra attivo, però la successiva pressione dei tasti ctrl+alt+F1 ripristina la schermata nera di provenienza e non è più possibile tornare a Gnome.

E se, dopo aver premuto CTRL+ALT+F2, digiti

$ startx?
(non è una soluzione, ma almeno, se funziona, non devi riavviare)

N.B. Non credo di essere in grado di proporti soluzioni, ma forse potrebbe essere utile sapere:

  1. Al primo avvio il login funziona, o il sistema è impostato per far partire automaticamente il tuo utente?
  2. Usi driver proprietari per la scheda video?
  3. Usi wayland? Tempo fa ho provato la sessione Gnome con wayland su un portatile, e l’effetto era esattamente lo stesso.

Per il problema 3, puoi controllare da ambiente grafico con

$ echo $DESKTOP_SESSION

Dunque, facendo una prova mi sono accorto di avere lo stesso identico problema. Il login primo login non va (“Oh, no! Something has gone wrong”).
Solo se attivo l’accesso automatico del mio utente (senza login) riesco ad accedere normalmente alla grafica, ma al logout mi torna alla schermata testuale.

[code]$ systemctl status gdm
● gdm.service - GNOME Display Manager
Loaded: loaded (/usr/lib/systemd/system/gdm.service; enabled; vendor preset: enabled)
Active: active (running) since sab 2015-06-20 14:40:50 CEST; 4min 37s ago
Main PID: 1383 (gdm)
CGroup: /system.slice/gdm.service
└─1383 /usr/sbin/gdm

Warning: Journal has been rotated since unit was started. Log output is incomplete or unavailable.[/code]

$ lspci -nnk | grep -iA3 "vga" 01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GT215 [GeForce GT 240] [10de:0ca3] (rev a2) Subsystem: CardExpert Technology Device [10b0:0401] Kernel driver in use: nvidia Kernel modules: nouveau, nvidia

2.0.8-9.fc22.x86_64 nvidia-texture-tools-devel-2.0.8-9.fc22.x86_64 kmod-nvidia-340xx-4.0.4-303.fc22.x86_64-340.76-2.fc22.12.x86_64 xorg-x11-drv-nvidia-340xx-kmodsrc-340.76-1.fc22.x86_64 kmod-nvidia-340xx-4.0.4-301.fc22.x86_64-340.76-2.fc22.12.x86_64 xorg-x11-drv-nvidia-340xx-devel-340.76-1.fc22.x86_64 kmod-nvidia-340xx-3.19.7-200.fc21.x86_64-340.76-2.fc21.9.x86_64 xorg-x11-drv-nvidia-340xx-cuda-340.76-1.fc22.x86_64 xorg-x11-drv-nvidia-340xx-libs-340.76-1.fc22.x86_64 xorg-x11-drv-nvidia-340xx-340.76-1.fc22.x86_64 akmod-nvidia-340xx-340.76-2.fc22.12.x86_64

Stesso problema sul portatile, aggiornato con fedup da Fedora 21 come l’altro:

$ lspci -nnk | grep -iA3 "vga" 00:02.0 VGA compatible controller [0300]: Intel Corporation Mobile 4 Series Chipset Integrated Graphics Controller [8086:2a42] (rev 07) Subsystem: Acer Incorporated [ALI] Device [1025:013c] Kernel driver in use: i915 Kernel modules: i915

A questo punto, mi puzza di bug… ma siamo gli unici 2 (per un totale di 3 computer) a riscontrare il problema?

mentre tu provavi per conto tuo ho provato anch’io con le indicazioni che mi hai dato prima:

Ho impostato sin dall’installazione l’avvio automatico, perciò non ho bisogna di fare il login.

No, mai usati driver proprietari:

lspci -nnk | grep -iA3 "vga"
01:05.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] RS780 [Radeon HD 3200] [1002:9610]
	Subsystem: Acer Incorporated [ALI] Device [1025:014e]
	Kernel driver in use: radeon
	Kernel modules: radeon

No, non uso wayland

echo $DESKTOP_SESSION gnome

Aggiungo inoltre che dopo ctrl+alt+F2 e successivo login con root, scrivendo sulla console

# startx

si apre un ambiente grafico che però non è più quello dell’tente ordinario, ma quello di root e non ho la possibilità di rientrare quindi col mio profilo.

Debbo pensare a questo punto che bisognerà aspettare la soluzione del problema, magari al prossimo rilascio di fedora?

Quando sei in console con ctrl+alt+f2 devi lanciare “startx” dopo esserti loggato come utente normale+password

[quote]ovvero[/quote]quando hai il prompt “$” (dell’utente normale) allora scrivi startx e poi dai ctrl+alt+f1 per vedere se è partito il server grafico.
Se non funzionasse quanto sopra, puoi aggirare il problema installando, come utente “root” quindi con il prompt “#”, un altro Display Manager come “lightdm” con il comando:

# dnf install lightdm
Poi devi dare i comandi:

#systemctl stop gdm #systemctl disable gdm #systemctl enable lightdm #systemctl start lightdm
in modo che escludi gdm ed abiliti il nuovo Dispaly Manager.
Dai poi un reboot e vedi come si comporta.
Ciao
Sergio

Quoto al 1000%. Mai fare login grafico come root.

[quote=idraulico]ovvero quando hai il prompt “$” (dell’utente normale) allora scrivi startx e poi dai ctrl+alt+f1 per vedere se è partito il server grafico.
[/quote]
No, scrivi startx e aspetti che parta la sessione grafica, che parte in tty2, visto che ormai tty1 è “bruciato” fino al riavvio.
Edit: in realtà, ho scoperto che se l’accesso automatico è abilitato, digitando in tty2

# systemctl restart gdm

riparte in tty1 la sessione grafica dell’utente con accesso automatico (come se avesse rifatto il login).

N.B. 1 Sembra che wayland venga usato da gdm per default in Fedora 22. Ma non sono sicuro che sia quello il problema.
N.B. 2 Il mio terzo computer, che però ha ancora Fedora 21, fa regolarmente login e logout, anche da Gnome con sessione wayland.
N.B. 3 Ho provato a disabilitare wayland aggiungendo in /etc/gdm/custom.conf la riga

WaylandEnable=False

Ma non sembra cambiato nulla.
N.B. 4 Uno dei 2 computer che non fa logout correttamente ha una scheda video intel con i driver integrati, quindi tenderei ad escludere un problema di driver proprietari (ma non ci metto la mano sul fuoco).

[quote=idraulico]
Se non funzionasse quanto sopra, puoi aggirare il problema installando, come utente “root” quindi con il prompt “#”, un altro Display Manager come “lightdm” con il comando:

# dnf install lightdm
Poi devi dare i comandi:

#systemctl stop gdm #systemctl disable gdm #systemctl enable lightdm #systemctl start lightdm
in modo che escludi gdm ed abiliti il nuovo Dispaly Manager.
Dai poi un reboot e vedi come si comporta.
Ciao
Sergio[/quote]
Ho notato che lightdm non permette la scelta del DE (o mi sono perso io qualcosa?): provato, fatto il login, e mi sono ritrovato dentro Cinnamon (che non uso da un po’).
Meglio kdm, che permette di scegliere DE (la sintassi è la stessa, basta sostituire “lightdm” con “kdm”.
Ovviamente, se è installato un solo DE (per es. solo Gnome), non dovrebbe cambiare nulla.

Edit: come non detto: la scelta del DE con lightdm è possibile, e la lista è in alto a destra. Mi ero perso qualcosa io.

N.B. Sarebbe meglio prima avviare il nuovo servizio, e poi fermare gdm, altrimenti nel momento in cui lo fermi ti sbatte fuori; oppure, limitarsi a

#systemctl disable gdm #systemctl enable lightdm
e riavviare.

N.B. Forse si potrebbe cambiare il titolo in “gdm non funziona”, o qualcosa del genere, visto che il problema sembra proprio gdm…

Alla fine ho risolto utilizzando il suggerimento di Idraulico di cambiare il Display Manager (ma ho utilizzato kdm).
Per abilitare l’accesso automatico senza login bisogna modificare il file /etc/kde/kdm/kdmrc.
Per prima cosa, è bene farne una copia di backup:

# cp /etc/kde/kdm/kdmrc{,.bak}

Se qualcosa, alla fine della procedura, va storto, possiamo ripristinare la versione originale:

# cp /etc/kde/kdm/kdmrc{.bak,}

Poi modifichiamo le seguenti righe (verso la fine del file; nel mio caso siamo oltre la riga 550 su quasi 600):

#AutoLoginEnable=true

deve diventare

AutoLoginEnable=true

(praticamente, decommentiamo la riga)

#AutoLoginUser=fred

deve diventare

AutoLoginUser=marco

(al posto di “marco” mettete il vostro nome utente).

Già che c’ero, ho fatto altre 2 modifiche non correlate con l’accesso senza login (qui siamo più o meno a metà del file):

AllowRootLogin=true

l’ho fatto diventare

AllowRootLogin=false

(permettere l’accesso in sessione grafica a root non è mai una bella cosa).

AllowShutdown=Root

l’ho fatto diventare

AllowShutdown=All

(mi rompe un po’ le scatole dover digitare la password di root per spegnere).

Edit: ho scoperto che dopo la riga “AllowShutdown=Root” era già presente un’altra riga “AllowShutdown=All”. Mi sfugge il senso di tutto ciò, e quindi non so bene se il punto 4 produca i cambiamenti che pensavo.

A questo punto, dopo aver salvato le modifiche al file /etc/kde/kdm/kdmrc, ho disabilitato gdm e abilitato kdm:

[code]# systemctl disable gdm

systemctl enable kdm[/code]

(esattamente in quest’ordine; finchè gdm è abilitato la richiesta di abilitare kdm va in errore).

Infine ho riavviato. Funziona a dovere, a parte due dettagli:

  1. ho “perso” in Gnome il pulsante per bloccare la sessione (quello che ti mandava nella schermata dove veniva chiesta la password utente per rientrare in Gnome);
  2. mi dispiace comunque di non aver capito perché gdm non funzionasse (ma agli altri va?).

Perfetto. Grazie tantissime!