Improve support for systemd-homed - #456
Conversation
|
updated to use the Dbus API |
| #TODO: reduce features | ||
| tokio = { workspace = true, features = ["full"] } | ||
| xdg = "3.0" | ||
| zbus_systemd = { version = "0.26000.0", features = ["home1"] } |
There was a problem hiding this comment.
This should be optional, and cosmic-greeter should compile and run without that option enabled.
There was a problem hiding this comment.
I agree I maintain Slackware packages.
| Self { | ||
|
|
||
| let connection = Connection::system().await?; | ||
| let homed = ManagerProxy::new(&connection).await?; |
There was a problem hiding this comment.
Will this cause cosmic-greeter to fail if home manager is not available?
jackpot51
left a comment
There was a problem hiding this comment.
Before approving it must be demonstrated that cosmic-greeter with this change can still run without systemd.
|
Moved dependency to 'systemd' feature and properly handled errors. Tested the daemon with and without the 'systemd' feature, both compile and work as expected. I left the systemd-homed cache paths for icons and backgrounds without feature-gating, please let me know if it would be better to feature-gate even if no dependencies are added. |
|
Additional testing: I have installed the new daemon on my system and verified that systemd-homed users appear on the greeter screen. Also tested the daemon without the 'systemd' feature, which works as before, without showing the homed users. OS: Fedora COSMIC Atomic 44.20260519 |
|
Thanks, that looks good to me. Just to make sure, I have asked for someone maintaining cosmic-greeter on a non-systemd distribution to test this. |
I compiled this on Slackware Current with rust-1.95. My Cosmic setup is up to date with version 1.0.13 |
Oh, my bad, I did not realize that the greeter directly links with the daemon library (I was directly compiling the daemon, not the whole workspace). I will push a fix shortly. |
|
Hey @nater1983 could you check again with my latest commit? :) |
Work's perfectly. Thank you so much. |
c6a7381 to
d1808c2
Compare
d1808c2 to
6ba49b3
Compare
This is somewhat crude but it seems to work. I have tested by running the get_user_data() method as root, but not by installing the modified greeter. Is there any predefined environment / guide for this kind of testing?