From 3a74062d2c137b78fa45ac61e1ffe07237060ff5 Mon Sep 17 00:00:00 2001 From: QwertyChouskie Date: Thu, 27 Apr 2023 20:43:11 -0700 Subject: Add information about display setup scripts to README.md Also adds badges and misc. fixes/improvements. Closes https://github.com/canonical/lightdm/issues/293 --- README.md | 46 +++++++++++++++++++++++++++++++++++----------- 1 file changed, 35 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index b75f1228..f46165a0 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,9 @@ -LightDM is a cross-desktop display manager. A display manager is a daemon that: +# LightDM Display Manager +[![Test status](https://github.com/canonical/lightdm/actions/workflows/test.yaml/badge.svg)](https://github.com/canonical/lightdm/actions/workflows/test.yaml) +[![Discourse topics](https://img.shields.io/discourse/topics?server=https%3A%2F%2Fdiscourse.ubuntu.com%2F)](https://discourse.ubuntu.com/c/light-dm/107) +[![LightDM questions on AskUbuntu](https://img.shields.io/stackexchange/askubuntu/t/lightdm?color=brightgreen)](https://askubuntu.com/questions/tagged/lightdm) + +LightDM is a lightweight, cross-desktop display manager. A display manager is a daemon that: - Runs display servers (e.g. X) where necessary. - Runs greeters to allow users to pick which user account and session type to use. - Allows greeters to perform authentication using PAM. @@ -6,25 +11,24 @@ LightDM is a cross-desktop display manager. A display manager is a daemon that: - Provides remote graphical login options. Key features of LightDM are: -- Cross-desktop - supports different desktop technologies. -- Supports different display technologies (X, Mir, Wayland ...). -- Lightweight - low memory usage and fast performance. -- Guest sessions. -- Supports remote login (incoming - XDMCP, VNC, outgoing - XDMCP, pluggable). -- Comprehensive test suite. +- Cross-desktop - supports different desktop technologies (X, Wayland, Mir, etc) +- Lightweight - low memory usage and fast performance +- Supports remote login (incoming: XDMCP and VNC; outgoing: XDMCP and pluggable) +- Supports guest sessions +- Has a comprehensive test suite -The core LightDM project does not provide any greeter with it and you should install a greeter appropriate to your system. Popular greeter projects are: +The core LightDM project does not provide any greeter with it; you should install a greeter appropriate to your system. Popular greeter projects are: * [LightDM GTK+ Greeter](https://github.com/Xubuntu/lightdm-gtk-greeter) - a greeter that has moderate requirements (GTK+). * [LightDM KDE](http://projects.kde.org/lightdm) - greeter used in [KDE](http://kde.org) (Qt) - * [LXqt Greeter](https://github.com/lxde/lxqt-lightdm-greeter) - greeter used in [LXqt](http://lxqt.org/) (Qt) + * [LXQt Greeter](https://github.com/lxde/lxqt-lightdm-greeter) - greeter used in [LXQt](http://lxqt.org/) (Qt) * [Pantheon Greeter](https://github.com/elementary/greeter) - greeter used in [elementary OS](https://elementary.io/) (GTK+/Clutter). * [Unity Greeter](https://launchpad.net/unity-greeter) - greeter used in [Unity](https://launchpad.net/unity). * [WebKit2 Greeter](https://github.com/antergos/lightdm-webkit2-greeter) - greeter that can be themed using HTML/CSS/Javascript * Run with no greeter (automatic login only) * [Write your own...](https://www.freedesktop.org/wiki/Software/LightDM/Development/) -# Configuration +## Configuration LightDM configuration is provided by the following files: @@ -45,7 +49,27 @@ user-session=mysession Configuration is in keyfile format. For most installations you will want to change the keys in the `[Seat:*]` section as this applies to all seats on the system (normally just one). A configuration file showing all the possible keys is provided in [`data/lightdm.conf`](https://github.com/canonical/lightdm/blob/main/data/lightdm.conf). -# Questions +### Display Setup Script + +LightDM can be configured to run an external shell script to setup displays. + +If an display setup script is used, it must be: + - Located under `/usr/share` + - Owned by the user `lightdm` and group `lightdm` + - It cannot print or log to any destination not accessible to LightDM + +To test a configuration: + - Install `xserver-xephyr`: `sudo apt install xserver-xephyr` + - Run the test as user lightdm: `sudo -u lightdm lightdm --test-mode --debug` + +Put the shell script reference in the LightDM configuration: + +``` +[Seat:*] +display-setup-script=/usr/share/example_display_setup_script.sh +``` + +## Questions Discussion about LightDM should be done on the [forum](https://discourse.ubuntu.com/c/light-dm/107). All questions are welcome. -- cgit v1.2.1