Xsnow não funciona

22

Eu instalei o antigo programa xsnow com o Apt. Este programa deve fazer com que a neve ( o tipo de precipitação ) apareça na área de trabalho. No entanto, a execução do programa não faz nada, exceto retornar o seguinte código:

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

Isso ocorre porque o programa foi projetado para desenhar a neve na janela raiz X , conforme indicado no site:

Frequently asked question: I start Xsnow but I don't see any snow? Answer: Xsnow makes it snow on the X-window "root" window. That root window is often obscured by desktop managers, to display icons and tools. So, Xsnow works fine, you just cannot see the snow! See the README for details and possible solutions.

Eu tentei em um Ubuntu 13.10 VM, Kubuntu 13.10 e 14.04, e um Lubuntu Trusty Live USB. Ele está funcionando no Xubuntu, porque no Xfce vemos a janela root X por padrão. No chat, alguém relatou que ele trabalhava no Ubuntu 12.04, mas no meu Ubuntu 13.10 VM eu não vejo neve.

O problema é que, como eu mencionei, xsnow baseia-se apenas na raiz do X Window. A janela raiz X é o "pai" de todas as outras janelas X e, portanto, também invisível, porque os ambientes de área de trabalho modernos, como KDE e Unity, geralmente ocultam a janela raiz X com um compositor de efeitos da área de trabalho. Portanto, xsnow ainda desenha neve (você pode obter trechos dela ao fazer login e sair devido à fragmentação de gráficos), ela simplesmente não fica visível. Em ambientes de trabalho mais simples, como o Openbox e o XFCE, a janela X (e, portanto, a neve) ficam completamente visíveis.

Existe alguma maneira de ver a atividade da janela raiz X e, assim, ver a neve?

    
por Richard 21.11.2013 / 20:26

6 respostas

8

Usando o KDE, você pode usar o pacote kwin-snow-effect .

Como instalar:

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

Em seguida, no KDE, você pode configurar o efeito de System Settings - > Desktop Effects - > All Effects e ativar neve.

Você também pode usar o plug-in Compiz Snow , verifique como ele funciona neste Vídeo do YouTube

Eu encontrei o xwinwrap, que permite que você coloque qualquer aplicativo como plano de fundo da sua área de trabalho. Clique aqui para fazer o download ou aqui para ler a nota de lançamento do codificador

Ele não dá acesso à janela raiz (que parece difícil na maioria dos ambientes de desktop). E este não funciona com o xsnow, mas funcionará com muitos outros aplicativos ...

    
por yilmi 19.12.2013 / 18:37
4

Só fiz mais alguns testes em 12.04 (Provavelmente não é a resposta para 13.10, mas para aqueles que querem isso em 12.04)

Se no gnome-tweak-tool, em Desktop eu marque o gerenciador de arquivos cuida da área de trabalho. Em Unity e em Unity-2D xsnow funciona. Mesmo na unidade-2d a neve no ar é invisível, apenas os caídos são visíveis, mas isso é por causa da minha placa gráfica e do seu driver. Na Unity funciona perfeitamente.

Se no gnome-tweak-tool eu desmarcar o gerenciador de arquivos cuida da área de trabalho , o xsnow nem sequer inicia e gera um erro no Unity e no Unity-2D

    
por falconer 19.12.2013 / 18:00
4

Sou usuário de Preciso com o ambiente Unity e tive o mesmo problema até executar este comando:

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

Aqui está uma extração das notas da página man do xsnow :

SGI Irix 5.x

Os usuários da Silicon Graphics e Irix 5.x podem não ver neve ou Papai Noel, contanto que os ícones da área de trabalho estejam visíveis. Para contornar este problema, execute este comando:

/usr/lib/desktop/telldesktop quit

Os ícones desaparecerão e o Xsnow funcionará perfeitamente. Para reiniciar a área de trabalho, inicie

/usr/lib/desktop/startdesktop

ou selecione Desk-top - > Home Diretório do toolchest.

É até possível ter os dois - ícones da área de trabalho e xsnow (e até várias mesas). Você precisa modificar o arquivo de recursos do gerenciador de janelas 4DWm , o arquivo ~ / .desktop- hostname / 4DWm . Exemplo:

  • 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

Reinicie o gerenciador de janelas (4Dwm) do toolchest e o Xsnow deve aparecer. O que isto faz é parar o Xsnow atualmente em execução e iniciar um novo quando você mudar para outro desktop.

    
por precise 21.12.2013 / 05:55
2

Para o gnome , você pode simplesmente dizer para ele não lidar com a área de trabalho

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

Também me deparei com alguma menção ao uso de shantz-xwinwrap para For Unity Compiz, no entanto, não parece ser possível usar com a versão 13.10 da unidade sem um controle mais preciso do xsnow.

Dito isto, se você quiser experimentá-lo em um terminal, execute:

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

Uma vez instalada, a possível execução de xwinwrap sem anibg pode parecer:

nice -n 15 xwinwrap -ni -o 0.90 -fs -s -sp -st -b -nf -- '/usr/games/xsnow'
    
