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


15

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

Réponses:


15

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

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

Je ne sais pas quel résultat final vous essayez d'atteindre, je vais donc commencer à l'envers. Les .desktopfichiers des économiseurs d'écran existants sont conservés /usr/share/applications/screensavers/. Voici ubuntu_theme.desktopun exemple de ce que vous visez:

[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 lanceur et le remplacer /usr/share/pixmaps/ubuntu-screensaver.svgpar votre propre image (utilisez des SVG si possible car ils évoluent beaucoup mieux).

Si vous voulez écrire votre propre 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 le personnaliser avec OpenGL, mais il est important que vous disposiez d'abord des bases.

Une fois que vous avez terminé, l'emballage est l'ensemble de ses problèmes, mais pour un package très simple, vous pouvez rapidement en sortir un package en suivant quelque chose comme ceci: https://help.ubuntu.com/community/PythonRecipes/DebianPackage

Mais si vous êtes sérieux au sujet de la distribution à beaucoup de gens, vous voudrez probablement commencer par un PPA (un référentiel privé). Vous pouvez lire sur les PPA, la création de packages source, le processus de construction, etc. sur le système d'aide de LaunchPad .

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.