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 працює чудово, ви просто не бачите снігу! Детальні відомості та можливі рішення див. У розділі README.

Я спробував це в 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 (і, таким чином, сніг) повністю видно.

Чи є спосіб переглядати активність вікна root X і таким чином бачити сніг?


Він працює на XFCE, саме цим я і користуюся. Просто даю вам знати. Я на 13.10+.
RobotHumans

де є якісь помилки в терміналі?
Матео

@hbdgaf Добре знати, я збирався надіслати звіт про помилку на Launchpad, щоб люди знали, що його потрібно буде видалити для нефункціональності. Пройде тест з Lubuntu.
Річард

3
Був / є плагін compiz, щоб зробити те саме. Цей теж якийсь старий, і, можливо, він навіть зараз не працює, але ось джерело, якщо хтось хоче його спробувати. (Не буду.)
сокола

Щойно спробував це на сесії Openbox ... Сніжинки восьмерики ...
Річард

Відповіді:


8

Використовуючи KDE, ви можете використовувати пакет kwin-snow-ефект .

Як встановити:

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 a я використовую KDE. Будь ласка, перевірте цю відповідь: askubuntu.com/a/65522/226084 її про те, щоб працювати плагін compiz snow
1313

4

Просто зробили ще кілька тестувань 12.04 (ймовірно, це не відповідь на 13.10, але для тих, хто хоче цього 12.04)

Якщо в інструменті gnome-tweak, у розділі Настільний я перевіряю, чи керує файловим менеджером робочий стіл. Тоді і в Unity, і в Unity-2D xsnowпрацює. Хоча в єдності-2d сніг у повітрі невидимий, видно лише падіння, але це через мою графічну картку та її драйвера. В Unity це прекрасно працює.

Якщо в інструменті gnome-tweak я знімаю прапорець у тому, щоб менеджер файлів обробляв робочий стіл , він xsnowнавіть не запускається і видає помилку як в Unity, так і Unity-2D


4

Я користувач оточення Precis 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 і запустити новий при переході на інший робочий стіл.


Дякую, але, на жаль, все ще немає снігу в Ubuntu 13.10!
Річард

Я не користувач Silicon Graphics або Irix, я чувак Radeon, що використовує KDE. Також команда призвела до bash: /usr/lib/desktop/telldesktop: No such file or directory. Дякуємо, що згадали про цю частину README.
Річард

Тепер перша команда працює, але друга, яку ви загадково надали, не ...
Річард

1
У мене не було особливих проблем з його роботою .. не впевнений, чому, але зміна видимості піктограми робочого столу просто працювала .. цього не радили, але я шукав швидко відредагувати деякі файли, тому я почав nautilus як root з gksu nautilus(тоді Я не знав про --no-desktop перемикач, який пізніше теж не допоміг) .. ця команда також root root! Але щось пішло не так .. страшенно .. (Зараз не можу змусити працювати компiс. Я спробував скинути, перевстановити та все. Тому не можу порадити спробувати це.)
точний

2

Для gnome ви можете просто сказати, що він не обробляє робочий стіл

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

Я також натрапив на згадку про використання shantz-xwinwrap для Unity Compiz, однак, це не здається можливим використовувати з версією єдності версії 13.10 без більш тонкого налаштування контролю xsnow.

Це означає, що якщо ви хочете спробувати виконати термінал:

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

Після встановлення можливе виконання xwinwrap без anibg може виглядати так:

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
Річард

так близько, що я можу скуштувати; проблеми з xsnow при читанні аргументів, призначених для xscreenwrap - але xscreenwrap, безумовно, працює з xscreensaver 13.10.
virtualxtc

Так, я підозрюю, що це лише синтаксична річ ...
Річард

--rootІ --windows-idне підтримуються аргументи Xsnow. Ці аргументи - із прикладу використання xwinwrap з glmatrix, який приймає --rootі --window-idяк аргументи: xwinwrap -ov -fs -- /usr/lib/xscreensaver/glmatrix -root -window-id WIDнаприклад, буде добре працювати
yilmi

1

У стандартній 12.04.3 64-бітній установці, увійдіть, у нижній частині екрана встановіть лише термінальне вікно та запустіть xsnow, який працює. Здається, що залишилося знати, де знаходились вікна, коли було запущено xsnow, а обрізання снігу все ще відбувається після переміщення чи іконізації вікна. Проблеми виникають, коли вікно знаходиться вгорі екрана. Вихід / вхід очищує старі позиції Windows, тому експериментуйте зі свіжим входом (або, можливо, перезавантаженням X). Затримка за замовчуванням 20 для мене досить близька до мінімальної, збільшуючи це, що може призвести до появи снігу.


