Jak mogę stworzyć i dystrybuować wygaszacz ekranu Ubuntu?


15

Nie mam preferencji języka programowania i dobrze znam kodowanie OpenGL. Gdybym mógł użyć czegoś takiego jak OpenFrameworks lub Processing jako podstawy, byłoby to idealne rozwiązanie.

Odpowiedzi:


15

Wygaszacz ekranu w systemie Linux jest dość prostą rzeczą złożoną z dwóch kluczowych części:

  1. Aplikacja graficzna renderująca obrazy.
  2. .desktopPlik wskazując na tej aplikacji.

Nie jestem pewien, jaki efekt końcowy chcesz osiągnąć, więc zacznę od tyłu. Te .desktoppliki do istniejących wygaszacze żyć w /usr/share/applications/screensavers/. Oto ubuntu_theme.desktopprzykład tego, do czego dążysz:

[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

Jeśli chcesz przenieść inny obraz, możesz po prostu sklonować program uruchamiający i zastąpić /usr/share/pixmaps/ubuntu-screensaver.svggo własnym obrazem (w miarę możliwości używaj plików SVG, ponieważ skalują się one znacznie lepiej).

Jeśli chcesz napisać własny plik binarny dla całkowicie niestandardowego wygaszacza ekranu, prawdopodobnie powinieneś zacząć tutaj: http://www.dis.uniroma1.it/~liberato/screensaver/

Wykorzystuje bardzo prostą grafikę X do robienia całkiem prostych rzeczy. Możesz ulepszyć to za pomocą OpenGL, ale ważne jest, aby najpierw przygotować podstawy.

Gdy skończysz, pakowanie jest całym zestawem problemów, ale w przypadku bardzo prostego pakietu możesz szybko rozbić pakiet, postępując w następujący sposób: https://help.ubuntu.com/community/PythonRecipes/DebianPackage

Ale jeśli poważnie myślisz o rozpowszechnieniu tego wśród wielu osób, prawdopodobnie chcesz zacząć od PPA (prywatnego repozytorium). Możesz przeczytać o PPA, pakietach źródłowych, procesie kompilacji itp . W systemie pomocy LaunchPad .

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.