Difference between revisions of "LightDM"

From ArchWiki
Jump to: navigation, search
(PAM settings)
m (Installation)
(14 intermediate revisions by 8 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).
 +
 
 +
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]].
Currently,  {{AUR|lightdm}} resides in the [[AUR]]. Install it like any other AUR package.
+
 
+
  
 
=== 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 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.
  
Other greeters can be installed:  
+
You can change the default greeter by changing the configuration file to state:
* {{AUR|lightdm-webkit-greeter}}
+
{{hc|/etc/lightdm/lightdm.conf|
* {{AUR|lightdm-crowd-greeter}}
+
greeter-session=lightdm-yourgreeter-greeter
* {{AUR|lightdm-kde}}
+
}}
* {{AUR|lightdm-unity-greeter}}
+
  
To change the default greeter ({{AUR|lightdm-gtk-greeter}}) edit the lightdm PKGBUILD and change the line
+
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
  
To change default greeter by modifying lightdm.conf. <br>
+
== Enabling LightDM ==
{{bc|greeter-session&#61;lightdm-kde-greeter}}Lightdm.conf can be found at :<br>
+
Make sure that the '''lightdm''' daemon is [[Daemons#Managing_daemons|started]] at boot.
{{bc|/etc/lightdm/lightdm.conf}} <br>
+
  
== Enabling Lightdm ==
+
=== Testing ===
=== Using Initscripts ===
+
First, [[Pacman|install]] {{Pkg|xorg-server-xephyr}} from the [[official repositories]].
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:
+
x:5:respawn:/usr/sbin/lightdm >& /dev/null
+
{{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}}.}}
+
Then, run LightDM as an X application:
=== Using Systemd ===
+
  $ lightdm --test-mode --debug
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}}.
+
  
See [[Display Manager]] for detailed instructions.
+
== 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.
  
== Optional Configuration and Tweaks ==
 
 
=== 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 51: Line 78:
 
  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 version must edit the {{ic|/usr/share/glib-2.0/schemas/com.canonical.unity-greeter.gschema.xml}} 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:
And then execute
+
# glib-compile-schemas /usr/share/glib-2.0/schemas/
 
+
{{ic|glib-compile-schemas /usr/share/glib-2.0/schemas/}}
+
  
 
According to [https://bbs.archlinux.org/viewtopic.php?id=149945 this] page.
 
According to [https://bbs.archlinux.org/viewtopic.php?id=149945 this] page.
  
 +
{{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 ====
{{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.}}
+
Go to ''System Settings > Login Screen (LightDM)'' and change the background image for your theme.
 
+
Users wishing to have a flat color (no image) may simply set the '''background''' variable to a hex color.
+
 
+
Example:
+
background=#000000
+
  
 
=== Changing the Icon ===
 
=== Changing the Icon ===
Line 75: Line 96:
  
 
==== 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
+
pam-service=lightdm-autologin
+
  
==== PAM settings ====
+
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:
  
Lightdm goes through PAM even when autologin is enabled. You must make sure that
+
# groupadd autologin
PAM allows the login without prompting for a password.
+
# gpasswd -a ''username'' autologin
  
Create a new group called, say, {{ic|autologin}} and add yourself to the group:
+
{{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.}}
  groupadd autologin
+
  gpasswd -a ''username'' autologin
+
 
+
Edit {{ic|/etc/pam.d/lightdm}} and locate the line "auth required pam_unix.so". Add new lines before and after it so that the section now reads:
+
  auth [success=1 default=ignore] pam_succeed_if.so user ingroup autologin
+
  auth required pam_unix.so
+
  auth optional pam_permit.so
+
 
+
This ensures that the user will not be asked for a password when logging in through Lightdm autologin.
+
So any user you would like to login without typing password in LightDM just add to this group.
+
  
 
=== NumLock ON ===
 
=== NumLock ON ===
Line 111: 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 [[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