想要作为我的屏幕保护程序运行一个视频,我遇到了适当配置它的问题。我在这里用问答格式总结解决方案。
发布于 2023-05-17 09:01:59
屏幕保护程序在~/.xscreensaver中配置。在使用xscreensaver-demo时对其进行了修改,在XFCE下,在Whisker菜单中将其命名为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分隔的命令列表。尾随的\只是表示行的延续,这样长的列表就不会出现在单行上。格式是“程序名”命令参数..。\n如果"PROGRAM NAME"是可选的,则给出"是必需的。未指定时,xscreensaver-demo中显示的名称是从COMMAND派生出来的,例如helix显示为Helix。命令实际上不可用的程序将不会在xscreensaver-demo中列出,因此如果没有显示视频播放器命令,可能会有错误的输入。假设有一个视频文件/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告诉mplayer无限期地循环视频。-nosound,嗯,禁用声音输出。通常更适合屏幕保护程序。-fixed-vo,因为默认情况下,mplayer会在每个视频之后重新初始化播放窗口。对于屏幕保护程序循环单个视频,这意味着有闪烁时,视频开始,而不是顺利播放。使用-fixed-vo,可以实现流畅的回放,但是论坛线程提到,它可能会在某些系统上使程序崩溃。如果您只看到一个黑色屏幕,或者视频只播放一次,如果此设置是原因,则可能值得一试。-wid $XSCREENSAVER_WINDOW。我本以为-rootwin选项会产生同样的效果,但事实并非如此。如果您希望播放多个视频文件,只需添加所有文件名即可。命令是通过shell执行的,因此也可以使用通配符,例如/home/user/myscreensavervideos/*。
在这种情况下,添加-shuffle选项也可能是可取的。
mplayer诉mpv在寻找使用视频作为屏幕保护程序的方法时,我主要是使用mpv解决方案。我选择了mplayer,因为它已经安装在我的系统上了。这是一个重要的标准,当您在工作站上,您没有根访问。
https://unix.stackexchange.com/questions/746144
复制相似问题