XScreenSaver (简体中文) - ArchWiki

# XScreenSaver (简体中文)

翻译状态： 本文是英文页面 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-screensaver 和 xscreensaver，然后仅激活`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设置主题效果.

## 从锁屏画面切换登录用户

当使用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 -- 锁定屏幕并后台关闭任何选定的程序(英文)

Category:

- X server (简体中文)

Hidden category:

- Pages with broken package links