Xsnow不起作用


23

我已经xsnow用Apt 安装了旧程序。该程序应该使雪(降水类型)出现在桌面上。但是,运行该程序除了返回以下代码外什么都不做:

Xsnow-1.42resizeable, December 14th 2001 by Rick Jansen (rja@euronet.nl)
WWW: http://www.euronet.nl/~rja/Xsnow/

这是因为该程序旨在在根X窗口上绘制雪,如网站上所述:

常见问题解答:我启动Xsnow,但是没有下雪吗? 答:Xsnow在X窗口“根”窗口上下雪。该根窗口通常被桌面管理器遮盖,以显示图标和工具。因此,Xsnow正常工作,您根本看不到雪!有关详细信息和可能的解决方案,请参见自述文件。

我在Ubuntu 13.10 VM,Kubuntu 13.10和14.04以及Lubuntu Trusty Live USB上进行了尝试。它在Xubuntu中工作,因为在Xfce中,默认情况下会看到根X窗口。在聊天中,有人报告说它可以在Ubuntu 12.04中工作,但是在我的Ubuntu 13.10 VM中我看不到下雪。

正如我所提到的,问题是,xsnow它仅在根X Window上绘制。根X窗口是所有其他X窗口的“父”窗口,因此也是不可见的,因为现代桌面环境(例如KDE和Unity)通常使用桌面效果合成器隐藏根X窗口。因此xsnow仍然会下雪(由于图形碎片,您在登录和注销时可能会抢走它)只是看不见。在Openbox和XFCE等较简单的桌面上,X窗口(因此也可以看到雪)是完全可见的。

有什么方法可以查看根X窗口活动并因此查看积雪吗?


它可以在XFCE上使用,这就是我所使用的。只是让你知道。我在13.10以上。
RobotHumans 2013年

终端哪里有错误?
Mateo 2013年

@hbdgaf很高兴知道,我正要向启动板发送一个错误报告,以使人们知道需要将其删除才能正常运行。将与Lubuntu进行测试。
理查德

3
有一个compiz插件可以做同样的事情。这个还有些陈旧,也许甚至现在都无法使用,但是如果有人想尝试一下,这里就是来源。(我不会。)
福尔克纳

刚在Openbox会话中尝试过...八角形雪花...
理查德

Answers:


8

使用KDE可以使用kwin-snow-effect包。

如何安装:

sudo apt-add-repository ppa:ivan-safonov/ppa
sudo apt-get update
sudo apt-get install kwin-effect-snow

然后在KDE中,您可以从System Settings-> Desktop Effects-> 设置效果All Effects并激活积雪。

您还可以使用Compiz插件Snow,检查其如何在此Youtube视频中正常工作

我发现xwinwrap可以让您将任何应用程序保留为桌面背景。单击此处下载它,或单击此处以阅读编码器的发行说明

它不能让您访问根窗口(在大多数桌面环境中这似乎很困难)。而且此版本不适用于xsnow,但可以与许多其他应用程序兼容...


哦,不,它使我的桌面崩溃了!会再试一次。
理查德

刚尝试过kwin效果,我使用KDE。请检查以下答案:askubuntu.com/a/65522/226084有关如何使compiz snow插件正常工作的问题
yilmi 2013年

4

只是在12.04上做了一些测试(可能这不是13.10的答案,但是对于那些想要在12.04上进行测试的人来说)

如果在gnome-tweak-tool中,请在“ 桌面”下,选中“让文件管理器处理桌面”。然后在Unity和Unity-2D中都xsnow可以工作。在统一2d模式下,空中的雪是完全看不见的,只有倒下的雪才可见,但这是因为我的图形卡及其驱动程序。在Unity中,它工作完美。

如果我在gnome-tweak-tool中取消选中“让文件管理器处理桌面”,那么xsnow即使在Unity和Unity-2D中都不会启动并引发错误


4

我是Precise with Unity环境的用户,在执行以下命令之前遇到了同样的问题:

gsettings set org.gnome.desktop.background show-desktop-icons true

xsnowSnap


这是xsnow手册页注释的摘录:

SGI Irix 5.x

只要可以看到桌面图标,Silicon Graphics和Irix 5.x用户可能根本看不到大雪或圣诞老人。要解决此问题,请发出以下命令:

/usr/lib/desktop/telldesktop quit

图标将消失,Xsnow将正常运行。要重新启动桌面,只需启动

/usr/lib/desktop/startdesktop

或从工具箱中选择“ 桌面”->“主目录”。

