在标准的12.04.3 64位安装中,登录后,在屏幕底部附近只有一个终端窗口,并启动xsnow,它可以正常工作。似乎还残留着xsnow启动时窗口位置的知识,即使将窗口移动或最小化后,雪仍然会截断。当窗口接近屏幕顶部时会出现问题。注销/登录可以清除旧的窗口位置,因此请尝试重新登录(或者也许重新启动X)。对我来说,默认的20秒延迟已经相当接近最小值了,增加该值可能会使雪花显示过多。
xsnow选项在man页面或使用-h开关中进行描述。-delay 30将在更新之间产生30毫秒的延迟,而不是默认的20毫秒。我发现在18毫秒时会出现问题,在15毫秒时则没有雪花,所以在一个正常工作的系统上,太短的延迟会导致问题。
对于13.10版本,"root"窗口的堆叠方式肯定有所不同。12.04 Unity系统具有根、子、孙、桌面、曾孙等级,这些级别会随着雪花的更新而工作。(请参见输出)
`xwininfo -root -tree`
13.10 Unity系统实际上是更新根窗口,而桌面甚至没有一个全屏子窗口。通过调试器,将要更新的窗口更改为桌面确实会出现图像,但它们会擦除背景,所以这不是一个好的解决方案。其他接收更新的窗口都没有显示任何内容,所以我猜这可能是与Unity机制冲突,看起来需要对其进行一些更改才能使其正常工作(因为理想情况下只需更改xsnow程序而无需更改其他内容)。
升级适用于运行Unity的14.04版本
要看到Santa,请放弃Unity桌面,只需创建另一个没有它的X显示。根据需要切换,并且甚至可以使用-display:1在新的显示上运行程序。
首先允许任何人运行X服务器。
dpkg-reconfigure x11-common
将X访问权限设置为所有人都可以访问。
是的,你可以使用sudo来运行,但这样你会在桌面上留下一些属于root的文件,并且无法再使用图形界面登录(如果你这样做了,请使用虚拟终端删除root拥有的文件)。
你是否安装了其他窗口管理器,以便在新的显示器上移动窗口(只有当你想在那里运行其他程序时才需要,如果你只是想看圣诞老人,就不必费心了。即使是像twm这样简单的窗口管理器也可以,选择你最喜欢的一个,它会保留根窗口的显示)。
在虚拟终端上运行以下命令,以获得全屏xsnow效果。
xinit /usr/games/xsnow -- :1 vt8
使用Ctrl-Alt-F7切换回vt7上的原始显示,
使用Ctrl-Alt-F8切换回xsnow
从vt7(原始X服务器:0)创建xterms
xterm -display :1 &
从新的xterm上启动您的窗口管理器,例如在新的显示器上。
twm&
16.04更新:
自从14.04以来,很多东西都出了问题(参见bug#1562219),但您仍然可以运行xsnow:
如果使用Nvidia显卡驱动,请使用nouveau驱动程序。打开软件更新/设置按钮/附加驱动选项卡,选择nouveau。重新启动以确保生效。
登录虚拟终端(例如Ctrl-Alt-F2)
xinit /usr/games/xsnow -- :1 vt2
或者启动一个xterm,并从中启动其他东西,如窗口管理器、xsnow等。只是不要启动unity,它会接管背景。
祝大家圣诞快乐!