por virtualxtc 19.12.2013 / 22:12
1

Em uma instalação padrão de 64 bits de 12.04.3, faça login, tenha apenas uma janela de terminal próxima à parte inferior da tela e inicie o xsnow, que funciona. Parece ser uma sobra de conhecimento de onde as janelas estavam quando xsnow foi iniciado, e o corte de neve ainda ocorre depois que a janela é movida ou iconizada. Problemas ocorrem quando uma janela está perto do topo da tela. Logout / in limpa as posições antigas do Windows, então experimente um novo login (ou talvez reinicie o X). O atraso padrão de 20 está bem próximo do mínimo para mim, aumentando o que pode fazer com que a neve apareça também.

As opções xsnow são descritas nas páginas man ou com o parâmetro -h. -delay 30 vai fazer um atraso de 30 milissegundos entre as atualizações, em vez do padrão que é 20. Eu acho que as coisas ficam flakey aos 18 anos, e não há neve aos 15 anos, então em um sistema que funciona de outra forma, um atraso muito curto quebra as coisas. Para 13.10, há certamente uma diferença na maneira como as janelas "raiz" são empilhadas. O sistema de unidade 12.04 tem uma raiz, filho, neto, desktop, grande bisneto que é atualizações com a neve e trabalha. (ver saída de

 'xwininfo -root -tree'

O sistema de unidade 13.10 atualiza a janela raiz, e a área de trabalho nem sequer tem um filho em tela cheia. Com um depurador, alterar a janela que está sendo atualizada para a área de trabalho faz com que as imagens apareçam, mas elas apagam o fundo, portanto, não é uma boa solução. Nenhuma outra janela obtendo as atualizações mostra nada, então eu acho que é um conflito com o mecanismo de unidade, que parece que precisa de alguma mudança para que isso funcione (já que o ideal é não ter que mudar nada além do programa xsnow). / p>

Atualização para o 14.04 executando o Unity Para ver o Papai Noel, desista da área de trabalho do Unity e apenas crie outro X sem ele. Alterne para frente e para trás conforme necessário, ou até mesmo execute programas com o display: 1 para aparecer na nova tela.

Primeiro, permita que qualquer um execute um servidor X

dpkg-reconfigure x11-common

e defina o acesso X a todos Sim, você pode rodar com o sudo, mas terá deixado alguns arquivos de propriedade raiz na sua área de trabalho e não poderá mais fazer login com a GUI (use um terminal virtual para excluir o arquivo de propriedade raiz se você fizer isso) .

Você tem outro gerenciador de janelas instalado para poder mover as janelas em sua nova tela (somente se você quiser rodar outros programas lá, não se incomode se tudo que você quer fazer é ver o Papai Noel. Mesmo um simples como twm vai fazer, escolha o seu favorito que deixa a janela raiz exposta.

Execute o abaixo em um vt para obter um xsnow em tela cheia.

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

Volte para a tela original no vt7 com o Crtl-Alt-F7 e de volta ao xsnow com Ctrl-Alt-F8

Crie xterms de vt7 (servidor X original em: 0)

xterm -display :1 &

inicie seu gerenciador de janelas na nova exibição a partir do novo xterm, por exemplo

twm&

atualização 16.04: Muitas coisas quebraram desde 14.04 (veja bug # 1562219), mas você ainda pode rodar o xsnow:

  1. Se estiver executando com um driver de vídeo Nvidia, use o driver nouveau. Atualizador de Software / botão Configurações / guia Drivers Adicionais, selecione nouveau. reinicie só para ter certeza.
  2. Faça login em um terminal virtual (Ctrl-Alt-F2), por exemplo
  3. xinit / usr / games / xsnow -: 1 vt2 Ou inicie um xterm e, a partir dele, inicie outras coisas, como um gerenciador de janelas, xsnow, etc. Apenas não inicie a unidade, ela assume o segundo plano.

Feliz Natal para Todos

    
por ubfan1 21.12.2013 / 00:30
0

Se você observar as instruções de compilação, consulte:

For compatibility with virtual window managers Xsnow uses 'vroot.h', an include file that makes X programs compatible with window managers like swm and tvtwm. The complete vroot distribution is available from 'ftp.x.org' in the contrib directory as 'vroot.shar.Z'. Vroot was written by Andreas Stolcke , 9/7/90 and is copyright 1991 by Andreas Stolcke, copyright 1990 by Solbourne Computer Inc.

Eles parecem ter retirado o vroot.h da compilação porque ele foi incluído no KDE. No entanto, o cabeçalho ainda vem com a versão mais recente:

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

e descompacte-o. Abra xsnow.c e adicione a uma nova linha depois de 250 (houve problemas quando eu comentei de volta onde estava).

#include "vroot.h"

Em seguida, crie (requer xutils-dev , xorg-dev e libxpm-dev ) com:

xmkmf
make depend
make

então (assumindo que não há erros)

./xsnow

Isso funciona? A versão compilada funciona aqui, mas estou no Gnome, no dia 12.04, e não em uma máquina virtual.

    
por Julian Stirling 20.12.2013 / 10:45

Tags