SLiM 是Simple Login Manager(簡單登錄管理器)的縮寫。SLiM是簡單、輕量級和容易配置的,相對較易在低端和高端的系統中使用。對於那些希望尋找一個不依賴於GNOME或者KDE,可以在Xfce、Openbox、Fluxbox等環境下使用的登錄管理器的人來說,SLiM也是非常合適的。
安裝
配置
啟用SLiM
啟用slim 服務. 啟用 systemd 之後,已經無法使用 inittab 啟動 slim。
單用戶環境
要將SLiM配置為加載某個特定的環境,只需編輯~/.xinitrc 如下:
#!/bin/sh # # ~/.xinitrc # # Executed by startx (run your window manager from here) # exec [session-command]
將[session-command]替換為適當的會話命令。例如:
exec awesome exec dwm exec startfluxbox exec fvwm2 exec gnome-session exec openbox-session exec startkde exec startlxde exec startxfce4 exec enlightenment_start
如果你的桌面環境不在上述列表中,請參考你的軟體文檔。
Remember to make ~/.xinitrc executable:
chmod +x ~/.xinitrc
自動登錄
想要使SLiM自動以特定用戶身份登錄(無須輸入密碼),需要修改 /etc/slim.conf 中的以下幾行。
# default_user simone
取消該行的注釋,然後將「simone」改為需要自動登錄的用戶名。
# auto_login no
取消該行的注釋,然後將『no』改為『yes』。自動登錄功能就被啟用了。
Zsh
默認的登錄命令不能正確初始化你的環境 [source]。 將 login_cmd 一行改為:
#login_cmd exec /bin/sh - ~/.xinitrc %session login_cmd exec /bin/zsh -l ~/.xinitrc %session
多桌面環境
如果你希望可以加載多個不同的桌面環境,SLiM可以設置為登錄到你指定的任何一個桌面環境。
在你的/etc/X11/xinit/xinitrc文件中加入一段類似下面內容的case語句,並且編輯/etc/slim.conf中的sessions變量。 你可以在登錄界面上按F1選擇會話。請注意這個特性仍處於實驗階段。
# The following variable defines the session which is started if the user doesn't explicitly select a session 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
範例源碼: http://svn.berlios.de/svnroot/repos/slim/trunk/xinitrc.sample
SLiM的文檔: http://slim.berlios.de/manual.php
主題
安裝slim-themes包軟體包:
# pacman -S slim-themes archlinux-themes-slim
軟體包 archlinux-themes-slim包 包含了多個不同主題。可以在 /usr/share/slim/themes 中查看。在to see the themes available. Enter the theme name on the current_theme line in /etc/slim.conf:
編輯/etc/slim.conf中的current_theme那行,將"default"改為你想要的主題名:
#current_theme default current_theme archlinux-simplyblack
要預覽一個主題,可以運行
$ slim -p /usr/share/slim/themes/<theme name>
要退出,只需在登錄行輸入 "exit" 並回車。
多屏幕設置
定製 /usr/share/slim/themes/<your-theme>/slim.theme 中的主題,修改百分比,就可以在多屏幕環境使用。假設寬為 450 高為 250 :
input_panel_x 50% input_panel_y 50%
修改為:
# 将 "archlinux-simplyblack" 面板放在 1440x900 屏幕的中间 input_panel_x 495 input_panel_y 325
# 将 "archlinux-retro" 面板放在 1680x1050 屏幕的中间 input_panel_x 615 input_panel_y 400
如果主題有背景圖片,可以設置背景樣式('stretch', 'tile', 'center' 或 'color')。更多信息請訪問 slim 主題的標準文檔。
增強Slim功能
slim登錄腳本主要靠你自己寫,這對很多人來說比較困難,比如自動加載一些配置文件如~/.xprofile, ~/.xmodmap等。而且slim還無法記住上次登錄使用的桌面環境。
AUR裡面有個包slim-plus可以解決這些問題。提供了一個Xsession腳本增強slim功能,加載配置文件,記住上次會話等。非常適合xfce等小型桌面環境。而且包含很多實用補丁。如果你想自己編寫啟動腳本,那裡帶的Xsession腳本可以做參考。
安裝完成後,如果以前使用的就是slim,那麼需要編輯slim來使用/etc/X11/Xsession來加載會話,找到如下行:
login_cmd exec /bin/bash -login ~/.xinitrc %session
替換為
login_cmd exec /bin/bash -login /etc/X11/Xsession %session
只需要修改/etc/slim.conf的Sessions行,添加你需要的會話,slim啟動後按F1選擇就可以了。會話的名稱可以在/usr/share/xsessions/下的*.desktop處得到。
如果你安裝的桌面環境沒有提供.desktop文件,就需要自行編輯/etc/X11/Xsession文件尾部,不過腳本本身帶有提供很多窗口管理器的啟動腳本。
Xsession腳本會自動加載常見配置文件。使用ck-launch-session加載桌面,解決一些掛載,無法關機等問題。並且使用~/.dmrc記錄上次會話。由於slim功能有限,暫時無法選擇語言。你自己可以編輯~/.dmrc來設置語言為中文。
Language=zh_CN.UTF-8
設置和Splashy一起工作時正常關機
如果你同時使用splashy和slim,有時你無法在gnome,xfce,lxde,等桌面環境中正常關機或者重啟。 那麼請檢查你的/etc/slim.conf 和 /etc/splash.conf, 設置需要為 DEFAULT_TTY=7 或者 xserver_arguments vt07.
Slim的登錄信息
By default, Slim fails to log logins to utmp and wtmp which causes who, last, etc.. to misreport login information. 修正這些你需要編輯你的slim.conf:
sessionstart_cmd /usr/bin/sessreg -a -l $DISPLAY %user sessionstop_cmd /usr/bin/sessreg -d -l $DISPLAY %user
設置默認DPI
如果你設置DPI是通過在/etc/X11/Xinit/Xserverrc中添加參數-dpi 96,那麼設置在slim中是不起作用的。你需要在slim.conf中這樣設置:
xserver_arguments -nolisten tcp vt07
更改為:
xserver_arguments -nolisten tcp vt07 -dpi 96
使用隨機主題
在slim.conf中的current_theme行,添加多個主題,使用,分隔就可以使用隨機主題了。
更多的Slim參數
這個列表顯示了所有的參數變量以及其默認值。
sessionstart_cmd 讀取 %user (execd right before login_cmd) 並且它也會讀取 sessionstop_cmd
login_cmd allows %session and %theme
| Option Name | Default Value |
|---|---|
| default_path |
/bin:/usr/bin:/usr/local/bin
|
| default_xserver |
/usr/bin/X
|
| xserver_arguments |
vt07 -auth /var/run/slim.auth
|
| numlock | |
| daemon |
yes
|
| xauth_path |
/usr/bin/xauth
|
| login_cmd |
exec /bin/bash -login ~/.xinitrc %session
|
| halt_cmd |
/sbin/shutdown -h now
|
| reboot_cmd |
/sbin/shutdown -r now
|
| suspend_cmd | |
| sessionstart_cmd | |
| sessionstop_cmd | |
| console_cmd |
/usr/bin/xterm -C -fg white -bg black +sb -g %dx%d+%d+%d -fn %dx%d -T
|
| screenshot_cmd |
import -window root /slim.png
|
| welcome_msg |
Welcome to %host
|
| session_msg |
Session:
|
| default_user | |
| focus_password |
no
|
| auto_login |
no
|
| current_theme |
default
|
| lockfile |
/var/run/slim.lock
|
| logfile |
/var/log/slim.log
|
| authfile |
/var/run/slim.auth
|
| shutdown_msg |
The system is halting...
|
| reboot_msg |
The system is rebooting...
|
| sessions |
wmaker,blackbox,icewm
|
| sessiondir | |
| hidecursor |
false
|
| input_panel_x |
50%
|
| input_panel_y |
40%
|
| input_name_x |
200
|
| input_name_y |
154
|
| input_pass_x |
-1
|
| input_pass_y |
-1
|
| input_font |
Verdana:size=11
|
| input_color |
#000000
|
| input_cursor_height |
20
|
| input_maxlength_name |
20
|
| input_maxlength_passwd |
20
|
| input_shadow_xoffset |
0
|
| input_shadow_yoffset |
0
|
| input_shadow_color |
#FFFFFF
|
| welcome_font |
Verdana:size=14
|
| welcome_color |
#FFFFFF
|
| welcome_x |
-1
|
| welcome_y |
-1
|
| welcome_shadow_xoffset |
0
|
| welcome_shadow_yoffset |
0
|
| welcome_shadow_color |
#FFFFFF
|
| intro_msg | |
| intro_font |
Verdana:size=14
|
| intro_color |
#FFFFFF
|
| intro_x |
-1
|
| intro_y |
-1
|
| background_style |
stretch
|
| background_color |
#CCCCCC
|
| username_font |
Verdana:size=12
|
| username_color |
#FFFFFF
|
| username_x |
-1
|
| username_y |
-1
|
| username_msg |
Please enter your username
|
| username_shadow_xoffset |
0
|
| username_shadow_yoffset |
0
|
| username_shadow_color |
#FFFFFF
|
| password_x |
-1
|
| password_y |
-1
|
| password_msg |
Please enter your password
|
| msg_color |
#FFFFFF
|
| msg_font |
Verdana:size=16:bold
|
| msg_x |
40
|
| msg_y |
40
|
| msg_shadow_xoffset |
0
|
| msg_shadow_yoffset |
0
|
| msg_shadow_color |
#FFFFFF
|
| session_color |
#FFFFFF
|
| session_font |
Verdana:size=16:bold
|
| session_x |
50%
|
| session_y |
90%
|
| session_shadow_xoffset |
0
|
| session_shadow_yoffset |
0
|
| session_shadow_color |
#FFFFFF
|