"Switch Session" control missing in GDM and SDDM

The desktop session managers are missing the Session control that allows you to switch desktop environments at user logon.
I’ve switched between GDM and SDDM and can’t switch DE’s.

Install base is Fedora 29 KDE spin.
I ran dnf groupinstall "Cinnamon Desktop" successfully.
Switchdesk and switchdesk gui do not list Cinnamon as an option either.
However, I ran dnf groupinstall "Fedora Workstation" and can use switchdesk to go to default gnome3.

Yet, the gear or drop-down control on the display managers do not exist like they do in documentation and screenshots.

I’d like to have that control show up on the display manager at login.
I’d also like to be able to switch DE’s to Cinnamon to try it out… without having to reinstall the OS.



1 Like

On a fresh install of Fedora 29 KDE spin, I installed Cinnamon Desktop ( dnf groupinstall "Cinnamon Desktop"), and a can see it.


I then installed and enabled GDM, and Cinnamon is there as well.


How to I make Cinnamon the default DE?
I have auto-login enabled… maybe I need to disable that?

I can:

  1. Logout
  2. Choose Cinnamon
  3. Login
  4. But Reboot, but it’s auto back into KDE

I tried these steps, no luck:
$HOME/.dmrc file (doesn’t exist)
/var/lib/AccountsService/users/matt – set Xsession=cinnamon

I’ll try disabling the auto-login tonight and see whether that allows me to default to Cinnamon.

I figured it out; here’s the info if anyone goes looking.

The SDDM display manager has its own preferences file.
It is under /etc/sddm.conf

The second line I changed from plasma.desktop to cinnamon.desktop
The third line contains my username whenever I select auto login under the system settings app.
I am now auto-logging into desktop, into the Cinnamon DE.


I knew that cinnamon.desktop was a valid choice after checking this directory:

$ ls /usr/share/xsessions
cinnamon2d.desktop gnome-classic.desktop gnome-xorg.desktop plasma.desktop
cinnamon.desktop gnome.desktop openbox.desktop

Why did I look under SDDM? Because I validated it was the running display manager by confirming service status:

$ systemctl status sddm
● sddm.service - Simple Desktop Display Manager
Loaded: loaded (/usr/lib/systemd/system/sddm.service; enabled; vendor preset>
Active: active (running)

1 Like