1wilkens / rdm

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

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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.

License:MIT License


Languages

Language:Rust 96.5%Language:Makefile 2.3%Language:Shell 1.2%