¿Cómo puedo hacer y distribuir un protector de pantalla de Ubuntu?

15

No tengo preferencias de lenguaje de programación y tengo un buen conocimiento de la codificación OpenGL. Si pudiera usar algo como OpenFrameworks o Processing como base, sería ideal.

Michael Forrest
fuente

Respuestas:

15

Un protector de pantalla en Linux es una cosa bastante simple compuesta de dos partes clave:

  1. Una aplicación gráfica que renderiza las imágenes.
  2. Un .desktoparchivo que apunta a esa aplicación.

No estoy seguro de qué resultado final está tratando de lograr, así que comenzaré a la inversa. Los .desktoparchivos para salvapantallas existentes viven en /usr/share/applications/screensavers/. Aquí hay ubuntu_theme.desktopun ejemplo de lo que busca:

[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 desea flotar una imagen diferente, puede clonar el /usr/share/pixmaps/ubuntu-screensaver.svginiciador y reemplazarlo con su propia imagen (use SVG siempre que sea posible, ya que se escalan mucho mejor).

Si desea escribir su propio binario para un protector de pantalla completamente personalizado, probablemente debería comenzar aquí: http://www.dis.uniroma1.it/~liberato/screensaver/

Utiliza gráficos X muy simples para hacer algunas cosas bastante simples. Puedes mejorarlo con OpenGL, pero es importante que primero consigas lo básico.

Una vez que haya terminado, el empaque es todo un conjunto de problemas, pero para un paquete muy simple, puede eliminar rápidamente un paquete siguiendo algo como esto: https://help.ubuntu.com/community/PythonRecipes/DebianPackage

Pero si usted es serio acerca de distribuir esto a muchas personas, probablemente quiera comenzar con un PPA (un repositorio privado). Puede leer sobre PPA, la creación de paquetes fuente, el proceso de construcción, etc. en el sistema de ayuda de LaunchPad .

Oli
fuente