SLiM (简体中文)

From ArchWiki
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Tango-preferences-desktop-locale-modified.png这篇文章或章节的翻译不反映原文。Tango-preferences-desktop-locale-modified.png

原因:Last content update was in 2012(在 Talk:SLiM (简体中文)# 中讨论)
警告: SliM 显示管理器已经停止开发,SliM 的官方网站已经关闭,此外,SliM 与 systemd 也不是特别的兼容,请考虑换一个 显示管理器,或直接使用 startx。

SLiMSimple Login Manager(简单登录管理器)的缩写。SLiM是简单、轻量级和容易配置的,相对较易在低端和高端的系统中使用。对于那些希望寻找一个不依赖于GNOME或者KDE,可以在XfceOpenboxFluxbox等环境下使用的登录管理器的人来说,SLiM也是非常合适的。

安装

安装位于官方软件仓库的软件包 slim

配置

启用SLiM

注意: slim已经不提供 ConsoleKit 支持,而是使用 systemd-logind,所以系统需要通过 systemd 启动。

启用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 no longer has ConsoleKit support, but relies on systemd-logind, and the system being booted with systemd.

自动登陆

想要使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参数

这个列表显示了所有的参数变量以及其默认值。

注意: welcome_msg 允许2个变量%host%domain
sessionstart_cmd 读取 %user (execd right before login_cmd) 并且它也会读取 sessionstop_cmd
login_cmd allows %session and %theme

更多