想要运行视频作为我的屏幕保护程序,我遇到了正确配置它的问题。我在这里以问答的形式总结解决方案。
答案1
一、背景
屏幕保护程序在 中配置~/.xscreensaver
。使用 时会对其进行修改,在 XFCE 下仅在 Whisker 菜单中xscreensaver-demo
命名。Screensaver
要添加程序,请转到设置programs:
,它应该类似于
mode: one
selected: 0
textMode: url
textLiteral: XScreenSaver
textFile:
textProgram: fortune
textURL: https://en.wikipedia.org/w/index.php?title=Special:NewPages&feed=rss
programs: \
GL: superquadrics -root \n\
attraction -root \n\
blitspin -root \n\
- greynetic -root \n\
helix -root \n\
hopalong -root \n\
...
mode: one
意味着使用固定的屏幕保护程序,而不是例如随机选择的屏幕保护程序或只是空白屏幕。这是“将视频作为屏幕保护程序播放”用例的最合适的设置。selected: 0
programs
表示使用列表中的第一个条目。手册页明确指出要通过xscreensaver-demo
而不是手动设置它,但是当在列表顶部添加自定义程序时,将其设置为0
一个足够好的选项。text*:
选项与这个问题并不真正相关,但默认情况下就有。programs:
是命令列表,以 分隔\n
。尾随\
仅意味着行继续,以便长列表不会在一行上。格式为"PROGRAM NAME" COMMAND ARGUMENTS... \n
其中
"PROGRAM NAME"
是可选的,"
如果给出则为必需的。当未指定时,中显示的名称xscreensaver-demo
源自COMMAND
,例如helix
显示为Helix
。命令实际上不可用的程序不会列在 中xscreensaver-demo
,因此如果视频播放器命令未显示,则可能输入了错误的内容。
2. 配置示例
假设有一个视频文件/home/user/black_hole.mp4
。然后将其添加为正确命名的屏幕保护程序选项,programs:
设置更改为
programs: \
"Black Hole" mplayer -loop 0 -nosound -fixed-vo \
-wid $XSCREENSAVER_WINDOW \
/home/user/black_hole.mp4 \n\
maze -root \n\
GL: superquadrics -root \n\
attraction -root \n\
blitspin -root \n\
...
不要担心使用适当位置的续行。无论如何,屏幕保护程序都会读取并重写该文件,从而导致任何自定义格式丢失,并且命令和名称大致如上所示对齐。
在给定的示例中,
"Black Hole"
是配置的屏幕保护程序的显示名称。如果没有这个双引号字符串,它只会Mplayer
在 中调用xscreensaver-demo
。-loop 0
告诉播放器无限循环播放视频。-nosound
,嗯,禁用声音输出。通常更适合屏幕保护程序。-fixed-vo
是必需的,因为默认情况下mplayer
会在每个视频之后重新初始化播放窗口。对于循环播放单个视频的屏幕保护程序,这意味着视频重新开始时会出现闪烁,而不是流畅播放。使用-fixed-vo
,可以实现流畅的播放,但论坛帖子提到它可能会在某些系统上使程序崩溃。如果您只看到黑屏,或者视频只播放一次,如果此设置是原因,那么可能值得尝试。-wid $XSCREENSAVER_WINDOW
需要这样才能在屏幕保护程序上实际看到视频播放。我本来期望该-rootwin
选项具有相同的效果,但事实并非如此。
3.多个视频文件。
如果您想播放多个视频文件,只需添加所有文件名即可。该命令是通过 shell 执行的,因此也可以使用通配符,例如/home/user/myscreensavervideos/*
。
在这种情况下,添加该-shuffle
选项可能也是可取的。
4.mplayer
对比mpv
在寻找使用视频作为屏幕保护程序的方法时,我主要想到了使用mpv
.我选择了mplayer
它,因为它已经安装在我的系统上。当您在没有 root 访问权限的工作站上时,这是一个重要的标准。