SLiM Configuration
Views
Actions
Namespaces
Variants
Tools
Overview
SLiM - the Simple Login Manager - is currently the default Display Manager for the Manjaro Openbox (ManjaroBox) flavour.
SLiM is highly configurable with an abundance of extra themes available. Since version 1.6.2, it has become suitable for less experienced users as it can now automatically detect any installed desktop environments and window managers. However, users installing SLiM manually will still need to make an amendment to the '.xinitrc configuration file for it to work properly.
Configuring SLiM to Start Desktop Environments
Users who have installed an earlier version of SLiM (e.g. provided with the Manjaro Openbox 0.8.7.1 release and earlier) will need to manually edit both the SLiM configuration file (slim.conf) and the X-Windows initialisation file (.xinitrc) in order to enable the new auto-detect feature. Users who have manually installed the latest version of SLiM will only need to manually edit the .xinitrc file. The amendments required are themselves very quick and easy to implement.
Edit the SLiM Configuration File
The purpose of checking and/or editing this file is to ensure that SLiM will automatically detect installed desktop environments and window managers. You will need to first open your terminal in order to edit the SLiM configuration file. The syntax of the command to do this is:
sudo [text editor] /etc/slim.conf
For example, if you wish to edit the file using Geany (provided with the Openbox flavour) then enter:
gksu geany /etc/slim.conf
Otherwise, if you wish to edit the file using Gedit (provided with the XFCE flavour) then enter:
sudo gedit /etc/slim.conf
Ensure SLiM Automatically Detects Installed Environments
Once the SLiM configuration file has been opened, it will be necessary to ensure that the following line is present:
sessiondir /usr/share/xsessions/
Users who had a previous version of SLiM installed must replace the sessions command with the above sessiondir command. For example, users who installed Manjaro Openbox 0.8.7.1 or earlier should first find the following section:
# Available sessions (first one is the default). # The current chosen session name is replaced in the login_cmd # above, so your login command can handle different sessions. # see the xinitrc.sample file shipped with slim sources sessions xfce,gnome3,kde,cinnamon,razor-qt,openbox,lxde,mate
And make the necessary amendment so that it now looks like this:
# Available sessions (first one is the default). # The current chosen session name is replaced in the login_cmd # above, so your login command can handle different sessions. # see the xinitrc.sample file shipped with slim sources sessiondir /usr/share/xsessions/
Once satisfied that the sessiondir command is present and/or has replaced the old sessions command, save and close the file. The next - and final - step necessary is to edit and configure the X-Windows Initialisation File.
Edit the X-Windows Initialisation File
The .xinitrc is responsible for actually starting your installed desktop environment(s). You will need to first open your terminal in order to edit the X-Windows initialisation file. The syntax of the command to do this is:
sudo [text editor] ~/.xinitrc
Don't forget the dot. For example, if you wish to edit the file using Geany, then enter:
geany ~/.xinitrc
Otherwise you could use the Gedit text editor instead, by entering the command:
gedit ~/.xinitrc
Ensure the X-Windows Initialisation File Runs Installed Environments
Once the .xinitrc configuration file has been opened, it will be necessary to ensure that the following line is present at the very end of the configuration file:
exec $1
Users who had a previous version of SLiM installed must completely replace both the previous case "$1" and DEFAULTSESSION= commands listed below with the exec $1 command. For example, users who installed Manjaro Openbox 0.8.7.1 or earlier should first find the following section:
DEFAULTSESSION=openbox-session case "$1" in openbox) exec openbox-session ;; xfce) exec xfce4-session ;; gnome3) exec gnome-session ;; kde) exec startkde ;; cinnamon) exec gnome-session-cinnamon ;; razor-qt) exec razor-session ;; lxde) exec lxsession ;; mate) exec mate-session ;; *) exec $DEFAULTSESSION ;; esac
And make the necessary amendment so that it now looks like this:
exec $1
To clarify for newer users, the entire .xinitrc file should now look like this:
#!/bin/sh # # ~/.xinitrc # # Executed by startx (run your window manager from here) # ## Ensure that the D-Bus Communication System is running properly to fix ## File management, authentication, and other essential system processes if which dbus-launch >/dev/null && test -z "$DBUS_SESSION_BUS_ADDRESS"; then eval "$(dbus-launch --sh-syntax --exit-with-session)" fi ## Ensure that GTK themes are applied uniformly in the Desktop Environment export GTK2_RC_FILES="$HOME/.gtkrc-2.0" ## Where the default Home folders have not already been created, generate them if [ -x /usr/bin/xdg-user-dirs-update ]; then /usr/bin/xdg-user-dirs-update fi ## Ensure that obmenu-generator (a pipe menu) is set to the user. ## Needs only to be run once, so last sed command hashes the sed ## commands! sed 's/_user_/'$(whoami)'/' ~/.config/obmenu-generator/schema.pl -i sed 's/_user_/'$(whoami)'/' ~/.config/obmenu-generator/config.pl -i exec $1
Once satisfied that the exec $1 command is present and/or has replaced the old case "$1" and DEFAULTSESSION= commands, save and close the file. Now reboot the system for the changes to take effect.
Selecting Multiple Desktop Environments
Where two or more desktop environments have be installed (or at least just Openbox), then they can be cycled and selected by pressing the F1 key on the SLiM login screen.
Previewing Installed Themes
Thankfully, it is not necessary to repeatedly edit the SLiM configuration file and re-boot your system in order to see what the installed themes look like. More conveniently, they can instead be previewed in the terminal. To do so, once the themes have of course been installed:
1. Change to the directory that contains the themes by entering the following command:
cd /usr/share/slim/themes/
2. List the installed themes available by entering the following command:
ls
3. Preview any and all installed themes listed. The syntax of the command to do so is:
slim -p [name of theme]
For example, to preview a listed theme called mindlock, the following command would be entered
slim -p mindlock
To exit from a theme currently being previewed, simply type exit into the user name field and then press <enter>
Changing Themes
A particularly strong feature of SLiM that has attracted many users is the abundance of varied and wide-ranging themes available for it. Moreover, these themes are very easy to set. To install all available themes for SLiM from the official Manjaro repositories, enter the following command in the terminal:
sudo pacman -S slim-themes archlinux-themes-slim
Open the SLiM Configuration File
You will need to first open your terminal in order to edit the SLiM configuration file. The syntax of the command to do this is:
sudo [text editor] /etc/slim.conf
For example, if you wish to edit the file within the terminal using nano (a standard terminal-based text editor) then enter:
sudo nano /etc/slim.conf
Otherwise - if you have installed the full version of Manjaro (i.e. not the NET-Edition) - you may find it easier to use the pre-installed gedit text editor instead. This will open the configuration file up as a document, making it easier to read and edit. To use gedit instead, the command is:
sudo gedit /etc/slim.conf
Set the Desired Theme
Enabling the automatic login is undertaken in the following section, located near the bottom of the SLiM configuration file:
# current theme, use comma separated list to specify a set to # randomly choose from current_theme default
To change the theme, simply replace the name of the current theme listed after the current_theme command (e.g. default) with the name of the desired theme to set. As an example, SliM has been configured to use the mindlock theme:
# current theme, use comma separated list to specify a set to # randomly choose from current_theme mindlock
Once your amendments have been completed, you can save your changes and close the configuration file by:
- nano: Press CTRL and 'x' to exit, 'y' to save, and <enter> to finish, or
- gedit: Select the 'save' option and then close the window.
SLiM Login Commands
SLiM also provides a number of basic functions in addition to logging into a desktop environment. To use these features, simply enter the following commands into the user name field:
- exit - Return to the command line
- halt - Shutdown the system
- reboot - Reboot the system
- console - Launch the terminal
Enable Auto-Login
It is indeed possible to enable automatic login. To do so, it will be necessary to edit both the SLiM configuration file (slim.conf) and the and the X-Windows initialisation file. Instructions on how to actually open these files to edit them have been omitted as they have already been provided earlier in the article.
Enable Auto-Login in the SLiM Configuration file
Once the SLiM configuration file has been opened, follow the three steps provided.
1. Sash-out the the following command, as it is no longer-necessary to auto-detect installed desktop environments:
sessiondir /usr/share/xsessions/
It should therefore look like this:
#sessiondir /usr/share/xsessions/
2. Amend the following line to set yourself as the default user by removing the hash, and replacing 'simone' with your account name:
#default_user simone
For example, for the user 'carl', the line would be changed to:
default_user carl
3. Finally, enable auto-login by amending the following line:
#auto_login no
It should therefore look like this:
auto_login yes
Once complete, save and close the file. All that is required now is to edit the .xinitrc file.
Set the Desktop Environment in the .xinitrc Configuration file
Once the SLiM Configuration file has been amended, exec $1 must be replaced with the session (i.e. Desktop Environment or Window Manager) to run automatically. The syntax of the new command is:
exec [desktop-session]
For example, to set Openbox as the default session to log into automatically, the following command would be used:
exec openbox-session
Here are a sample of exec commands for popular desktops to aid new users:
exec openbox-session exec xfce4-session exec gnome-session exec startkde exec cinnamon-session exec razor-session exec lxsession exec mate-session
Once complete, save and close the file. Reboot the system for the changes to take effect.