Параметри xsnow описані на сторінках man або з перемикачем -h. -delay 30 зробить 30-мілісекундну затримку між оновленнями, а не за замовчуванням - 20. Я знаходжу, що речі стають невідповідними в 18, а снігу немає в 15, тому в іншому випадку працююча система занадто коротка затримка розбиває речі. На 13.10, безумовно, є різниця в тому, як складаються «кореневі» вікна. У системі 12.04 єдності є корінь, дитина, онук, робочий стіл, великий правнук, який оновлює сніг та працює. (див. вихідні дані

 `xwininfo -root -tree`

Система єдності 13.10 фактично оновлює кореневе вікно, а на робочому столі немає навіть повноцінного екрана. За допомогою налагоджувача зміна оновленого вікна на робочому столі призводить до появи зображень, але вони стирають зворотний зв'язок, тому не є хорошим рішенням. Жодне інше вікно, що отримує оновлення, не показує нічого, тому я думаю, що це конфлікт з механізмом єдності, який, схоже, потребує певних змін, щоб це працювало (оскільки ідеальною мірою є не змінювати нічого, крім програми xsnow).


Оновлення для 14.04 під управлінням Unity Щоб побачити Діда, відмовтеся від робочого столу Unity і просто створіть інший X-дисплей без нього. За потреби перемикайтесь вперед і назад або навіть запускайте програми з -display: 1, щоб відобразитися на новому дисплеї.

Спочатку дозвольте будь-кому запустити X-сервер

dpkg-reconfigure x11-common

і встановіть доступ X для всіх. Так, ви можете запустити з sudo, але тоді ви залишили на робочому столі деякі файли, що належать корінню, і більше не зможете входити в GUI (використовуйте віртуальний термінал для видалення кореня власний файл, якщо ви це зробите).

У вас інший встановлений менеджер вікон, щоб ви могли переміщати вікна на новому дисплеї (лише якщо ви хочете там запускати інші програми, не турбуйтеся, якщо все, що ви хочете, - це побачити Санта. Навіть такий простий, як twm, зробить , виберіть свою улюблену, яка залишає кореневе вікно відкритим.

Виконайте нижче на vt, щоб отримати повноекранний xsnow.

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

Поверніться до початкового дисплея на vt7 за допомогою Crtl-Alt-F7 та назад до xsnow за допомогою Ctrl-Alt-F8

Створіть xterms з vt7 (оригінальний X-сервер на: 0)

xterm -display :1 &

запустіть свій вікно-менеджер на новому дисплеї з нового xterm, наприклад

twm&

Оновлення 16.04: багато речей зламано з 14.04 (див. Помилку № 1562219), але ви все одно можете запустити xsnow:

  1. Якщо ви працюєте з відео-драйвером Nvidia, використовуйте драйвер nouveau. Оновлення програмного забезпечення / Кнопка налаштувань / Вкладка Додаткові драйвери, виберіть нуво. перезавантажтесь, щоб бути впевненим.
  2. Наприклад, увійдіть у віртуальний термінал (Ctrl-Alt-F2)
  3. xinit / usr / games / xsnow -: 1 vt2 Або запустити xterm, а з нього розпочати інші речі, такі як менеджер вікон, xsnow тощо. Просто не запускайте єдності, він переймає фон.

Веселого Різдва всім


Дякую, але переміщення вікна терміналу в нижній частині екрана для мене не вийшло.
Річард

Це ключ без вікон біля верху, навіть іконізований. Спробуйте затримати 30, щоб побачити, чи це допомагає. Ці два пункти були єдиними проблемами, які я знайшов.
ubfan1

Як би я зробив "затримку 30"? Не впевнений, що це означає.
Річард

1

Існує нова версія xsnow , що працює на gnome, kde, fvwm, lcde і навіть raspbian: https://www.ratrabbit.nl/ratrabbit/content/xsnow/introduction

Це намір просунути цю версію в репо-версію Debian.

Нова версія також доступна в sourceforge .

З веб-сайту:

Нарешті, працюючий xsnow для Gnome, KDE тощо. На основі оригінального xsnow-1,42, створеного Ріком Янсеном, після конференції xsnow-2019 в Антасі (Іспанія) ми тепер маємо доступний xsnow, який працює у багатьох робочих середовищах, навіть у Raspian . За запитом багатьох бета-тестерів також створено графічний передній кінець.


0

Якщо ви подивитеся на інструкції з компіляції, які ви отримаєте:

Для сумісності з віртуальними менеджерами вікон Xsnow використовує "vroot.h", файл включення, який робить X програми сумісними з менеджерами вікон, такими як swm та tvtwm. Повний vroot-дистрибутив доступний з 'ftp.x.org' у каталозі contrib як 'vroot.shar.Z'. Vroot був написаний Андреасом Столкке, 9/7/90 та авторським правом 1991 року Андреасом Столке, авторське право 1990 року компанією Solbourne Computer Inc.

Вони, схоже, вивели vroot.h з компіляції, оскільки він був включений до KDE. Однак заголовок все ж постачається з останньою версією:

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

і розпакуйте його. Відкрийте xsnow.cі додайте до нового рядка через 250 (виникли проблеми, коли я коментував його там, де він був).

#include "vroot.h"

Потім збірка (потрібно xutils-dev, xorg-devі libxpm-dev) з:

xmkmf
make depend
make

тоді (якщо помилок немає)

./xsnow

Це працює? Скомпільована версія працює тут, але я перебуваю в Gnome, 12.04, а не на віртуальній машині.


Схоже, це складено нормально ... але все ще немає снігу: \ i.imgur.com/Pmd9vOx.jpg
Річард

Я переглянув код xsnow, і проблема полягає в тому, як він обробляє вікна, на які він робить.
yilmi
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.