Skip to content
/ rdm Public

A toy display manager written in Rust. Inspired by Slim it aims to provide a simple and elegant login screen.

License

Notifications You must be signed in to change notification settings

1wilkens/rdm

Repository files navigation

rdm Build Status

A display manager written in Rust. Inspired by Slim it aims to provide a simple and elegant login screen.

THIS IS A WIP AND HAS MAJOR ISSUES RELATED TO SECURITY!! USE AT YOUR OWN RISK!

Current Problems/Questions

  • X authorization
    • xauth cookie is generated but
      • not copied to ~/.Xauthority
      • XAUTHORITY environment variable is not set
    • -> Investigate "best practices" and fix!
  • Session setup / PAM usage
    • Session setup works(tm) but I am still not sure whether all "best practices" are followed
      • -> Review and validate pam-sys/pam-auth crates
    • reboot/poweroff etc. fail with Failed to power off system via logind: Interactive authentication required.
      • -> Investigate whether this has something to do with systemd
  • systemd-logind support
    • Investigate what this actually means
      • Do we need to link against libsystemd.so and call APIs from there?
    • Implement or mark it as done
  • dbus support
    • Is this required (maybe for systemd integration)?
    • If so what methods do we need to support?
    • (multi-)seat-API
  • Architecture
    • Stay with simple client or use server-client to encapsulate login process
    • Likely related to multiseat support
    • Split into more crates (likely not justified)

Goals

  • Support common standards
    • Linux PAM (in review)
    • systemd-logind (?)
    • dbus (?)
  • Basic theming support

About

A toy display manager written in Rust. Inspired by Slim it aims to provide a simple and elegant login screen.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published