Xsnow funktioniert nicht

23

Ich habe das alte Programm xsnowmit Apt installiert . Dieses Programm soll Schnee ( die Art des Niederschlags ) auf dem Desktop erscheinen lassen. Das Ausführen des Programms bewirkt jedoch nichts anderes als die Rückgabe des folgenden Codes:

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

Dies liegt daran, dass das Programm dafür ausgelegt ist, den Schnee im Root-X-Fenster zu zeichnen , wie auf der Website angegeben:

Häufig gestellte Frage: Ich starte Xsnow, sehe aber keinen Schnee? Antwort: Xsnow lässt es im X-Window "Root" -Fenster schneien. Dieses Stammfenster wird häufig von Desktop-Managern verdeckt, um Symbole und Tools anzuzeigen. Also, Xsnow funktioniert gut, man kann den Schnee einfach nicht sehen! Einzelheiten und mögliche Lösungen finden Sie in der README.

Ich habe es in einer Ubuntu 13.10 VM, Kubuntu 13.10 und 14.04 und einem Lubuntu Trusty Live USB ausprobiert. Es funktioniert in Xubuntu, da in Xfce standardmäßig das Root-X-Fenster angezeigt wird. Im Chat hat jemand berichtet, dass es in Ubuntu 12.04 funktioniert, aber in meiner Ubuntu 13.10-VM sehe ich keinen Schnee.

Das Problem ist, dass, wie ich bereits erwähnte, xsnowausschließlich auf dem Root-X-Fenster gezeichnet wird. Das Root-X-Fenster ist das "übergeordnete Fenster" aller anderen X-Fenster und daher auch unsichtbar, da moderne Desktop-Umgebungen wie KDE und Unity das Root-X-Fenster normalerweise mit einem Desktop-Effekt-Compositor verbergen. Zieht also xsnownoch Schnee, (man kann beim Ein- und Ausloggen aufgrund von Grafikfragmentierung Schnipsel davon bekommen) ist es einfach nicht sichtbar. Auf einfacheren Desktops wie Openbox und XFCE ist das X-Fenster (und damit der Schnee) vollständig sichtbar.

Gibt es eine Möglichkeit, die Aktivität des Root-X-Fensters und damit den Schnee zu sehen?

Richard
quelle
Es funktioniert auf XFCE, was ich benutze. Nur um dich wissen zu lassen. Ich bin am 13.10+.
RobotHumans
wo gibt es fehler im terminal
Mateo
@hbdgaf Gut zu wissen, ich wollte gerade einen Fehlerbericht an Launchpad senden, um den Leuten mitzuteilen, dass er entfernt werden muss, wenn er nicht mehr funktioniert. Wird mit Lubuntu testen.
Richard
3
Es gab / gibt ein Compiz-Plugin , um dasselbe zu tun. Das ist auch ein bisschen alt und vielleicht funktioniert es gerade nicht, aber hier ist die Quelle, wenn jemand es ausprobieren möchte. (Werde ich nicht.)
Falkner
Ich habe es gerade in einer Openbox-Sitzung versucht ... Oktale Schneeflocken ...
Richard

Antworten:

8

Mit KDE können Sie das kwin-snow-effect- Paket verwenden.

Wie installiert man:

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

Dann können Sie in KDE den Effekt von System Settings-> Desktop Effects-> einstellen All Effectsund Schnee aktivieren.

Sie können auch das Compiz-Plugin Snow verwenden . Überprüfen Sie, wie es in diesem Youtube-Video funktioniert

Ich habe xwinwrap gefunden, mit dem Sie jede App als Desktop-Hintergrund verwenden können. Klicken Sie hier, um es herunterzuladen , oder hier, um die Release-Information des Programmierers zu lesen

Sie haben keinen Zugriff auf das Root-Fenster (was in den meisten Desktop-Umgebungen schwierig erscheint). Und dieses funktioniert nicht mit xsnow, aber es wird mit vielen anderen Apps funktionieren ...

yilmi
quelle
Oh nein, mein Desktop ist abgestürzt! Werde es nochmal versuchen.
Richard
Habe gerade kwin effect ausprobiert und benutze KDE. Bitte überprüfen Sie diese Antwort: askubuntu.com/a/65522/226084 Es geht darum, das Compiz Snow Plugin zum
Laufen zu bringen
4

Habe am 12.04. Noch ein paar Tests gemacht (Dies ist wahrscheinlich nicht die Antwort für den 13.10., Aber für diejenigen, die dies am 12.04. Wollen)

