Difference between revisions of "LightDM"

From ArchWiki
Jump to: navigation, search
m (Enabling Lightdm: add my 2 cents about the inittab method)
m (Enabling Lightdm)
(30 intermediate revisions by 14 users not shown)
Line 1: Line 1:
[[Category:Display managers (English)]]
+
[[Category:Display managers]]
{{i18n|LightDM}}
+
[[es:LightDM]]
 
+
 
{{Article summary start}}
 
{{Article summary start}}
{{Article summary text|Provides an overview 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}}
Line 14: Line 13:
 
Currently,  {{AUR|lightdm}} resides in the [[AUR]].  Install it like any other AUR package.
 
Currently,  {{AUR|lightdm}} resides in the [[AUR]].  Install it like any other AUR package.
  
== Enabling Lightdm ==
+
=== Greeter===
Lightdm can be loaded on startup by entering it in the daemons array in {{ic|rc.conf}}, or by appending the following line to {{ic|inittab}}:
+
You will also need {{AUR|lightdm-gtk-greeter}} from the [[AUR]].
x:5:respawn:/usr/sbin/lightdm 2>&1 /dev/null
+
  
{{Note|The 'inittab' method is the preferred method to use a graphical greeter.}}
+
Other greeters can be installed:
 +
* {{AUR|lightdm-webkit-greeter}}
 +
* {{AUR|lightdm-crowd-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
 +
--with-greeter-session=lightdm-gtk-greeter
 +
to
 +
--with-greeter-session=lightdm-yourgreeter-greeter
 +
 +
== Enabling Lightdm ==
 +
=== Using Initscripts ===
 +
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}}.}}
 +
=== Using Systemd ===
 
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}}.
 
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.
 
See [[Display Manager]] for detailed instructions.
 
== Required Configuration ==
 
Lightdm will only show a blank screen until a greeter is chosen. Open the the configuration file at {{ic| /etc/lightdm/lightdm.conf}} and find the {{ic|1=#greeter-session=}} option, uncomment it, and change it to the greeter of choice.
 
 
Example:
 
greeter-session=lightdm-gtk-greeter
 
 
Additional greeters are available in the [[AUR]]. To see which greeters are installed, look in {{ic|/usr/share/xgreeters}}. Do not include the .desktop extension.
 
 
{{Note|The following requires [http://www.archlinux.org/packages/extra/i686/xorg-server-xephyr/ xorg-server-xephyr] to be installed.}}
 
 
It is possible to test lightdm with the following command:
 
{{bc|$ lightdm --test-mode -c /etc/lightdm/lightdm.conf}}
 
  
 
== Optional Configuration and Tweaks ==
 
== Optional Configuration and Tweaks ==
Line 52: Line 54:
  
 
=== 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 png 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 ====
 +
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:
 +
 
 +
# 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 ===
 
=== Enabling Autologin ===
# gedit /etc/lightdm/lightdm.conf
+
Edit {{ic|/etc/lightdm/lightdm.conf}} and change these lines to:
  
Change these lines to:
 
 
  [SeatDefaults]
 
  [SeatDefaults]
 
  autologin-user=your_user
 
  autologin-user=your_user
 
  autologin-user-timeout=0
 
  autologin-user-timeout=0
 
  pam-service=lightdm-autologin
 
  pam-service=lightdm-autologin
(last one might need to be created)
 
  
# gedit /etc/pam.d/lightdm-autologin
+
==== PAM settings ====
(create if it doesn't exist)
+
 
Add:
+
Lightdm goes through PAM even when autologin is enabled. You must make sure that
#%PAM-1.0
+
PAM allows the login without prompting for a password.
auth requisite pam_nologin.so
+
 
auth required pam_env.so
+
Create a new group called, say, {{ic|autologin}} and add yourself to the group:
auth requisite pam_permit.so
+
  groupadd autologin
auth sufficient pam_succeed_if.so uid >= 1000 quiet
+
  gpasswd -a ''username'' autologin
auth required pam_deny.so
+
 
account required pam_unix.so
+
Edit {{ic|/etc/pam.d/lightdm-autologin}} and locate the line "auth required pam_unix.so". Add new lines before and after it so that the section now reads:
password required pam_deny.so
+
  auth [success=1 default=ignore] pam_succeed_if.so user ingroup autologin
session required pam_loginuid.so
+
  auth required pam_unix.so
-session optional pam_systemd.so
+
  auth optional pam_permit.so
session optional pam_keyinit.so revoke
+
 
session required pam_limits.so
+
This ensures that the user will not be asked for a password when logging in through Lightdm autologin.
session required pam_unix.so
+
  
 
=== NumLock ON ===
 
=== NumLock ON ===
 
Install the {{ic|numlockx}} package and the edit {{ic| /etc/lightdm/lightdm.conf}} adding the following line:
 
Install the {{ic|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 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:
 +
 +
# ln -s /usr/lib/lightdm/lightdm/gdmflexiserver /usr/bin/gdmflexiserver
 +
 +
Alternatively, see the [[https://wiki.archlinux.org/index.php/Xscreensaver#LXDM Xscreensaver#Lightdm]] article.

Revision as of 17:43, 3 November 2012

Summary help replacing me
Provides an overview and setup of the Light Display Manager.
Related
Display Manager

Lightdm LightDM is a cross-desktop display manager that aims to be the standard display manager for the X.org X server.

Installation

Currently, lightdmAUR resides in the AUR. Install it like any other AUR package.

Greeter

You will also need lightdm-gtk-greeterAUR from the AUR.

Other greeters can be installed:

To change the default greeter (lightdm-gtk-greeterAUR) edit the lightdm PKGBUILD and change the line

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

to

--with-greeter-session=lightdm-yourgreeter-greeter

Enabling Lightdm

Using Initscripts

Lightdm can be loaded on startup by entering it in the daemons array in rc.conf, or by modifying 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 rc.conf.

Using Systemd

For systems using systemd, Lightdm also has a systemd service file, start it with systemctl start lightdm.service or enable it for boot with systemctl enable lightdm.service.

See Display Manager for detailed instructions.

Optional Configuration and Tweaks

Changing Background Images/Colors

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

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

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 in [extra] 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 /etc/lightdm/lightdm.conf and change these lines to:

[SeatDefaults]
autologin-user=your_user
autologin-user-timeout=0
pam-service=lightdm-autologin

PAM settings

Lightdm goes through PAM even when autologin is enabled. You must make sure that PAM allows the login without prompting for a password.

Create a new group called, say, autologin and add yourself to the group:

 groupadd autologin
 gpasswd -a username autologin

Edit /etc/pam.d/lightdm-autologin 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.

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