Come posso creare e distribuire uno screensaver Ubuntu?


15

Non ho preferenze di linguaggio di programmazione e ho una buona conoscenza della codifica OpenGL. Se potessi usare qualcosa come OpenFrameworks o Processing come base, sarebbe l'ideale.

Risposte:


15

Uno screensaver in Linux è una cosa piuttosto semplice composta da due parti chiave:

  1. Un'applicazione grafica che rende le immagini.
  2. Un .desktopfile che punta a tale applicazione.

Non sono sicuro del risultato finale che stai cercando di ottenere, quindi inizierò al contrario. I .desktopfile per gli screensaver esistenti vivono /usr/share/applications/screensavers/. Ecco ubuntu_theme.desktopun esempio di ciò a cui stai mirando:

[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

Se vuoi spostare un'immagine diversa in giro, puoi semplicemente clonare il launcher e sostituirlo /usr/share/pixmaps/ubuntu-screensaver.svgcon la tua immagine (usa gli SVG laddove possibile in quanto ridimensionano molto meglio).

Se vuoi scrivere il tuo binario per uno screensaver completamente personalizzato, probabilmente dovresti iniziare qui: http://www.dis.uniroma1.it/~liberato/screensaver/

Usa una grafica X molto semplice per fare alcune cose piuttosto semplici. Puoi sfruttarlo con OpenGL ma è importante avere prima le basi.

Una volta terminato, il packaging rappresenta tutta una serie di problemi, ma per un pacchetto molto semplice, puoi rapidamente sbattere fuori un pacchetto seguendo qualcosa del genere: https://help.ubuntu.com/community/PythonRecipes/DebianPackage

Ma se sei seriamente intenzionato a distribuire questo a molte persone, probabilmente vorrai iniziare con un PPA (un repository privato). Puoi leggere di PPA, costruire pacchetti sorgente, il processo di compilazione, ecc. Sul sistema di aiuto di LaunchPad .

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.