Wenn in Gnome-Tweak-Tool, unter Desktop aktiviere ich Datei-Manager für den Desktop. Dann xsnowfunktioniert sowohl in Unity als auch in Unity-2D . Obwohl in Einheit 2d der Schnee in der Luft unsichtbar ist, sind nur die Gefallenen sichtbar, aber das liegt an meiner Grafikkarte und ihrem Treiber. In Unity funktioniert es perfekt.

Wenn ich in gnome-tweak-tool das Kontrollkästchen Dateimanager für den Desktop deaktivieren , xsnowwird weder in Unity noch in Unity-2D ein Fehler ausgelöst

Falkner
quelle
4

Ich bin ein Benutzer der Precise with Unity- Umgebung und hatte bis zur Ausführung dieses Befehls das gleiche Problem:

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

xsnowSnap


Hier ist ein Auszug aus den Notizen der xsnow- Manpage:

SGI Irix 5.x

Benutzer von Silicon Graphics und Irix 5.x sehen möglicherweise überhaupt keinen Schnee oder Weihnachtsmann, solange die Desktopsymbole sichtbar sind. Um dieses Problem zu umgehen, geben Sie den folgenden Befehl ein:

/usr/lib/desktop/telldesktop quit

Die Symbole werden ausgeblendet und Xsnow funktioniert einwandfrei. Um den Desktop neu zu starten, starten Sie einfach

/usr/lib/desktop/startdesktop

oder wählen Sie im Werkzeugkasten Desktop -> Basisverzeichnis.

Es ist sogar möglich, beides zu haben - Desktopsymbole und xsnow (und sogar mehrere Schreibtische). Sie müssen die Ressourcendatei 4DWm des Fenstermanagers ändern , die Datei ~ / .desktop- hostname/ 4DWm . Beispiel:

  • 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

Starten Sie den Fenstermanager (4Dwm) über den Toolchest neu und Xsnow sollte erscheinen. Dies stoppt den aktuell ausgeführten Xsnow und startet einen neuen, wenn Sie zu einem anderen Desktop wechseln.

präzise
quelle
Danke aber leider immer noch kein Schnee in Ubuntu 13.10!
Richard
Ich bin kein Silicon Graphics- oder Irix-Benutzer, sondern ein Radeon-Typ, der KDE verwendet. Auch der Befehl ergab bash: /usr/lib/desktop/telldesktop: No such file or directory. Vielen Dank, dass Sie diesen Teil der README-Datei erwähnt haben.
Richard
Jetzt funktioniert der erste Befehl, aber der zweite, den Sie auf mysteriöse Weise
Richard
1
Ich hatte keine großen Probleme damit, es zum Laufen zu bringen. Ich weiß nicht warum, aber das Umschalten der Sichtbarkeit der Desktopsymbole hat einfach funktioniert. Es wird nicht empfohlen, aber ich habe versucht, einige Dateien schnell zu bearbeiten, also habe ich nautilus als root mit gksu nautilus(damals) gestartet Ich wusste nichts über den Schalter --no-desktop, was später auch nicht half. Dieser Befehl war auch root desktop! Aber irgendetwas ist schief gelaufen. Schrecklich. (Jetzt kann compiz nicht mehr funktionieren. Ich habe versucht, es zurückzusetzen, neu zu installieren und alles. Also kann ich nicht raten, das zu versuchen.)
genauer
2

Für Gnome kann man einfach sagen, dass es nicht mit dem Desktop umgehen soll

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

Ich war auch auf die Erwähnung von shantz-xwinwrap für For Unity Compiz gestoßen , aber es scheint nicht möglich zu sein, die Version von 13.10 von Unity zu verwenden, ohne die Steuerung von xsnow genauer zu steuern.

Das heißt, wenn Sie es in einem Terminal ausprobieren möchten, führen Sie Folgendes aus:

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

Einmal installiert, könnte eine mögliche Ausführung von xwinwrap ohne anibg so aussehen:

