web-dev-qa-db-fra.com

Comment créer et distribuer un économiseur d'écran Ubuntu?

Je n'ai pas de préférences en langage de programmation et j'ai une bonne connaissance du codage OpenGL. Si je pouvais utiliser quelque chose comme OpenFrameworks ou Processing en tant que base, ce serait idéal.

15
Michael Forrest

Un économiseur d'écran sous Linux est une chose assez simple composée de deux parties essentielles:

  1. Une application graphique qui rend les images.
  2. Un fichier .desktop pointant vers cette application.

Je ne suis pas sûr du résultat final que vous essayez d'atteindre, je vais donc commencer en sens inverse. Les fichiers .desktop des économiseurs d'écran existants résident dans /usr/share/applications/screensavers/. Voici ubuntu_theme.desktop pour un exemple de ce que vous recherchez:

[Desktop Entry]
Name=Floating Ubuntu
Comment=Ubuntu logo floating around the screen
Exec=floaters /usr/share/pixmaps/ubuntu-screensaver.svg
TryExec=floaters
StartupNotify=false
Terminal=false
Type=Application
Categories=GNOME;Screensaver
OnlyShowIn=GNOME

Si vous voulez faire flotter une image différente, vous pouvez simplement cloner le programme de lancement et remplacer /usr/share/pixmaps/ubuntu-screensaver.svg par votre propre image (utilisez des SVG autant que possible car ils sont bien mieux redimensionnés).

Si vous voulez écrire votre propre fichier binaire pour un économiseur d'écran entièrement personnalisé, vous devriez probablement commencer ici: http://www.dis.uniroma1.it/~liberato/screensaver/

Il utilise des graphiques X très simples pour faire des choses assez simples. Vous pouvez vous en sortir avec OpenGL mais il est important que vous abordiez d'abord les bases.

Une fois que vous avez terminé, l’emballage pose l’ensemble des problèmes, mais pour un paquet très simple, vous pouvez rapidement cogner un paquet en procédant comme suit: https://help.ubuntu.com/community/PythonRecipes/ Paquet Debian

Mais si vous voulez vraiment distribuer cela à beaucoup de gens, vous voudrez probablement commencer par un PPA (référentiel privé). Vous pouvez en savoir plus sur les PPA, les paquetages source de construction, le processus de construction, etc. sur système d'aide de LaunchPad .

15
Oli