Difference between revisions of "LightDM"
Vishal8492 (talk | contribs) (→Greeter) |
(add info about power menu/polkit bug) |
||
(35 intermediate revisions by 19 users not shown) | |||
Line 1: | Line 1: | ||
[[Category:Display managers]] | [[Category:Display managers]] | ||
[[es:LightDM]] | [[es:LightDM]] | ||
+ | [[fr:LightDM]] | ||
{{Article summary start}} | {{Article summary start}} | ||
{{Article summary text|Provides an overview and setup of the Light Display Manager.}} | {{Article summary text|Provides an overview and setup of the Light Display Manager.}} | ||
{{Article summary heading|Related}} | {{Article summary heading|Related}} | ||
{{Article summary wiki|Display Manager}} | {{Article summary wiki|Display Manager}} | ||
+ | {{Article summary wiki|GDM}} | ||
+ | {{Article summary wiki|KDM}} | ||
+ | {{Article summary wiki|SLiM}} | ||
{{Article summary end}} | {{Article summary end}} | ||
− | [http://www.freedesktop.org/wiki/Software/LightDM | + | [http://www.freedesktop.org/wiki/Software/LightDM LightDM] is a cross-desktop display manager that aims to be the standard display manager for the X server. Its key features are: |
+ | * A lightweight codebase | ||
+ | * Standards compliant (PAM, ConsoleKit, etc) | ||
+ | * A well defined interface between the server and the user interface. | ||
+ | * Cross-desktop (user interfaces can be written in any toolkit). | ||
+ | |||
+ | More details about LightDM's design can be found [http://www.freedesktop.org/wiki/Software/LightDM/Design here]. | ||
== Installation == | == Installation == | ||
+ | Install {{Pkg|lightdm}} from the [[official repositories]]. You can also install {{AUR|lightdm-devel}} for the development branch or {{AUR|lightdm-bzr}} from the [[AUR]]. | ||
− | + | If you want to be able to power off or restart your computer from LightDM, also install {{Pkg|polkit}}. | |
=== Greeter=== | === Greeter=== | ||
− | You will also need {{AUR|lightdm- | + | You will also need to install a greeter (a user interface for LightDM). The reference greeter is ''lightdm-gtk-greeter'', which is provided by {{Pkg|lightdm-gtk3-greeter}}. KDE users can install {{Pkg|lightdm-kde-greeter}}, a greeter based on Qt. |
+ | |||
+ | Other greeters can be installed from the [[AUR]] as well: | ||
+ | * {{AUR|lightdm-webkit-greeter}}: A greeter that uses Webkit for theming. | ||
+ | * {{AUR|lightdm-crowd-greeter}}: A 3D greeter that lets you select your profile from 3D characters walking around. | ||
+ | * {{AUR|lightdm-unity-greeter}}: The greeter used by Ubuntu's [[Unity]]. | ||
+ | * {{AUR|razor-lightdm-greeter}}: A greeter for the [[Razor-qt]] desktop environment. | ||
+ | * {{AUR|lightdm-pantheon-greeter}}: A LightDM greeter from the ElementaryOS Project. | ||
+ | |||
+ | You can change the default greeter by changing the configuration file to state: | ||
+ | {{hc|/etc/lightdm/lightdm.conf| | ||
+ | greeter-session=lightdm-yourgreeter-greeter | ||
+ | }} | ||
− | + | == Enabling LightDM == | |
− | + | Make sure that the '''lightdm''' daemon is [[Daemons#Managing_daemons|started]] at boot. | |
− | |||
− | |||
− | |||
− | + | === Testing === | |
− | + | First, [[Pacman|install]] {{Pkg|xorg-server-xephyr}} from the [[official repositories]]. | |
− | |||
− | |||
− | + | Then, run LightDM as an X application: | |
− | + | $ lightdm --test-mode --debug | |
− | |||
− | |||
− | |||
− | == Enabling | + | === Enabling power menu (restart, poweroff etc.) === |
− | + | {{Note|this is a bug: [https://bugs.archlinux.org/task/36613 FS#36613]}} | |
− | + | By default, {{ic|lightdm.service}} does not register itself as '''systemd-logind''' session, so all items in the power menu (restart, poweroff etc.) are hidden. A possible workaround is to create this polkit rule (also make sure {{Pkg|polkit}} is installed): | |
− | |||
− | {{ | ||
− | {{ | + | {{hc|/etc/polkit-1/rules.d/10-lightdm.rules|<nowiki> |
− | + | polkit.addRule(function(action, subject) { | |
− | + | if(action.id.match("org.freedesktop.login1.") && subject.isInGroup("lightdm")) { | |
+ | return polkit.Result.YES; | ||
+ | } | ||
+ | }); | ||
+ | </nowiki>}} | ||
− | + | For more information: | |
+ | * [[systemd#Power management]] | ||
+ | * [[xbmc#Enabling shutdown, restart, hibernate and suspend]] | ||
+ | * http://www.freedesktop.org/wiki/Software/systemd/logind/ | ||
== Optional Configuration and Tweaks == | == Optional Configuration and Tweaks == | ||
+ | Some greeters have their own configuration files. For example, {{Pkg|lightdm-gtk3-greeter}} has: | ||
+ | /etc/lightdm/lightdm-gtk-greeter.conf | ||
+ | and {{Pkg|lightdm-kde-greeter}} has: | ||
+ | /etc/lightdm/lightdm-kde-greeter.conf | ||
+ | as well as a section in KDE's System Settings (recommended). | ||
+ | |||
+ | LightDM can be configured by directly modifying its configuration script or by using the {{ic|lightdm-set-defaults}} applications | ||
+ | that can be found in {{ic|/usr/lib/lightdm/lightdm/}}. To see some of the options available, execute: | ||
+ | $ man lightdm-set-defaults | ||
+ | |||
+ | There are, however, a lot more variables to modify in the configuration file than by using the {{ic|lightdm-set-defaults}} application. | ||
+ | |||
=== Changing Background Images/Colors === | === Changing Background Images/Colors === | ||
+ | Users wishing to have a flat color (no image) may simply set the '''background''' variable to a hex color. | ||
+ | |||
+ | Example: | ||
+ | background=#000000 | ||
+ | |||
+ | If you want to use an image instead, see below. | ||
+ | |||
+ | ==== GTK+ Greeter ==== | ||
Users wishing to customize the wallpaper on the greeter screen need to edit {{ic|/etc/lightdm/lightdm-gtk-greeter.conf}} defining the '''background''' variable. | Users wishing to customize the wallpaper on the greeter screen need to edit {{ic|/etc/lightdm/lightdm-gtk-greeter.conf}} defining the '''background''' variable. | ||
Line 52: | Line 92: | ||
background=/usr/share/pixmaps/black_and_white_photography-wallpaper-1920x1080.jpg | background=/usr/share/pixmaps/black_and_white_photography-wallpaper-1920x1080.jpg | ||
− | Users using the unity-greeter | + | ==== Unity Greeter ==== |
+ | Users using the {{AUR|lightdm-unity-greeter}} must edit the {{ic|/usr/share/glib-2.0/schemas/com.canonical.unity-greeter.gschema.xml}} file and then execute: | ||
+ | # glib-compile-schemas /usr/share/glib-2.0/schemas/ | ||
− | + | According to [https://bbs.archlinux.org/viewtopic.php?id=149945 this] page. | |
− | {{ic| | + | {{Note|It is recommended to place the PNG or JPG file in {{ic|/usr/share/pixmaps}} since the LightDM user needs read access to the wallpaper file.}} |
− | |||
− | |||
+ | ==== KDE Greeter ==== | ||
+ | Go to ''System Settings > Login Screen (LightDM)'' and change the background image for your theme. | ||
+ | === Changing your avatar === | ||
− | {{ | + | ==== The .face way ==== |
+ | Users wishing to customize their image on the greeter screen need to place an image called {{ic|.face}} or {{ic|.face.icon}} in their home directory. Make sure it can be read by LightDM. | ||
− | + | ==== The AccountsService way ==== | |
+ | The .face way is known to cause issues, fortunately LightDM is able to automatically use AccountsService if it is installed. AccountsService files need to be set up as follows: | ||
− | + | * A user file named after your user in {{ic|/var/lib/AccountsService/users/johndoe}} containing: | |
− | |||
− | + | [User] | |
− | + | Icon=/var/lib/AccountsService/icons/johndoe | |
− | + | * A 96x96 PNG icon file in {{ic|/var/lib/AccountsService/icons/johndoe}} | |
− | |||
+ | {{Note|As at June 2013, the PNG icon file does not get picked up and a workaround is to put the file in /usr/share/icons/hicolor/64x64/devices directory and call it from your /var/lib/AccountsService/users/johndoe user file. This directory CAN be read by lightdm and the profile avatar will be rendered correctly. | ||
+ | Also, If using AccountsService, it is not necessary to enable the accounts-daemon.service as it's called automatically with the above configuration.}} | ||
==== Sources of Arch-centric 64x64 Icons ==== | ==== Sources of Arch-centric 64x64 Icons ==== | ||
− | The archlinux-artwork package | + | The {{Pkg|archlinux-artwork}} package from the [[official repositories]] contains some nice examples that install to {{ic|/usr/share/archlinux/icons}} and that can be copied to {{ic|/usr/share/icons/hicolor/64x64/devices}} as follows: |
− | |||
# find /usr/share/archlinux/icons -name "*64*" -exec cp {} /usr/share/icons/hicolor/64x64/devices \; | # find /usr/share/archlinux/icons -name "*64*" -exec cp {} /usr/share/icons/hicolor/64x64/devices \; | ||
− | After copying, the archlinux-artwork package can be removed. | + | After copying, the {{Pkg|archlinux-artwork}} package can be removed. |
=== Enabling Autologin === | === Enabling Autologin === | ||
− | Edit {{ | + | Edit the LightDM configuration file and change these lines to: |
− | + | {{hc|/etc/lightdm/lightdm.conf|<nowiki> | |
− | + | autologin-user=<your_username> | |
− | + | autologin-user-timeout=0</nowiki> | |
− | + | }} | |
− | + | or execute: | |
− | = | + | # /usr/lib/lightdm/lightdm/lightdm-set-defaults --autologin=USERNAME |
− | + | LightDM goes through PAM even when {{ic|autologin}} is enabled. You must be part of the {{ic|autologin}} group to be able to login without entering your password: | |
− | |||
− | + | # groupadd autologin | |
− | + | # gpasswd -a ''username'' autologin | |
− | |||
− | + | {{Note|GNOME users, and by extension any gnome-keyring user will have to set up a blank password to their keyring for it to be unlocked automatically.}} | |
− | |||
− | |||
− | |||
− | + | === Migrating from SLiM === | |
+ | Move the contents of [[xinitrc]] to [[xprofile]], removing the call to start the [[window manager]] or [[desktop environment]]. | ||
=== NumLock ON === | === NumLock ON === | ||
− | Install the {{ | + | Install the {{Pkg|numlockx}} package and the edit {{ic|/etc/lightdm/lightdm.conf}} adding the following line: |
greeter-setup-script=/usr/bin/numlockx on | greeter-setup-script=/usr/bin/numlockx on | ||
− | === User switching under | + | === User switching under Xfce 4 === |
− | With the release of | + | With the release of Xfce 4.10, user switching is supported natively. To use it with LightDM, users need only to create a symlink: |
+ | # ln -s /usr/lib/lightdm/lightdm/gdmflexiserver /usr/local/bin/gdmflexiserver | ||
+ | |||
+ | Alternatively, see the [[XScreenSaver#Lightdm]] article. | ||
− | + | == Troubleshooting == | |
+ | If you encounter consistent screen flashing and ultimately no lightdm on boot, ensure that you have defined the greeter correctly in lightdm's config file. And if you have correctly defined the GTK greeter, make sure the {{ic|xsessions-directory}} (default: {{ic|/usr/share/xessions}}) exists and contains at least one .desktop file. | ||
− | + | == See Also == | |
+ | * [https://wiki.ubuntu.com/LightDM Ubuntu Wiki article] | ||
+ | * [http://wiki.gentoo.org/wiki/LightDM Gentoo Wiki article] | ||
+ | * [https://launchpad.net/lightdm Launchpad Page] | ||
+ | * [http://www.mattfischer.com/blog/?tag=lightdm LightDM blog] |
Revision as of 15:08, 20 August 2013
Template:Article summary start Template:Article summary text Template:Article summary heading Template:Article summary wiki Template:Article summary wiki Template:Article summary wiki Template:Article summary wiki Template:Article summary end
LightDM is a cross-desktop display manager that aims to be the standard display manager for the X server. Its key features are:
- A lightweight codebase
- Standards compliant (PAM, ConsoleKit, etc)
- A well defined interface between the server and the user interface.
- Cross-desktop (user interfaces can be written in any toolkit).
More details about LightDM's design can be found here.
Contents
Installation
Install lightdm from the official repositories. You can also install lightdm-develAUR for the development branch or lightdm-bzrAUR from the AUR.
If you want to be able to power off or restart your computer from LightDM, also install polkit.
Greeter
You will also need to install a greeter (a user interface for LightDM). The reference greeter is lightdm-gtk-greeter, which is provided by lightdm-gtk3-greeter. KDE users can install lightdm-kde-greeter, a greeter based on Qt.
Other greeters can be installed from the AUR as well:
- lightdm-webkit-greeterAUR: A greeter that uses Webkit for theming.
- lightdm-crowd-greeterAUR: A 3D greeter that lets you select your profile from 3D characters walking around.
- lightdm-unity-greeterAUR: The greeter used by Ubuntu's Unity.
- razor-lightdm-greeterAUR: A greeter for the Razor-qt desktop environment.
- lightdm-pantheon-greeterAUR: A LightDM greeter from the ElementaryOS Project.
You can change the default greeter by changing the configuration file to state:
/etc/lightdm/lightdm.conf
greeter-session=lightdm-yourgreeter-greeter
Enabling LightDM
Make sure that the lightdm daemon is started at boot.
Testing
First, install xorg-server-xephyr from the official repositories.
Then, run LightDM as an X application:
$ lightdm --test-mode --debug
By default, lightdm.service
does not register itself as systemd-logind session, so all items in the power menu (restart, poweroff etc.) are hidden. A possible workaround is to create this polkit rule (also make sure polkit is installed):
/etc/polkit-1/rules.d/10-lightdm.rules
polkit.addRule(function(action, subject) { if(action.id.match("org.freedesktop.login1.") && subject.isInGroup("lightdm")) { return polkit.Result.YES; } });
For more information:
- systemd#Power management
- xbmc#Enabling shutdown, restart, hibernate and suspend
- http://www.freedesktop.org/wiki/Software/systemd/logind/
Optional Configuration and Tweaks
Some greeters have their own configuration files. For example, lightdm-gtk3-greeter has:
/etc/lightdm/lightdm-gtk-greeter.conf
and lightdm-kde-greeter has:
/etc/lightdm/lightdm-kde-greeter.conf
as well as a section in KDE's System Settings (recommended).
LightDM can be configured by directly modifying its configuration script or by using the lightdm-set-defaults
applications
that can be found in /usr/lib/lightdm/lightdm/
. To see some of the options available, execute:
$ man lightdm-set-defaults
There are, however, a lot more variables to modify in the configuration file than by using the lightdm-set-defaults
application.
Changing Background Images/Colors
Users wishing to have a flat color (no image) may simply set the background variable to a hex color.
Example:
background=#000000
If you want to use an image instead, see below.
GTK+ Greeter
Users wishing to customize the wallpaper on the greeter screen need to edit /etc/lightdm/lightdm-gtk-greeter.conf
defining the background variable.
Example:
background=/usr/share/pixmaps/black_and_white_photography-wallpaper-1920x1080.jpg
Unity Greeter
Users using the lightdm-unity-greeterAUR must edit the /usr/share/glib-2.0/schemas/com.canonical.unity-greeter.gschema.xml
file and then execute:
# glib-compile-schemas /usr/share/glib-2.0/schemas/
According to this page.
/usr/share/pixmaps
since the LightDM user needs read access to the wallpaper file.KDE Greeter
Go to System Settings > Login Screen (LightDM) and change the background image for your theme.
Changing your avatar
The .face way
Users wishing to customize their image on the greeter screen need to place an image called .face
or .face.icon
in their home directory. Make sure it can be read by LightDM.
The AccountsService way
The .face way is known to cause issues, fortunately LightDM is able to automatically use AccountsService if it is installed. AccountsService files need to be set up as follows:
- A user file named after your user in
/var/lib/AccountsService/users/johndoe
containing:
[User] Icon=/var/lib/AccountsService/icons/johndoe
- A 96x96 PNG icon file in
/var/lib/AccountsService/icons/johndoe
Sources of Arch-centric 64x64 Icons
The archlinux-artwork package from the official repositories contains some nice examples that install to /usr/share/archlinux/icons
and that can be copied to /usr/share/icons/hicolor/64x64/devices
as follows:
# find /usr/share/archlinux/icons -name "*64*" -exec cp {} /usr/share/icons/hicolor/64x64/devices \;
After copying, the archlinux-artwork package can be removed.
Enabling Autologin
Edit the LightDM configuration file and change these lines to:
/etc/lightdm/lightdm.conf
autologin-user=<your_username> autologin-user-timeout=0
or execute:
# /usr/lib/lightdm/lightdm/lightdm-set-defaults --autologin=USERNAME
LightDM goes through PAM even when autologin
is enabled. You must be part of the autologin
group to be able to login without entering your password:
# groupadd autologin # gpasswd -a username autologin
Migrating from SLiM
Move the contents of xinitrc to xprofile, removing the call to start the window manager or desktop environment.
NumLock ON
Install the numlockx package and the edit /etc/lightdm/lightdm.conf
adding the following line:
greeter-setup-script=/usr/bin/numlockx on
User switching under Xfce 4
With the release of Xfce 4.10, user switching is supported natively. To use it with LightDM, users need only to create a symlink:
# ln -s /usr/lib/lightdm/lightdm/gdmflexiserver /usr/local/bin/gdmflexiserver
Alternatively, see the XScreenSaver#Lightdm article.
Troubleshooting
If you encounter consistent screen flashing and ultimately no lightdm on boot, ensure that you have defined the greeter correctly in lightdm's config file. And if you have correctly defined the GTK greeter, make sure the xsessions-directory
(default: /usr/share/xessions
) exists and contains at least one .desktop file.