nice -n 15 xwinwrap -ni -o 0.90 -fs -s -sp -st -b -nf -- '/usr/games/xsnow'
virtualxtc
quelle
Ich habe Probleme mit der Fernanzeige meines Heimcomputers, sonst würde ich das total testen. Ich dachte , ich hier einen Befehl gefunden , aber es macht wirklich keinen Sinn , da es xscrensaver genannt / Plasma: fsckin.com/2008/04/14/fun-with-xwinwrap-in-compiz-fusion es wäre süß , wenn vDesk gearbeitet, aber als ich es in kubuntu installiert und versucht habe, es auszuführen, ist nichts passiert.
Virtualxtc
Ich bekomme/usr/lib/xscreensaver/plasma: No such file or directory /usr/lib/xscreensaver/plasma died, exit status 2
Richard
so nah, dass ich es schmecken kann; xsnow hat Probleme beim Lesen der für xscreenwrap vorgesehenen Argumente - aber xscreenwrap funktioniert definitiv mit xscreensaver am 13.10.
virtualxtc
Ja, ich vermute, es ist nur eine Syntaxsache ...
Richard
Die --rootund --windows-idwerden von xsnow nicht unterstützt. Diese Argumente stammen aus einem Verwendungsbeispiel von xwinwrap mit glmatrix, das --rootund --window-idals Argumente akzeptiert : xwinwrap -ov -fs -- /usr/lib/xscreensaver/glmatrix -root -window-id WIDfunktioniert beispielsweise
einwandfrei
1

Melden Sie sich bei einer 64-Bit-Standardinstallation mit 12.04.3 an, haben Sie nur ein Terminalfenster am unteren Bildschirmrand und starten Sie xsnow, was funktioniert. Es scheint ein Restwissen darüber zu sein, wo sich die Fenster befanden, als xsnow gestartet wurde, und die Schneeabschaltung tritt immer noch auf, nachdem das Fenster verschoben oder mit einem Symbol versehen wurde. Probleme treten auf, wenn sich ein Fenster am oberen Bildschirmrand befindet. Logout / In löscht alte Windows-Positionen, experimentieren Sie also mit einem neuen Login (oder vielleicht einem Neustart von X). Die Standardverzögerung von 20 ist für mich ziemlich nahe am Minimum, was dazu führen kann, dass der Schnee auch erscheint.


