Skip to content

Instantly share code, notes, and snippets.

@Wincohax
Last active October 26, 2025 18:07
Show Gist options
  • Save Wincohax/13cf5efa4a771521ec958541f028ca65 to your computer and use it in GitHub Desktop.
Save Wincohax/13cf5efa4a771521ec958541f028ca65 to your computer and use it in GitHub Desktop.
How to Setup cosmic-greeter as Display Manager

Why?

While I was trying to setup my cosmic session I wanted to use Cosmic Greeter as my Display manager because I wanted to test it out and give my own feedback/report any bugs I could find.

However I didn't find any guide on how to do it plus there's little to no clue on how to set it up and it took me 2 days to figure it out.

That's why I write this quick guide.

How does Cosmic Greeter work? (ig)

Cosmic greeter by itself doesn't work it needs a Compositor (in this case Cosmic-Comp (obviously)) to actually run.

That's why we have to use Greetd to make it work it is actually pretty simple.

(Btw you should already know that this is pretty much alpha software so everything can be subject to change).

Actual Guide

(By following this guide I'm assuming you already installed cosmic with its deps and using systemd cuz ye)

Step 1: Setup greetd

Greetd config file should be by default at

/etc/greetd/config.toml

in the config file we need to have 2 things into account.

command = "whateveruhavebydefault"

and

user = "whateveruhavebydefault"

in command we are going to make Cosmic-comp to run Cosmic-greeter like this (path may be relative):

command = "cosmic-comp /bin/cosmic-greeter"

and in user we need to put a user that is AT LEAST in the video group (For example: By default on Arch whenever u install cosmic it creates a user called "cosmic-greeter")

You can check real quick if you have it by just typing

cat /etc/passwd

so in this case we will put cosmic-greeter as the user.

user = "cosmic-greeter"

After that you can save the file and enable greetd.

Step 2: Enable greetd

First disable any Display manager you have (For Example sddm)

systemctl disable sddm.service

Then enable greetd

systemctl enable greetd.service

Reboot and you should have Cosmic-greeter good to go.

Thanks to:

System76: for building the future of the Linux desktop.

Me: for being in pain

(Written on August 7th 2024 || Last edited on April 15th 2025)

@codegod100
Copy link

This worked for me! Thank you! 🙏

@johny-numbers
Copy link

This worked for me on Fedora 40 with cosmic alpha 2 (from ryanabx). Only difference from these instructions was that my active dm was gdm.

@Wincohax
Copy link
Author

I fixed a random ahhh typo if somebody asks.

@brendanrankin
Copy link

This method still works, but...

I instead enabled the cosmic-greeter and cosmic-greeter-daemon systemd services and it seems to work okay. For now, it looks like there's still a dependency on greetd, but conceivably that could go away at some point in the fairly near future.

My only remaining issue is to get "idle" to behave properly with screen blanking, etc. That's consistently inconsistent for me right now.

@daedaevibin
Copy link

Does not work for me.

it just does not let me login and loops.

@mmstick
Copy link

mmstick commented Jun 26, 2025

The cosmic-greeter.toml greetd config is in the git repository, and should have been included in your distribution's cosmic-greeter package.

@daedaevibin
Copy link

The cosmic-greeter.toml greetd config is in the git repository, and should have been included in your distribution's cosmic-greeter package.

I wasn't made aware of that, nor is it copies over by default.

@biscript
Copy link

biscript commented Oct 4, 2025

I followed this guide in OpenSUSE SlowRoll and it worked for me. Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment