Difference between revisions of "LightDM"
(翻译) |
(→Troubleshooting: Added a somewhat tricky problem) |
||
(5 intermediate revisions by 5 users not shown) | |||
Line 1: | Line 1: | ||
[[Category:Display managers]] | [[Category:Display managers]] | ||
− | |||
[[es:LightDM]] | [[es:LightDM]] | ||
[[fr:LightDM]] | [[fr:LightDM]] | ||
+ | [[ja:LightDM]] | ||
+ | [[zh-CN:LightDM]] | ||
{{Related articles start}} | {{Related articles start}} | ||
{{Related|Display Manager}} | {{Related|Display Manager}} | ||
Line 38: | Line 39: | ||
== Enabling LightDM == | == Enabling LightDM == | ||
− | Make sure | + | Make sure to enable the {{ic|lightdm}} daemon using [[systemd#Using units|systemctl]] so it will be started at boot. |
− | |||
− | |||
== Command line tool == | == Command line tool == | ||
Line 53: | Line 52: | ||
== Optional configuration and Tweaks == | == Optional configuration and Tweaks == | ||
− | Some greeters have their own configuration files. For example, {{Pkg|lightdm-gtk3-greeter}} | + | Some greeters have their own configuration files. For example, {{Pkg|lightdm-gtk2-greeter}} and {{Pkg|lightdm-gtk3-greeter}} have: |
/etc/lightdm/lightdm-gtk-greeter.conf | /etc/lightdm/lightdm-gtk-greeter.conf | ||
and {{Pkg|lightdm-kde-greeter}} has: | and {{Pkg|lightdm-kde-greeter}} has: | ||
Line 154: | Line 153: | ||
=== Power menu (restart, poweroff etc.) not available === | === Power menu (restart, poweroff etc.) not available === | ||
− | If you have installed lightdm before lightdm-1:1.6.0-6, you might have been struck by this bug: | + | If you have installed lightdm before lightdm-1:1.6.0-6, you might have been struck by this bug: {{Bug|36613}}, to fix it run: |
# chown polkitd:root /usr/share/polkit-1/rules.d | # chown polkitd:root /usr/share/polkit-1/rules.d | ||
Line 167: | Line 166: | ||
xrdb -merge "$file" | xrdb -merge "$file" | ||
Your Xresources will now be pre-processed so that variables are correctly expanded. | Your Xresources will now be pre-processed so that variables are correctly expanded. | ||
+ | |||
+ | === Missing icons with GTK greeter === | ||
+ | If you're using {{Pkg|lightdm-gtk2-greeter}} as a greeter and it shows placeholder images as icons, make sure valids icon theme and theme are configured. Check the following file: | ||
+ | {{hc|/etc/lightdm/lightdm-gtk-greeter.conf| | ||
+ | [greeter] | ||
+ | theme-name=mate # this should be the name of a directory under /usr/share/themes/ | ||
+ | icon-theme-name=mate # this should be the name of a fully featured icons set directory under /usr/share/icons/ | ||
+ | }} | ||
== See Also == | == See Also == |
Revision as of 21:32, 28 January 2014
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, logind, 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
- 1 Installation
- 2 Enabling LightDM
- 3 Command line tool
- 4 Testing
- 5 Optional configuration and Tweaks
- 6 Troubleshooting
- 7 See Also
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-gtk2-greeter or 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-another-gtk-greeterAUR: A GTK3 greeter with custom theme support
- 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.
- lightdm-razor-greeterAUR: A greeter for the Razor-qt desktop environment.
- lightdm-pantheon-greeterAUR: A 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 to enable the lightdm
daemon using systemctl so it will be started at boot.
Command line tool
LightDM offers a command line tool, dm-tool
, which can be used to lock the current seat, switch sessions, etc, which is useful with 'minimalist' window managers and for testing. To see a list of available commands, execute:
$ dm-tool --help
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-gtk2-greeter and lightdm-gtk3-greeter have:
/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 PNG 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-artworkAUR package from the AUR 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-artworkAUR package can be removed.
Enabling Autologin
Edit the LightDM configuration file and change these lines to:
/etc/lightdm/lightdm.conf
autologin-user=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
Hiding system and services users
To prevent system users from showing-up in the login, install the optional dependency accountsservice, or add the user names to /etc/lightdm/users.conf
under hidden-users
. The first option has the advantage of not needing to updated the list when more users are added or removed.
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
LightDM supports user switching under a number of different desktop environments. To enable user switching it is necessary to create a symlink:
# ln -s /usr/lib/lightdm/lightdm/gdmflexiserver /usr/local/bin/gdmflexiserver
For an alternative method see the XScreenSaver#Lightdm article.
Default Session
Lightdm, like other DMs, stores the last-selected xsession in ~/.dmrc
. See Display_Manager#Session_list for more info.
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/xsessions
) exists and contains at least one .desktop file.
If you have installed lightdm before lightdm-1:1.6.0-6, you might have been struck by this bug: FS#36613, to fix it run:
# chown polkitd:root /usr/share/polkit-1/rules.d
Wrong locale displayed
In case of your locale not being displayed correctly in Lightdm add your locale to /etc/environment
LANG=pt_PT.utf8
Xresources not being parsed correctly
LightDM has an upstream bug where your Xresources file will not be loaded with a pre-processor. In practical terms, this means that variables set with #define
are not expanded when called later. You may see this reflected as an all-pink screen if using a custom color set with urxvt. To fix it, edit /etc/lightdm/Xsession
and search for the line:
xrdb -nocpp -merge "$file"
Change it to read:
xrdb -merge "$file"
Your Xresources will now be pre-processed so that variables are correctly expanded.
Missing icons with GTK greeter
If you're using lightdm-gtk2-greeter as a greeter and it shows placeholder images as icons, make sure valids icon theme and theme are configured. Check the following file:
/etc/lightdm/lightdm-gtk-greeter.conf
[greeter] theme-name=mate # this should be the name of a directory under /usr/share/themes/ icon-theme-name=mate # this should be the name of a fully featured icons set directory under /usr/share/icons/