甚至可能同时具有-桌面图标和xsnow(甚至多个办公桌)。您需要修改窗口管理器的资源文件4DWm,文件〜/ .desktop- hostname/ 4DWm。例:

  • Global.backgroundDescription: -execute /etc/killall -TERM xsnow ; /usr/local/bin/xsnow
  • Desk 1.backgroundDescription: -execute /etc/killall -TERM xsnow ; /usr/local/bin/xsnow
  • Desk 2.backgroundDescription: -execute /etc/killall -TERM xsnow ; /usr/local/bin/xsnow

从工具箱中重新启动窗口管理器(4Dwm),将出现Xsnow。这样做是停止当前运行的Xsnow,并在切换到另一个桌面时启动一个新的Xsnow。


谢谢,但是不幸的是,在Ubuntu 13.10中仍然没有下雪!
理查德

我不是Silicon Graphics或Irix用户,我是使用KDE的Radeon花花公子。该命令也导致了bash: /usr/lib/desktop/telldesktop: No such file or directory。感谢您提及自述文件的这一部分。
理查德

现在第一个命令正在运行,但是您神秘地提供的第二个命令却没有...
理查德(Richard)

1
我并没有遇到太大麻烦。.不确定为什么,但是切换桌面图标的可见性就可以了。.不建议这样做,但是我想快速编辑一些文件,所以我以gksu nautilus(我不知道--no-desktop开关,该开关后来也无济于事。但是,出事了..可怕..(现在不能得到Compiz的工作。我已经尝试过重,重新安装,和所有的..所以我不能建议尝试的..)
精确的

2

对于gnome,您可以告诉它不要处理桌面

gconftool-2 --set "/apps/nautilus/preferences/show_desktop" --type bool false

我也曾经提到过将shantz-xwinwrap用于For Unity Compiz,但是,如果没有对xsnow的更精细控制,似乎无法与13.10的unity版本一起使用。

也就是说,如果您想在终端中尝试一下,请执行:

wget http://anibg.googlecode.com/files/shantz-xwinwrap_v0.3.deb && sudo dpkg -i shantz-xwinwrap_v0.3.deb

安装后,不带anibg的xwinwrap可能的执行如下所示:

nice -n 15 xwinwrap -ni -o 0.90 -fs -s -sp -st -b -nf -- '/usr/games/xsnow'

我无法远程显示家用计算机,否则我将完全对其进行测试。我以为我在这里找到了一个命令,但是它真的没有意义,因为它称为xscrensaver / plasma:fsckin.com/2008/04/14/fun-with-xwinwrap-in-compiz-fusion 如果Vdesk可以工作的话,这会很不错,但是当我在kubuntu中安装它并尝试运行它时,没有任何反应。
virtualxtc

我得到/usr/lib/xscreensaver/plasma: No such file or directory /usr/lib/xscreensaver/plasma died, exit status 2
理查德(Richard)

如此接近我可以品尝到;在使用xsnow读取用于xscreenwrap的args时遇到了麻烦-但xscreenwrap肯定可以在13.10上与xscreensaver一起使用。
virtualxtc

是的,我怀疑这只是语法问题……
理查德(Richard)

--root--windows-id不被支持的Xsnow参数。这些参数来自带有glmatrix的xwinwrap用法示例,该示例接受--root--window-id作为参数:xwinwrap -ov -fs -- /usr/lib/xscreensaver/glmatrix -root -window-id WID例如,可以很好地工作
yilmi 2013年

1

在标准的12.04.3 64位安装中,登录后,在屏幕底部附近只有一个终端窗口,然后启动xsnow,即可正常工作。似乎是xsnow启动时窗口所在位置的剩余知识,并且在移动或图标化窗口后仍会发生降雪。当窗口靠近屏幕顶部时,会出现问题。注销/注销会清除旧的Windows位置,因此请尝试重新登录(或重新启动X)。默认延迟20对我来说几乎是最小延迟,这增加了可能使雪也出现。


xsnow选项在手册页中或使用-h开关进行了描述。-delay 30将在两次更新之间产生30毫秒的延迟,而不是默认的20毫秒。我发现事物在18时出现flakey,在15时没有下雪,因此在其他工作系统上,延迟过短会破坏事物。对于13.10,“根”窗口的堆叠方式肯定有所不同。12.04统一系统具有一个根,子代,孙代,桌面,一个曾曾随雪和作品更新的曾曾孙。(请参见

 `xwininfo -root -tree`

13.10 unity系统实际上会更新根窗口,而桌面甚至没有全屏子窗口。使用调试器,将要更新的窗口更改为桌面确实会导致出现图像,但它们会抹掉背景,因此不是一个好的解决方案。没有其他获取更新的窗口显示任何内容,因此我想这与unity机制存在冲突,看来它确实需要一些更改才能起作用(因为理想的情况是xsnow程序不需要更改任何内容)。


运行Unity的14.04的更新要查看圣诞老人,请放弃Unity桌面,然后创建另一个没有它的X显示器。根据需要来回切换,或者甚至运行带有-display:1的程序以显示在新的显示屏上。

首先允许任何人运行X服务器

dpkg-reconfigure x11-common

并设置对所有人的X访问权限是的,您可以使用sudo运行,但是您将在桌面上保留一些根目录拥有的文件,并且将无法再使用GUI登录(使用虚拟终端删除根目录)拥有的文件)。

您是否安装了另一个窗口管理器,以便可以在新显示器上移动窗口(仅当您要在其中运行其他程序时,如果您只想看圣诞老人就不要打扰。即使是像twm这样的简单程序也可以做到) ,选择您喜欢的使根窗口不显示的窗口。

在vt上运行以下命令以获取全屏xsnow。

xinit /usr/games/xsnow -- :1 vt8

使用Crtl-Alt-F7切换回vt7上的原始显示,并使用Ctrl-Alt-F8切换回xsnow

从vt7创建xterms(原始X服务器位于:0)

xterm -display :1 &

从新的xterm在新的显示器上启动窗口管理器,例如

twm&

16.04更新:自14.04起,很多东西都坏了(请参见Bug#1562219),但是您仍然可以运行xsnow:

  1. 如果运行Nvidia视频驱动程序,请使用nouveau驱动程序。在“软件更新程序/设置”按钮/“附加驱动程序”选项卡上,选择nouveau。重新启动只是为了确保。
  2. 例如登录虚拟终端(Ctrl-Alt-F2)
  3. xinit / usr / games / xsnow-:1 vt2或启动一个xterm,然后从它启动诸如窗口管理器,xsnow等之类的其他功能。只是不启动统一,它就接管了背景。

祝大家圣诞节快乐


谢谢,但是将终端窗口移到屏幕底部对我不起作用。
理查德

关键在于顶部附近没有窗口,甚至没有图标化的窗口。尝试延迟30,看看是否有帮助。这两个项目是我发现的唯一问题。
ubfan1 2013年

我将如何“延迟30”?不确定那是什么意思。
理查德

1

有一个新版本的xsnow,可以在gnome,kde,fvwm,lcde甚至是raspbian上运行:https ://www.ratrabbit.nl/ratrabbit/content/xsnow/introduction

打算将此版本推入Debian存储库。

新版本也可以在sourceforge上获得

从网站:

最后,一个适用于Gnome,KDE等的xsnow。基于Rick Jansen创建的原始xsnow-1.42,在西班牙安塔斯(西班牙)举行的xsnow-2019会议之后,我们现在提供了适用于许多桌面环境(甚至是Raspian)的xsnow。 。应许多Beta测试人员的要求,还创建了图形化前端。


0

如果您查看编译指令,则会得到:

为了与虚拟窗口管理器兼容,Xsnow使用“ vroot.h”,这是一个包含文件,使X程序与swm和tvtwm等窗口管理器兼容。完整的vroot分发可从contrib目录中的“ ftp.x.org”作为“ vroot.shar.Z”获得。Vroot由Andreas Stolcke撰写,9/7/90,Andreas Stolcke于1991年拥有版权,Solbourne Computer Inc.于1990年拥有版权。

他们似乎已将vroot.h从编译中删除,因为它已包含在KDE中。但是,标头仍随附最新版本:

wget http://dropmix.xs4all.nl/rick/Xsnow/xsnow-1.42.tar.gz

并打开包装。打开xsnow.c并在250后添加到新行(当我在原位置对其进行评论时出现问题。)

#include "vroot.h"

然后建立(需要xutils-devxorg-dev并且libxpm-dev)有:

xmkmf
make depend
make

然后(假设没有错误)

./xsnow

那样有用吗?编译后的版本在这里可用,但是我在Gnome中,版本为12.04,而不是在虚拟机上。


看起来好像编译好了...但是还是没有积雪:\ i.imgur.com/Pmd9vOx.jpg
理查德(Richard)

我看了一下xsnow代码,问题是它处理渲染窗口的方式。
yilmi 2013年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.