XScreenSaver (简体中文)

From ArchWiki
(Redirected from Xscreensaver (简体中文))
Jump to: navigation, search
翻译状态: 本文是英文页面 Xscreensaver翻译,最后翻译时间:2013-02-08,点击这里可以查看翻译后英文页面的改动。

Xscreensaver 是 X 窗口系统的屏保和锁屏工具。

安装XScreenSaver

你可以使用pacman安装位于软件仓库xscreensaver软件包.

或者,你可以安装AUR中的一个修改版的xcreensaver(xscreensaver-arch-logoAUR),安装xscreensaver-arch-logoAUR相比于前者,有以下几个好处:

  1. 因为makepkg (简体中文)使用源码编译,因此最后得到的软件包会包含针对你机器的优化(前提是你的/etc/makepkg.conf中有优化的CFLAGS 和 CXXFLAGS 设置)
  2. 该软件包含有Archlinux标识
  3. 如果使用的是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才会在后台运行。

注意: Xfce会自启动XScreenSaver,设置在/etc/xdg/xfce4/xinitrc,为了保证该设置有效,切记.xinitrc中使用的是 startxfce4,而非 xfce4-session
exec startxfce4

多用户环境

如果你使用了登录管理器 (比如 SLiM, GDM, KDM),启动XScreenSaver最好是通过登录管理器提供的接口,从而实现多用户之间的切换。例如,使用的是GNOME,则安装 gnome-screensaverxscreensaver,然后仅激活gnome-screensaver ,这样当用户离开,屏幕锁定之后,其他用户可以通过XScreenSaver锁屏窗口切换登录。

注意: 登录管理器的screensaver可能不具备某些原生XScreenSaver自带功能(例如截屏,使用预定义路径下的照片等)

除了上述办法(即安装登录管理器定制的screensaver),也可以修改~/.xscreensaver(用户设置)或者/usr/share/X11/app-defaults/XScreenSaver(全局设置)实现多用户支持。只需要在配置文件中添加:

newLoginCommand: /usr/bin/gdmflexiserver
注意: 该命令用于GDM登录管理器,如果使用的是不同的登录管理器,需要对其做相应的更改

锁屏

xscreensaver已经启动,你通过下面的命令触发锁屏:

$ xscreensaver-command --lock

多媒体程序设置禁用XScreenSaver

MPlayer

~/.mplayer/config中加入下面一行代码:

heartbeat-cmd="xscreensaver-command -deactivate >&- 2>&- &"

XBMC

XBMC本身并不支持禁用XScreenSaver(尽管XBMC本身具备自己的screensaver)。AUR中有第三方程序叫做caffeine-bzrAUR[broken link: archived in aur-mirror]的可以实现禁用锁屏的功能。程序启动之后将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设置主题效果(参考XScreenSaver 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 -- 锁定屏幕并后台关闭任何选定的程序(英文)