Difference between revisions of "LightDM"

From ArchWiki
Jump to: navigation, search
m (Installation)
(30 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 Lightdm] LightDM is a cross-desktop display manager that aims to be the standard display manager for the X.org X server.
+
[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).
  
== Installation ==
+
More details about LightDM's design can be found [http://www.freedesktop.org/wiki/Software/LightDM/Design here].
  
Currently,  {{AUR|lightdm}} resides in the [[AUR]]. Install it like any other AUR package.
+
== 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]].
  
 
=== Greeter===
 
=== Greeter===
You will also need {{AUR|lightdm-gtk-greeter}} from the [[AUR]].
+
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:  
+
Other greeters can be installed from the [[AUR]] as well:  
* {{AUR|lightdm-webkit-greeter}}
+
* {{AUR|lightdm-webkit-greeter}}: A greeter that uses Webkit for theming.
* {{AUR|lightdm-crowd-greeter}}
+
* {{AUR|lightdm-crowd-greeter}}: A 3D greeter that lets you select your profile from 3D characters walking around.
* {{AUR|lightdm-kde-greeter}}
+
* {{AUR|lightdm-unity-greeter}}: The greeter used by Ubuntu's [[Unity]].
* {{AUR|lightdm-unity-greeter}}
+
* {{AUR|razor-lightdm-greeter}}: A greeter for the [[Razor-qt]] desktop environment.
 +
* {{AUR|lightdm-pantheon-greeter}}: A LightDM greeter from the ElementaryOS Project.
  
To change the default greeter ({{pkg|lightdm-gtk-greeter}}) edit the lightdm PKGBUILD and change the line
+
You can change the default greeter by changing the configuration file to state:
 +
{{hc|/etc/lightdm/lightdm.conf|
 +
greeter-session=lightdm-yourgreeter-greeter
 +
}}
 +
 
 +
It is also possible to change the default greeter at compile time by changing the line containing:
 
  --with-greeter-session=lightdm-gtk-greeter
 
  --with-greeter-session=lightdm-gtk-greeter
 
to
 
to
 
  --with-greeter-session=lightdm-yourgreeter-greeter
 
  --with-greeter-session=lightdm-yourgreeter-greeter
  
== Enabling Lightdm ==
+
== Enabling LightDM ==
Lightdm can be loaded on startup by entering it in the daemons array in {{ic|rc.conf}}, or by modifying {{ic|inittab}} so it points to lightdm:
+
Make sure that the '''lightdm''' daemon is [[Daemons#Managing_daemons|started]] at boot.
[…]
+
x:5:respawn:/usr/sbin/lightdm >/dev/null 2>&1
+
[…]
+
{{Note|The 'inittab' method is the preferred method to use a graphical greeter. See [[Display_Manager#inittab_method]].}}
+
  
{{Note|Lightdm needs [[dbus]] to be running.  If you get an error about "respawing too fast" you may have forgotten this.  Ensure that dbus is in your [[DAEMONS]] array in {{ic|rc.conf}}.}}
+
=== Testing ===
 +
First, [[Pacman|install]] {{Pkg|xorg-server-xephyr}} from the [[official repositories]].
  
For systems using systemd, Lightdm also has a systemd service file, start it with {{ic|systemctl start lightdm.service}} or enable it for boot with {{ic|systemctl enable lightdm.service}}.
+
Then, run LightDM as an X application:
 
+
$ lightdm --test-mode --debug
See [[Display Manager]] for detailed instructions.
+
  
 
== 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 47: Line 78:
 
  background=/usr/share/pixmaps/black_and_white_photography-wallpaper-1920x1080.jpg
 
  background=/usr/share/pixmaps/black_and_white_photography-wallpaper-1920x1080.jpg
  
{{Note|It is recommended to place png or jpg files in /usr/share/pixmaps since the lightdm user needs read access to the wallpaper file.}}
+
==== 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/
  
Users wishing to have a flat color (no image) may simply set the '''background''' variable to a hex color.
+
According to [https://bbs.archlinux.org/viewtopic.php?id=149945 this] page.
  
Example:
+
{{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.}}
background=#000000
+
 
 +
==== KDE Greeter ====
 +
Go to ''System Settings > Login Screen (LightDM)'' and change the background image for your theme.
  
 
=== Changing the Icon ===
 
=== Changing the Icon ===
Users wishing to customize the icon (by default, the 'computer' graphic) should follow this 3-step procedure:
+
Users wishing to customize the icon on the greeter screen need to edit {{ic|/etc/lightdm/lightdm-gtk-greeter.conf}} defining the '''logo''' variable.
  
# Copy a 64x64 image to {{ic|/usr/share/icons/hicolor/64x64/devices}}
+
Example:
# Run {{ic|gtk-update-icon-cache /usr/share/icons/hicolor}}
+
logo=/usr/share/icons/hicolor/64x64/devices/archlinux-icon-crystal-64.svg
# Edit {{ic|/usr/share/lightdm-gtk-greeter/greeter.ui}}
+
Search for 'image1' and edit the 'property' xml to be the filename (less the extension).  By default it should be 'computer' by default.
+
  
 
==== Sources of Arch-centric 64x64 Icons ====
 
==== Sources of Arch-centric 64x64 Icons ====
The archlinux-artwork package in [extra] 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:
+
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 {{ic|/etc/lightdm/lightdm.conf}} and change these lines to:
+
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:
  
  [SeatDefaults]
+
  # /usr/lib/lightdm/lightdm/lightdm-set-defaults --autologin=USERNAME
autologin-user=your_user
+
 
  autologin-user-timeout=0
+
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:
  pam-service=lightdm-autologin
+
 
 +
  # 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.}}
  
 
=== NumLock ON ===
 
=== NumLock ON ===
Line 82: Line 123:
  
 
=== User switching under xfce4 ===
 
=== User switching under xfce4 ===
With the release of xfce4 v4.10, user switching is supported natively. To use it with lightdm, users need only to create a symlink:
+
With the release of Xfce4 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/bin/gdmflexiserver
 
  # ln -s /usr/lib/lightdm/lightdm/gdmflexiserver /usr/bin/gdmflexiserver
  
Alternatively, see the [[https://wiki.archlinux.org/index.php/Xscreensaver#LXDM Xscreensaver#Lightdm]] article.
+
Alternatively, see the [[XScreenSaver#Lightdm]] article.
 +
 
 +
== 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 18:15, 23 March 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.

Installation

Install lightdm from the official repositories. You can also install lightdm-develAUR for the development branch or lightdm-bzrAUR from the AUR.

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:

You can change the default greeter by changing the configuration file to state:

/etc/lightdm/lightdm.conf
greeter-session=lightdm-yourgreeter-greeter

It is also possible to change the default greeter at compile time by changing the line containing:

--with-greeter-session=lightdm-gtk-greeter

to

--with-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

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.

Note: It is recommended to place the PNG or JPG file in /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 the Icon

Users wishing to customize the icon on the greeter screen need to edit /etc/lightdm/lightdm-gtk-greeter.conf defining the logo variable.

Example:

logo=/usr/share/icons/hicolor/64x64/devices/archlinux-icon-crystal-64.svg

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
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.

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 xfce4

With the release of Xfce4 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/bin/gdmflexiserver

Alternatively, see the XScreenSaver#Lightdm article.

See Also