SLIM
From ArchWiki
Article summary |
---|
Provides an overview of the Simple Login Manager. |
Available in languages |
English |
简体中文 |
Italiano |
Türkçe |
Русский |
Related articles |
Automatic login manager startup |
SLiM is an acronym for Simple Login Manager. SLiM is simple, lightweight and easily configurable. SLiM is used by some because it does not require the dependencies of GNOME or KDE and can help make a lighter system for users that like to use lightweight desktops like Xfce, Openbox, and Fluxbox.
Contents |
Installation
Install SLiM by:
# pacman -Sy slim
Configuration
How to load at startup, start your desktop environment, add themes...
Enabling SLiM
SLiM can be loaded on startup by entering it in your daemons array in rc.conf. There are also alternate ways of doing this too.
Single environments
To configure SLiM to load a particular environment, edit your ~/.xinitrc to load your desktop environment:
#!/bin/sh # # ~/.xinitrc # # Executed by startx (run your window manager from here) # exec [session-command]
SLiM reads the local ~/.xinitrc configuration and then launches the desktop according to what is in that file. If you do not have have a ~/.xinitrc file, can use the skeleton file by:
$ cp /etc/skel/.xinitrc $HOME
Replace [session-command] with the appropriate session command. Some examples of different desktop start commands:
exec openbox-session exec fluxbox (or exec startfluxbox) exec startxfce4 exec gnome-session exec startkde exec fvwm2 exec awesome
If your environment is not listed here, refer to the appropriate wiki page.
PolicyKit
If you have problems with the PolicyKit, use ConsoleKit's ck-launch-session:
#!/bin/sh # # ~/.xinitrc # # Executed by startx (run your window manager from here) # exec ck-launch-session [session-command]
Multiple environments
To be able to choose from multiple desktop environments, SLiM can be setup to log you into whichever you choose.
Put a case statement similar to this one in your ~/.xinitrc file and edit the sessions variable in /etc/slim.conf to match the names that trigger the case statement. You can choose the session at login time by pressing F1. Note that this feature is experimental.
# The following variable defines the session which is started if the user doesn't explicitly select a session # Source: http://svn.berlios.de/svnroot/repos/slim/trunk/xinitrc.sample DEFAULT_SESSION=twm case $1 in kde) exec startkde ;; xfce4) exec startxfce4 ;; icewm) icewmbg & icewmtray & exec icewm ;; wmaker) exec wmaker ;; blackbox) exec blackbox ;; *) exec $DEFAULT_SESSION ;; esac
Themes
Install the slim-themes package:
# pacman -Sy slim-themes archlinux-themes-slim
The archlinux-themes-slim packages contains several different themes. Look in the directory of /usr/share/slim/themes to see the themes available. Enter the theme name on the 'current_theme' line in /etc/slim.conf:
#current_theme default current_theme archlinux-simplyblack
To preview a theme run if no instance of the Xorg server is running by:
$ slim -p /usr/share/slim/themes/<theme name>
To close, type "exit" in the Login line and press Enter.
Dual screen setup
You can customize the slim theme in /usr/share/slim/themes/<your-theme>/slim.theme to turn these percents values:
input_panel_x 50% input_panel_y 50%
into pixels values:
# These settings set the "archlinux-simplyblack" panel in the center of my 1440x900 left screen input_panel_x 495 input_panel_y 325
If your theme has a background picture you should use the background_style setting ('stretch', 'tile', 'center' or 'color') to get it correctly displayed. Have a look at the very simple and clear official documentation about slim themes for further details.
Other options
A few things you might like to try.
Changing the cursor
If you want to change the default X cursor to a newer design, the slim-cursor package is available.
After installing, edit /etc/slim.conf and uncomment the line:
cursor left_ptr
This will give you a normal arrow instead. This setting is forwarded to xsetroot -cursor_name. You can look up the possible cursor names here or in /usr/share/icons/<your-cursor-theme>/cursors/.
To change the cursor theme being used at the login screen, make a file named /usr/share/icons/default/index.theme with this content:
[Icon Theme] Inherits=<your-cursor-theme>
Replace <your-cursor-theme> with the name of the cursor theme you want to use (e.g. whiteglass).
Match SLiM and Desktop Wallpaper
To share a wallpaper between SLiM and your desktop, rename the used theme background, then create a link from your desktop wallpaper file to the default SLiM theme:
# mv /usr/share/slim/themes/default/background.jpg{,.bck} # ln -s /path/to/mywallpaper.jpg /usr/share/slim/themes/default/background.jpg
Shutdown, reboot, suspend, exit, launch terminal from SLiM
You may shutdown, reboot, suspend, exit or even launch a terminal from the SLiM login screen. To do so, use the values in the username field, and the root password in the password field:
- To launch a terminal, enter console as the username (defaults to xterm which must be installed separately... edit /etc/slim.conf to change terminal preference)
- For shutdown, enter halt as the username
- For reboot, enter reboot as the username
- To exit to bash, enter exit as the username
- For suspend, enter suspend as the username (suspend is disabled by default, edit /etc/slim.conf as root to uncomment the suspend_cmd line and, if necessary modify the suspend command itself (e.g. change /usr/sbin/suspend to sudo /usr/sbin/pm-suspend))
Power-off error with Splashy
If you use Splashy and SLiM, sometimes you can't power-off or reboot from menu in GNOME, Xfce, LXDE or others. Check your /etc/slim.conf and /etc/splash.conf; set the DEFAULT_TTY=7 same as xserver_arguments vt07.
Login information with SLiM
By default, SLiM fails to log logins to utmp and wtmp which causes who, last, etc. to misreport login information. To fix this edit your slim.conf as follows:
sessionstart_cmd /usr/bin/sessreg -a -l $DISPLAY %user sessionstop_cmd /usr/bin/sessreg -d -l $DISPLAY %user
Setting DPI with SLiM
The Xorg server generally picks up the DPI but if it doesn't you can specify it to SLiM. If you set the DPI with the argument -dpi 96 in /etc/X11/xinit/xserverrc it will not work with SLiM. To fix this change your slim.conf from:
xserver_arguments -nolisten tcp vt07
to
xserver_arguments -nolisten tcp vt07 -dpi 96
Use a random theme
Use the current_theme variable as a comma separated list to specify a set to randomly choose from.