-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Running phrog as a proper greeter session under greetd is a rather complex and delicate endeavour. It also differs in many subtle ways across different distros. So instead of trying to document this stuff, or provide examples, let's just distribute fully-formed prescriptive configs for each distro. For now this means Fedora and Alpine since I have the most familiarity with them (and use them on a regular basis), but I want to pull Debian in eventually, too. On Alpine, the init.d script already has support for easily specifying a separate config file, so we don't need to ship a separate init script. So all a user needs to do here is drop a cfgfile= into their /etc/conf.d/greetd. On Fedora, a distinct phrog.service unit is introduced which conflicts with greetd's default greetd.service. For now, the only difference this service has to the default is a --config arg. Later, when we support Plymouth flicker-free boot, it will also Conflict=plymouth-quit.service to take over that process (just like gdm.service does). This commit also introduces the use of gnome-session to run the phrog shell. This ensures auxiliary services like the gsd-* daemons and an OSK are present. Since gnome-session is in place, we also use that to spawn phrog itself, so a .desktop file is now shipped to handle that. Rather than shipping a phrog-session wrapper script like Phosh does, we just embed the necessary incantation into the greetd-phrog.toml, since this is quite distro-specific a distinct copy of this file is maintained in distro/<distro>. The example-config/phrog-session introduced recently is deleted in favour of this new setup. (Another reason why the phrog-session wrapper isn't desirable here is that one cannot/shouldn't run the phrog greeter independently, as it expectsto run under greetd and be supplied a GREETD_SOCK) The README is updated and cleaned up a bit to reflect this work. For now, I'm not interested in trying to explain how to get phrog working on an unsupported distro, since a properly working setup requires too many auxiliary bits (session + desktop files) and relies on too many things that differ wildly across every. frigging. distro. Instead, the README just directs interested folks to get in touch. Signed-off-by: Sam Day <me@samcday.com>
- Loading branch information
Showing
10 changed files
with
90 additions
and
70 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
[Desktop Entry] | ||
Name=Phrog | ||
Comment=Greeter shell for greetd | ||
Type=Application | ||
Exec=phrog | ||
NoDisplay=true |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
[GNOME Session] | ||
Name=phrog | ||
RequiredComponents=mobi.phosh.Phrog;org.gnome.SettingsDaemon.MediaKeys;org.gnome.SettingsDaemon.Power;sm.puri.OSK0; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
# This is a greetd config.toml preconfigured to run phrog. | ||
# You can use it by adding the following line to /etc/conf.d/greetd: | ||
# cfgfile="/etc/greetd/phrog.toml" | ||
|
||
[terminal] | ||
vt = 7 | ||
|
||
[default_session] | ||
command = "dbus-run-session phoc -C /usr/share/phrog/phoc.ini -S -E 'gnome-session --autostart=/usr/share/phrog/autostart --session=phrog'" | ||
user = "greetd" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
vt = 1 | ||
|
||
[default_session] | ||
command = "systemd-cat --identifier=phrog phoc -S -E 'gnome-session --autostart=/usr/share/phrog/autostart --session=phrog'" | ||
user = "greetd" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
[Unit] | ||
Description=Phrog greeter daemon | ||
After=systemd-user-sessions.service plymouth-quit-wait.service | ||
After=getty@tty1.service | ||
Conflicts=getty@tty1.service greetd.service gdm.service | ||
|
||
[Service] | ||
Type=simple | ||
ExecStart=greetd --config=/etc/greetd/phrog.toml | ||
IgnoreSIGPIPE=no | ||
SendSIGHUP=yes | ||
TimeoutStopSec=30s | ||
KeyringMode=shared | ||
Restart=always | ||
RestartSec=1 | ||
StartLimitBurst=5 | ||
StartLimitInterval=30 | ||
|
||
[Install] | ||
Alias=display-manager.service |
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters