Как я могу сделать и распространять заставку Ubuntu?


15

У меня нет предпочтений в языке программирования, и я хорошо знаю кодирование OpenGL. Если бы я мог использовать что-то вроде OpenFrameworks или Processing в качестве основы, это было бы идеально.

Ответы:


15

Заставка в Linux - довольно простая вещь, состоящая из двух ключевых частей:

  1. Графическое приложение, которое отображает изображения.
  2. .desktopФайл , указывающий на приложения.

Я не уверен, какого конечного результата вы пытаетесь достичь, поэтому я начну наоборот. Эти .desktopфайлы для существующих заставок жить /usr/share/applications/screensavers/. Вот ubuntu_theme.desktopпример того, к чему вы стремитесь:

[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

Если вы хотите разместить другое изображение, вы можете просто клонировать модуль запуска и заменить его /usr/share/pixmaps/ubuntu-screensaver.svgсвоим собственным изображением (по возможности используйте SVG, поскольку они масштабируются намного лучше).

Если вы хотите написать собственный двоичный файл для полностью настраиваемой заставки, вам, вероятно, следует начать здесь: http://www.dis.uniroma1.it/~liberato/screensaver/

Он использует очень простую графику X, чтобы делать довольно простые вещи. Вы можете сделать это с помощью OpenGL, но важно, чтобы вы сначала изложили основы.

Когда вы закончите, упаковка - это целый набор проблем, но для очень простого пакета вы можете быстро получить пакет, выполнив что-то вроде этого: https://help.ubuntu.com/community/PythonRecipes/DebianPackage

Но если вы серьезно относитесь к распространению этого среди большого количества людей, вы, вероятно, захотите начать с PPA (частного репозитория). Вы можете прочитать о PPA, сборке исходных кодов, процессе сборки и т. Д. В справочной системе LaunchPad .

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.