Como posso criar e distribuir um protetor de tela do Ubuntu?


15

Não tenho preferências de linguagem de programação e tenho um bom conhecimento de codificação OpenGL. Se eu pudesse usar algo como OpenFrameworks ou Processing como base, seria o ideal.

Respostas:


15

Um protetor de tela no Linux é uma coisa bastante simples composta de duas partes principais:

  1. Um aplicativo gráfico que renderiza as imagens.
  2. Um .desktoparquivo apontando para esse aplicativo.

Não sei ao certo qual resultado final você está tentando alcançar, então vou começar ao contrário. Os .desktoparquivos dos protetores de tela existentes residem /usr/share/applications/screensavers/. Aqui está ubuntu_theme.desktopum exemplo do seu objetivo:

[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 você quiser exibir uma imagem diferente, basta clonar o iniciador e substituí-lo /usr/share/pixmaps/ubuntu-screensaver.svgpor sua própria imagem (use SVGs sempre que possível, pois elas aumentam muito mais).

Se você deseja escrever seu próprio binário para um protetor de tela completamente personalizado, provavelmente deve começar aqui: http://www.dis.uniroma1.it/~liberato/screensaver/

Ele usa gráficos X muito simples para fazer algumas coisas bem simples. Você pode descobrir isso com o OpenGL, mas é importante que você aprenda o básico primeiro.

Quando terminar, o empacotamento é todo o seu conjunto de problemas, mas para um pacote muito simples, você pode rapidamente empacotar um pacote seguindo algo como isto: https://help.ubuntu.com/community/PythonRecipes/DebianPackage

Mas se você está falando sério sobre distribuir isso para muitas pessoas, provavelmente deseja começar com um PPA (um repositório privado). Você pode ler sobre PPAs, criação de pacotes de origem, processo de construção, etc. no sistema de ajuda do LaunchPad .

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.