Difference between revisions of "GDM"
(→Configuration: copied content from login screen section in gnome to here as requested in the merge notice) |
m (→GDM legacy: made gdm legacy its own section) |
||
Line 200: | Line 200: | ||
</nowiki>}} | </nowiki>}} | ||
− | + | ==GDM legacy== | |
If you want to fall back to the old GDM, which also has a tool for configuring its settings, compile and install {{aur|gdm-old}} from the [[Arch User Repository|AUR]]. | If you want to fall back to the old GDM, which also has a tool for configuring its settings, compile and install {{aur|gdm-old}} from the [[Arch User Repository|AUR]]. | ||
Revision as of 19:08, 13 January 2014
From GDM - GNOME Display Manager:
- GDM is the GNOME Display Manager, it is the little program that runs in the background, runs your X sessions, presents you with a login box and then tells you to bug off because you forgot your password. It does pretty much everything that you would want to use xdm for, but does not involve as much crack. It does not use any code from xdm. It supports XDMCP, and in fact extends XDMCP a little bit in places where I thought xdm was lacking (but is still compatible with xdm's XDMCP).
Display managers provide X Window System users with a graphical login prompt.
Contents
Installation
GDM (which is also part of gnome) can be installed with the gdm package, available in the Official repositories.
To make GDM the default display manager for the system, use the packaged systemd service file, gdm.service
. Simply run the following command once to bring up GDM on boot:
# systemctl enable gdm.service
The arguments passed to the X server by ~/.xinitrc
(such as those of xmodmap
and xsetroot
) can also be added through xprofile:
~/.xprofile
#!/bin/sh # # ~/.xprofile # # Executed by gdm at login # xmodmap -e "pointer =1 2 3 6 7 4 5" # set mouse buttons up correctly xsetroot -solid black # sets the background to black
Configuration
There are two tools that can be used to configure recent version of GDM - the official gsettings tool (plus the dconf frontend) and the gdm3setup tool.
gesttings and dconf
Login background image
Once session variables have been exported, you may issue commands to retrieve or set items used by GDM.
The easiest way to changes all the settings is by launching the Configuration Editor gui with the command
$ dconf-editor
The location of each setting is the same as in the command line style of configuration shown below:
The following is the command-line approach to retrieve or set the file name used for GDM's wallpaper.
$ GSETTINGS_BACKEND=dconf gsettings get org.gnome.desktop.background picture-uri $ GSETTINGS_BACKEND=dconf gsettings set org.gnome.desktop.background picture-uri 'file:///usr/share/backgrounds/gnome/SundownDunes.jpg' $ GSETTINGS_BACKEND=dconf gsettings set org.gnome.desktop.background picture-options 'zoom' ## Possible values: centered, none, scaled, spanned, stretched, wallpaper, zoom
Larger font for login
This tweak enlarges the login font with a scaling factor. It is the same method employed by Accessibility Manager on the desktop.
$ GSETTINGS_BACKEND=dconf gsettings set org.gnome.desktop.interface text-scaling-factor '1.25'
Turning off the sound
This tweak disables the audible feedback heard when the system volume is adjusted (via keyboard) on the login screen.
$ GSETTINGS_BACKEND=dconf gsettings set org.gnome.desktop.sound event-sounds 'false'
If the above tweak does not work for you or you are unable to export the GDM session variables, try muting the volume in the GDM login screen using your multimedia keys.
Make the power button interactive
The default installation sets the power button to suspend the system. Power off or Show dialog is a better choice.
$ GSETTINGS_BACKEND=dconf gsettings set org.gnome.settings-daemon.plugins.power button-power 'interactive' $ GSETTINGS_BACKEND=dconf gsettings set org.gnome.settings-daemon.plugins.power button-hibernate 'interactive' $ gsettings list-recursively org.gnome.settings-daemon.plugins.power
GDM keyboard layout
To change keyboard settings used by GDM, set your layout using Xorg configuration. Refer to this section of the Beginner's Guide.
gdm3setup
You can install the gdm3setupAUR tool from the AUR to configure GDM. It will allow you to change few settings such as the theme, the automatic connexion or the date format.
Change the language
To change the GDM language, edit the file /var/lib/AccountsService/users/gdm
and change the language line. You should see something similar to the text below:
/var/lib/AccountsService/users/gdm
[User] Language=fr_FR.UTF-8 XSession= SystemAccount=true
Now just reboot your computer.
Once you've rebooted, if you look at the /var/lib/AccountsService/users/gdm
file again, you'll see that the language line is cleared - don't worry, the language is still changed for the next reboots.
Old configuration
You can no longer use the gdmsetup command to configure GDM as of version 2.28. The command has been removed and GDM has been standardized and integrated with the rest of GNOME.
You can use the following instructions.
Configure X server access permission:
# xhost +SI:localuser:gdm
Change the theme:
$ sudo -u gdm dbus-launch gnome-control-center
For more configuration options, do:
$ sudo -u gdm dbus-launch gconf-editor
and modify the following hierarchies:
/apps/gdm/simple-greeter /desktop/gnome/interface /desktop/gnome/background
If these commands fail with an error (e.g. "Cannot open display"
) you can bring the two windows up when GDM starts by adding them to GDM's autostart. To do this first create the entry:
# cp -t /usr/share/gdm/autostart/LoginWindow/ /usr/share/applications/gnome-appearance-properties.desktop /usr/share/applications/gconf-editor.desktop
Then go back to GDM, do your changes and log back in. When you're done and want the window to stop opening with GDM run this:
# rm /usr/share/gdm/autostart/LoginWindow/gnome-appearance-properties.desktop /usr/share/gdm/autostart/LoginWindow/gconf-editor.desktop
For more information and advanced settings read this.
Automatic login
To enable automatic login with GDM, add the following to /etc/gdm/custom.conf
(replace username with your own):
/etc/gdm/custom.conf
# Enable automatic login for user [daemon] AutomaticLogin=username AutomaticLoginEnable=True
or for an automatic login with a delay:
/etc/gdm/custom.conf
[daemon] # for login with delay TimedLoginEnable=true TimedLogin=username TimedLoginDelay=1
Passwordless login
If you want to bypass the password prompt in GDM then simply add the following line on the first line of /etc/pam.d/gdm-password
:
auth sufficient pam_succeed_if.so user ingroup nopasswdlogin
Then, add the group nopasswdlogin
to your system. See Groups for group descriptions and group management commands.
Now, add your user to the nopasswdlogin
group and you will only have to click on your username to login.
nopasswdlogin
group.Passwordless shutdown
GDM is using polkit and logind to gain permissions for shutdown. You can allow it without entering a password first by setting:
/etc/polkit-1/localauthority.conf.d/org.freedesktop.logind.policy
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE policyconfig PUBLIC "-//freedesktop//DTD PolicyKit Policy Configuration 1.0//EN" "http://www.freedesktop.org/standards/PolicyKit/1.0/policyconfig.dtd"> <policyconfig> <action id="org.freedesktop.login1.power-off-multiple-sessions"> <description>Shutdown the system when multiple users are logged in</description> <message>System policy prevents shutting down the system when other users are logged in</message> <defaults> <allow_inactive>yes</allow_inactive> <allow_active>yes</allow_active> </defaults> </action> </policyconfig>
You can find all available logind options (e.g. reboot-multiple-sessions) here.
Changing default GDM session
If you want to change the default GDM session, you need to create (or edit) the file ~/.dmrc
[1].
Here is an example to set the default session to Cinnamon:
~/.dmrc
[Desktop] Session=cinnamon
GDM legacy
If you want to fall back to the old GDM, which also has a tool for configuring its settings, compile and install gdm-oldAUR from the AUR.
Troubleshooting
GDM fails on logout
If GDM starts up properly on boot, but fails after repeated attempts on logout, try adding this line to the daemon section of /etc/gdm/custom.conf
:
GdmXserverTimeout=60
gconf-sanity-check-2 exited with status 256
If GDM pops up an error about gconf-sanity-check-2
, you may check permissions in /home
and /etc/gconf/gconf.xml.system
(the latter should be 755
).
If GDM is still printing the message, try to empty the gdm home. Run as root:
rm -rf /var/lib/gdm/.*
If that doesn't help, try to set /tmp
owner and permissions to:
# chown -R root:root /tmp # chmod 777 /tmp
GDM root login
It is not advised to login as root, but if necessary you can edit /etc/pam.d/gdm-password
and add the following line before the line auth required pam_deny.so
:
/etc/pam.d/gdm-password
auth sufficient pam_succeed_if.so uid eq 0 quiet
The file should look something like this:
/etc/pam.d/gdm-password
... auth sufficient pam_succeed_if.so uid eq 0 quiet auth sufficient pam_succeed_if.so uid >= 1000 quiet auth required pam_deny.so ...
You should be able to login as root after restarting GDM.
GDM always uses default US-keyboard
Problem: Keyboard layout always switches to us; layout is reset when a new keyboard is plugged in.
GDM 2.x
Solution:
edit ~/.dmrc
~/.dmrc
[Desktop] Language=de_DE.UTF-8 # change to your default lang Layout=de nodeadkeys # change to your keyboard layout
GDM 3.x
Solution:
add the following line to /etc/X11/xorg.conf.d/10-evdev.conf
, replacing fr with the appropriate keymap
/etc/X11/xorg.conf.d/10-evdev.conf
Section "InputClass" Identifier "evdev keyboard catchall" MatchIsKeyboard "on" MatchDevicePath "/dev/input/event*" Driver "evdev" Option "XkbLayout" "fr" EndSection
keyboard InputClass
section, not any of the other sections.GDM will not load after attempting to set up automatic login
To solve this issue, edit /etc/gdm/custom.conf
from a TTY and comment "AutomaticLoginEnable" and the "AutomaticLogin" lines.
# GDM configuration storage [daemon] #AutomaticLoginEnable=True #AutomaticLogin=user [security] [xdmcp] [greeter] [chooser] [debug]
GDM does not start after upgrading to 3.8 if using Intel graphics
To solve this problem, you may have to set your acceleration method to SNA. For more information, please refer to: Intel_Graphics#Choose_acceleration_method