XScreenSaver (简体中文)
Xscreensaver 是 X 窗口系统的屏保和锁屏工具。
Contents
安装XScreenSaver
你可以使用pacman安装位于软件仓库 的 xscreensaver软件包.
或者,你可以安装AUR中的一个修改版的xcreensaver(xscreensaver-arch-logoAUR),安装xscreensaver-arch-logoAUR相比于前者,有以下几个好处:
- 因为makepkg (简体中文)使用源码编译,因此最后得到的软件包会包含针对你机器的优化(前提是你的
/etc/makepkg.conf
中有优化的CFLAGS 和 CXXFLAGS 设置) - 该软件包含有Archlinux标识
- 如果使用的是GNOME (简体中文), 该软件包会在系统设置中提供XScreenSaver的设置项(软件仓库中软件包没有提供)。
配置XScreenSaver
全局配置位于/usr/share/X11/app-defaults/XScreenSaver
。一般标准安装无需编辑该文件。你可以运行xscreensaver-demo个性化配置大部分选项(非全局)。
$ xscreensaver-demo
DPMS 设置
XScreenSaver 独立进行显示设备的电源管理 (DPMS),会覆盖 X 本身的设置。要设置挂起、关闭显示器的时间,可以使用 xscreensaver-demo 或编辑配置文件~/.xscreensaver
,
timeout: 1:00:00 cycle: 0:05:00 lock: False lockTimeout: 0:00:00 passwdTimeout: 0:00:30 fade: True unfade: False fadeSeconds: 0:00:03 fadeTicks: 20 dpmsEnabled: True dpmsStandby: 2:00:00 dpmsSuspend: 2:00:00 dpmsOff: 4:00:00
启动XScreenSaver
单用户环境
安装软件包之后,xscreensaver需要配置开机自启动。编辑~/.xinitrc
,加入下面一行代码,这样xscreensaver
程序就会由桌面环境启动。
/usr/bin/xscreensaver -no-splash &
注意最后的&
符号必须添加,这样xscreensaver才会在后台运行。
多用户环境
如果你使用了登录管理器,启动XScreenSaver最好是通过登录管理器提供的接口,从而实现多用户之间的切换。例如,使用的是GNOME,则安装 gnome-screensaver 和 xscreensaver,然后仅激活gnome-screensaver
,这样当用户离开,屏幕锁定之后,其他用户可以通过XScreenSaver锁屏窗口切换登录。
除了上述办法(即安装登录管理器定制的screensaver),也可以修改~/.xscreensaver
(用户设置)或者/usr/share/X11/app-defaults/XScreenSaver
(全局设置)实现多用户支持。只需要在配置文件中添加:
newLoginCommand: /usr/bin/gdmflexiserver
锁屏
当xscreensaver
已经启动,你通过下面的命令触发锁屏:
$ xscreensaver-command --lock
多媒体程序设置禁用XScreenSaver
MPlayer
在~/.mplayer/config
中加入下面一行代码:
heartbeat-cmd="xscreensaver-command -deactivate >&- 2>&- &"
XBMC
XBMC本身并不支持禁用XScreenSaver(尽管XBMC本身具备自己的screensaver)。AUR中有第三方程序叫做caffeine-bzrAUR的可以实现禁用锁屏的功能。程序启动之后将xbmc.bin
加入到自动激活应用列表中即可。
Adobe Flash/MPlayer/VLC
flash本身不支持禁用XScreenSaver,一个叫做lightsOn的脚本可以很好的完成这一功能,该脚本支持Firefox、Chromium的flash插件以及Mplayer和VLC。
XScreenSaver用作动态壁纸
你可以像桌面壁纸一样后台运行xscreensaver
首先停止所有控制桌面背景的程序(the root window),之后找到XScreenSaver的目录(通常在/usr/lib/xscreensaver/
),执行下面的命令:
$ /usr/lib/xscreensaver/glslideshow -root &
使用xcompmgr实现XScreenSaver做动态壁纸
直接运行xcompmgr
可能会引起错误,所以需要使用xwinwrap
来运行xcompmgr
。 你可以在AUR中找到,名称是shantz-xwinwrap-bzrAUR。
通过下面的命令执行xwinwrap
$ xwinwrap -b -fs -sp -fs -nf -ov -- /usr/lib/xscreensaver/glslideshow -root -window-id WID &
主题设置
XScreenSaver的解锁屏幕可以用X resources设置主题效果.
从锁屏画面切换登录用户
当使用GDM或者KDM)登录管理器时,通常xscreensaver锁屏画面中“切换用户”按钮会调用/usr/bin/gdmflexiserver
来切换登录。其他登录管理器如LightDM,LXDM也支持该功能。
LXDM
只需将下面的代码贴到~/.xscreensaver
就能使用lxdm的切换用户功能。
*newLoginCommand: lxdm -c USER_SWITCH
Lightdm
类似地,将下面的代码贴到~/.xscreensaver
启用多用户切换功能。
*newLoginCommand: dm-tool switch-to-greeter
更多信息
PanicLock -- 锁定屏幕并后台关闭任何选定的程序(英文)