xsnow-Optionen werden in den Manpages oder mit der Option -h beschrieben. -Delay 30 bewirkt eine Verzögerung von 30 Millisekunden zwischen den Aktualisierungen, anstatt der Standardeinstellung 20. Ich finde, dass die Dinge mit 18 Flakey werden und mit 15 kein Schnee, sodass auf einem ansonsten funktionierenden System eine zu kurze Verzögerung die Dinge zerstört. Für 13.10 gibt es sicherlich einen Unterschied in der Art und Weise, wie die "Root" -Fenster gestapelt sind. Das 12.04 Unity System hat eine Wurzel, ein Kind, ein Enkelkind, einen Desktop, ein Ur-Ur-Enkelkind, das mit dem Schnee aktualisiert wird und funktioniert. (siehe Ausgabe von

 `xwininfo -root -tree`

Das 13.10 Unity-System aktualisiert das Root-Fenster tatsächlich und der Desktop hat nicht einmal ein untergeordnetes Vollbild. Bei einem Debugger führt das Ändern des Fensters, das auf dem Desktop aktualisiert wird, dazu, dass Bilder angezeigt werden, die das Hintergrundbild jedoch löschen. Dies ist keine gute Lösung. Da in keinem anderen Fenster, in dem die Updates abgerufen werden, etwas angezeigt wird, liegt vermutlich ein Konflikt mit dem Unity-Mechanismus vor, der anscheinend geändert werden muss, damit dies funktioniert (da im Idealfall nur das xsnow-Programm geändert werden muss).


Update für 14.04 mit Unity Um Santa zu sehen, geben Sie den Unity-Desktop auf und erstellen Sie einfach eine weitere X-Anzeige ohne diese. Wechseln Sie nach Bedarf hin und her oder führen Sie Programme mit der Option -display: 1 aus, um auf dem neuen Display angezeigt zu werden.

Erlauben Sie zunächst jedem, einen X-Server auszuführen

dpkg-reconfigure x11-common

und stellen Sie den X-Zugang für alle ein. Ja, Sie können mit sudo arbeiten, aber dann haben Sie einige Dateien im Root-Besitz auf Ihrem Desktop und können sich nicht mehr mit der GUI anmelden (verwenden Sie ein virtuelles Terminal, um den Root zu löschen eigene Datei, wenn Sie das tun).

Haben Sie einen anderen Fenstermanager installiert, so dass Sie Fenster auf Ihrem neuen Bildschirm verschieben können (nur wenn Sie dort andere Programme ausführen möchten, kümmern Sie sich nicht darum, ob Sie nur den Weihnachtsmann sehen möchten. Selbst ein einfaches Programm wie twm reicht aus Wählen Sie Ihr Lieblingsfenster aus, bei dem das Stammfenster sichtbar bleibt.

Führen Sie die folgenden Schritte auf einem VT aus, um einen xsnow im Vollbildmodus zu erhalten.

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

Wechseln Sie mit Strg-Alt-F7 zurück zur ursprünglichen Anzeige auf vt7 und mit Strg-Alt-F8 zurück zu xsnow

Erstellen Sie xterms von vt7 (ursprünglicher X-Server auf: 0)

xterm -display :1 &

Starten Sie Ihren Fenstermanager auf dem neuen Display aus dem neuen xterm zB

twm&

16.04 Update: Viele Dinge sind seit 14.04 kaputt gegangen (siehe Fehler # 1562219), aber Sie können immer noch xsnow ausführen:

  1. Wenn Sie mit einem Nvidia-Grafiktreiber arbeiten, verwenden Sie den Nouveau-Treiber. Wählen Sie auf der Registerkarte "Software-Aktualisierungsprogramm / Einstellungen" / "Zusätzliche Treiber" die Option "Jugendstil". Neustart nur um sicher zu gehen.
  2. Melden Sie sich beispielsweise an einem virtuellen Terminal an (Strg-Alt-F2)
  3. xinit / usr / games / xsnow -: 1 vt2 Oder starte ein xterm und starte andere Dinge wie einen Fenstermanager, xsnow, etc. Starte einfach keine Einheit, es übernimmt den Hintergrund.

Fröhliche Weihnachten an alle

ubfan1
quelle
Vielen Dank, aber das Verschieben des Terminalfensters an den unteren Bildschirmrand hat bei mir nicht funktioniert.
Richard
Es sind die Fenster, die sich oben befinden, die der Schlüssel sind, nicht einmal die mit Ikonen versehenen. Versuchen Sie eine Verzögerung von 30, um festzustellen, ob dies hilft. Diese beiden Punkte waren die einzigen Probleme, die ich fand.
Ubfan1
Wie würde ich eine "Verzögerung von 30" machen? Nicht sicher, was das heißt.
Richard
1

Es gibt eine neue Version von xsnow , die auf gnome, kde, fvwm, lcde und sogar raspbian läuft: https://www.ratrabbit.nl/ratrabbit/content/xsnow/introduction

Es ist die Absicht, diese Version in die Debian-Repos zu pushen.

Die neue Version ist auch bei SourceForge erhältlich .

Von der Website:

Endlich ein funktionierender xsnow für Gnome, KDE usw. Basierend auf dem ursprünglichen xsnow-1.42 von Rick Jansen steht nach der xsnow-2019-Konferenz in Antas (Spanien) jetzt ein xsnow zur Verfügung, der auf vielen Desktop-Umgebungen funktioniert, sogar auf Raspian . Auf Wunsch vieler Beta-Tester wurde auch ein grafisches Frontend erstellt.

Willem Vermin
quelle
0

Wenn Sie sich die Kompilierungsanweisungen ansehen, erhalten Sie:

Für die Kompatibilität mit virtuellen Fenstermanagern verwendet Xsnow 'vroot.h', eine Include-Datei, die X-Programme mit Fenstermanagern wie swm und tvtwm kompatibel macht. Die vollständige vroot-Distribution finden Sie unter 'ftp.x.org' im contrib-Verzeichnis als 'vroot.shar.Z'. Vroot wurde von Andreas Stolcke, 9/7/90, geschrieben und ist urheberrechtlich geschützt von Andreas Stolcke, 1990 von Solbourne Computer Inc.

Sie scheinen vroot.h aus der Kompilierung herausgenommen zu haben, weil es für KDE enthalten war. Der Header wird jedoch weiterhin mit der neuesten Version geliefert:

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

und auspacken. Öffne xsnow.cund füge nach 250 eine neue Zeile hinzu (es gab Probleme, als ich sie dort kommentierte, wo sie war.)

#include "vroot.h"

Dann bauen (erfordert xutils-dev, xorg-devund libxpm-dev) mit:

xmkmf
make depend
make

dann (unter der Annahme, keine Fehler)

./xsnow

Funktioniert es? Die kompilierte Version funktioniert hier, aber ich bin in Gnome am 12.04 und nicht auf einer virtuellen Maschine.

Julian Stirling
quelle
Sieht so aus, als hätte es in Ordnung
Richard
Ich habe mir xsnow-Code angesehen und das Problem ist, wie es mit den Fenstern umgeht, auf denen es gerendert wird.
Yilmi