Blog (15)
Komentarze (83)
Recenzje (0)

Plymouth - czyli jak zrobić własny ekran startowy w Ubuntu. #cz.2

@Spox5Plymouth - czyli jak zrobić własny ekran startowy w Ubuntu. #cz.219.06.2010 19:15

W poprzednim wpisie pokazałem Wam jak wykonać Usplasha, natomiast dziś chciałbym przedstawić jak można szybko wykonać temat Plymouth. Jednak zanim przejdę do szczegółów trochę na temat wyższości tego rodzaju ekranu startowego nad poprzednim. A więc dlaczego Plymouth, a nie Usplash.

1) Paleta kolorów , nie jest już ograniczeniem (w usplash'u mogliśmy korzystać tylko z 8-bitowej głębi czyli 256 kolorów).

2) Plymouth obsługuje przeźroczystość (usplash nie!).

3) Można tworzyć zaawansowane technicznie tematy, gdyż oprócz możliwości przesuwania grafik w osi X i Y otrzymujemy możliwość również przesuwania w osi Z.

4) Nie musimy tworzyć grafiki pod kątem rozdzielczości ekranu (mniejsza ich ilość)

5) możliwość interakcji z użytkownikiem.

Większość dystrybucji porzuciła usplash'a na rzecz plymouth'a. Możemy go spotkać m.in. w distrach takich jak Fedora, Mandriva oraz od wersji 10.04 także w Ubuntu. Niestety w tym ostatnim systemie, graficy moim zdaniem nie popisali się i stworzyli coś na miarę leciwego już ekranu bootowania Windowsa XP. Dlatego chciałbym Wam zaoferować pomoc, dzięki której sami wykonacie prosty temat graficzny plymouth. Wzorem z poprzedniej notki chce Wam udostępnić źródła dzięki, którym przyspieszymy pracę. Całość powstała na podstawie elementów zebranych w sieci internetowej i przeze mnie edytowane są tylko proste fragmenty.

W źródłach znajdziecie dwa katalogi. Chciałbym przedstawić Wam co konkretnie one zawierają i do czego będziemy je wykorzystywać:

deb - katalog który posłuży nam do stworzenia własnej paczki deb umożliwiającej szybką instalację tematu graficznego plymouth w Ubuntu, Linux Mint.

moj_pierwszy_plymouth - czyli faktyczne źródła programu, które będziemy edytować.

Link do źródeł

Całą edycję będziemy przeprowadzać w pliku o nazwie script.script, który znajduje się w katalogu "moj_pierwszy_plymouth". Gdy go otworzycie, waszym oczom ukarzą się nagłówki o nazwach: "Tło", "Tło z tapety", "Pulsujące Logo" i "Progess Bar", pozostałymi się nie zajmujemy.

"Tło"

W tej sekcji możemy ustawić tło, które będzie widoczne na naszym ekranie. Linijki, które Nas interesują to:

Window.SetBackgroundTopColor(0.426, 0.0, 0.504)
Window.SetBackgroundBottomColor(0.997, 0.423, 0.0)

Pierwsza odpowiada za tło od góry ekranu, a druga za tło od dołu. Pewnie zastanawiacie się co to za cyferki. Jak pewnie się domyślacie odpowiadają one kolorom RGB, które możemy znaleźć np. w programie Gimp. Jest tylko jedno ale. Każdy cyfra odpowiadająca kolorom RGB, uzyskana w programie Gimp zostaje podzielona przez liczbę 256 i zaokrąglona. W przykładzie u góry, korzystamy z koloru fioletowego. W Gimpie pokazują nam się cyfry R=109; G=0; B=129, gdy je podzielimy przez 256 uzyskamy te, które widzimy wyżej czyli odpowiednio: 0.426; 0.0; 0.504. Musicie pamiętać by w skrypcie stawiać kropki, a nie przecinki.

"Tło z tapety"

W tej sekcji możemy wstawić swoją ulubioną tapetę, którą będziemy podziwiać podczas startu. Wystarczy podmienić plik "tapeta.png" w katalogu "moj_pierwszy_usplash" i to wszystko. Grafika zostanie rozciągnięta na całą wielkość ekranu.

Dwie pierwsze omówione sekcje prezentują się następująco:

"Pulsujące logo"

Tutaj również wystarczy podmienić plik. Nosi on nazwę "logo.png". Oczywiście tak samo jak w przypadku tapety, nie musimy martwić się o jego wielkość. By efekt był zadowalający wypadałoby by była to grafika mniejsza od wielkości ekranu ;) To co Was może interesować w pliku script.script, to linijki odpowiadające za miejsce umieszczenie Waszego loga, są to wiersze nr 34 i 35.

        logo.sprite.SetX (Window.GetX() + Window.GetWidth()  / 2 - logo.image.GetWidth()  / 2);
        logo.sprite.SetY (Window.GetY() + Window.GetHeight() / 3.5 - logo.image.GetHeight() / 2);

"Progress Bar"

Widoczny na zrzutach ekranu pasek postępu, uzyskamy w sekcji "Progress Bar". Tutaj też grafiki możecie podmienić na własne. Miejsce jego wyświetlania możecie zmienić edytując wiersz nr 141 i 148

progress_box.y = Window.GetY() + Window.GetHeight() * 0.66666666667 - progress_box.image.GetHeight() / 2;

(...)
progress_bar.y = Window.GetY() + Window.GetHeight() / 1.5  - progress_box.image.GetHeight() / 2 + (progress_box.image.GetHeight() - progress_bar.original_image.GetHeight()) / 2;

Z tych linijek interesują nas cyfry 0,66666666667 i 1,5. Liczbę 0,66666666667 uzyskujemy dzieląc 1 przez 1,5. Wysokość najlepiej dobrać eksperymentalnie :)

Za szybkość wyświetlania paska postępu odpowiada linijka nr 155

        progress_bar.image = progress_bar.original_image.Scale(progress_bar.original_image.GetWidth(progress_bar.original_image) * progress * 2, progress_bar.original_image.GetHeight());

Zmieniając wartość cyfry 2 na jakąkolwiek inną, albo przyspieszymy pasek postępu albo opóźnimy (Proponuję empirycznie ją sobie dobrać).

Skoro mamy omówiony plik "script.script", przejdźmy do wykonania paczki deb. Skopiujcie katalog "moj_pierwszy_plymouth", do katalogu "themes" znajdującego się w "deb/lib/plymouth/themes". Teraz otwórzcie konsolę w katalogu źródeł i wydajcie polecenie:

dpkg -b deb moj-pierwszy-plymouth_0.1_all.deb

W ten sposób uzyskaliście paczkę, dzięki której szybko zainstalujecie Wasz motyw plymouth.

Gdy po zainstalowaniu nie macie jeszcze ochoty wyłączać komputera, a tylko podejrzeć jak wygląda Wasze dzieło, wystarczy wpisać w terminalu po kolei:

sudo plymouthd
sudo plymouth --show-splash
sudo plymouth --quit

Pierwsze polecenie ładuje deamona, drugie umożliwia podgląd, a trzecie kończy go.

Czas już kończyć, jeśli uważacie, że plymouth jest jeszcze za mało konfigurowalny to polecam zajrzeć na bloga CharlieBrej'a na którym znajdziecie cztery lekcje robienia plymouth'a. Ponadto opis wszystkich funkcji znajdziecie na wiki projektu. Na zakończenie gra Tetris wykonana w plymouth. Źródła znajdziecie na podlinkowanym blogu. Pozwoliłem sobie wykonać paczkę deb, abyście mogli szybko ją przetestować. Sterowania nie pamiętam dokładnie, ale chyba klawisze H J K służą do przesuwania bloków, a do obracania klawisz D lub S.

Link do Tetrisa

Mam nadzieję, że dzięki temu wpisowi, na gnome-look.org pojawi się coraz więcej znakomitych prac polskich autorów.

Tapeta "Lucid Inspired" użyta w plymouth, pochodzi od użytkownika hepaly.

Szanowna Użytkowniczko! Szanowny Użytkowniku!
×
Aby dalej móc dostarczać coraz lepsze materiały redakcyjne i udostępniać coraz lepsze usługi, potrzebujemy zgody na dopasowanie treści marketingowych do Twojego zachowania. Twoje dane są u nas bezpieczne, a zgodę możesz wycofać w każdej chwili na podstronie polityka prywatności.

Kliknij "PRZECHODZĘ DO SERWISU" lub na symbol "X" w górnym rogu tej planszy, jeżeli zgadzasz się na przetwarzanie przez Wirtualną Polskę i naszych Zaufanych Partnerów Twoich danych osobowych, zbieranych w ramach korzystania przez Ciebie z usług, portali i serwisów internetowych Wirtualnej Polski (w tym danych zapisywanych w plikach cookies) w celach marketingowych realizowanych na zlecenie naszych Zaufanych Partnerów. Jeśli nie zgadzasz się na przetwarzanie Twoich danych osobowych skorzystaj z ustawień w polityce prywatności. Zgoda jest dobrowolna i możesz ją w dowolnym momencie wycofać zmieniając ustawienia w polityce prywatności (w której znajdziesz odpowiedzi na wszystkie pytania związane z przetwarzaniem Twoich danych osobowych).

Od 25 maja 2018 roku obowiązuje Rozporządzenie Parlamentu Europejskiego i Rady (UE) 2016/679 (określane jako "RODO"). W związku z tym chcielibyśmy poinformować o przetwarzaniu Twoich danych oraz zasadach, na jakich odbywa się to po dniu 25 maja 2018 roku.

Kto będzie administratorem Twoich danych?

Administratorami Twoich danych będzie Wirtualna Polska Media Spółka Akcyjna z siedzibą w Warszawie, oraz pozostałe spółki z grupy Wirtualna Polska, jak również nasi Zaufani Partnerzy, z którymi stale współpracujemy. Szczegółowe informacje dotyczące administratorów znajdują się w polityce prywatności.

O jakich danych mówimy?

Chodzi o dane osobowe, które są zbierane w ramach korzystania przez Ciebie z naszych usług, portali i serwisów internetowych udostępnianych przez Wirtualną Polskę, w tym zapisywanych w plikach cookies, które są instalowane na naszych stronach przez Wirtualną Polskę oraz naszych Zaufanych Partnerów.

Dlaczego chcemy przetwarzać Twoje dane?

Przetwarzamy je dostarczać coraz lepsze materiały redakcyjne, dopasować ich tematykę do Twoich zainteresowań, tworzyć portale i serwisy internetowe, z których będziesz korzystać z przyjemnością, zapewniać większe bezpieczeństwo usług, udoskonalać nasze usługi i maksymalnie dopasować je do Twoich zainteresowań, pokazywać reklamy dopasowane do Twoich potrzeb. Szczegółowe informacje dotyczące celów przetwarzania Twoich danych znajdują się w polityce prywatności.

Komu możemy przekazać dane?

Twoje dane możemy przekazywać podmiotom przetwarzającym je na nasze zlecenie oraz podmiotom uprawnionym do uzyskania danych na podstawie obowiązującego prawa – oczywiście tylko, gdy wystąpią z żądaniem w oparciu o stosowną podstawę prawną.

Jakie masz prawa w stosunku do Twoich danych?

Masz prawo żądania dostępu, sprostowania, usunięcia lub ograniczenia przetwarzania danych. Możesz wycofać zgodę na przetwarzanie, zgłosić sprzeciw oraz skorzystać z innych praw wymienionych szczegółowo w polityce prywatności.

Jakie są podstawy prawne przetwarzania Twoich danych?

Podstawą prawną przetwarzania Twoich danych w celu świadczenia usług jest niezbędność do wykonania umów o ich świadczenie (tymi umowami są zazwyczaj regulaminy). Podstawą prawną przetwarzania danych w celu pomiarów statystycznych i marketingu własnego administratorów jest tzw. uzasadniony interes administratora. Przetwarzanie Twoich danych w celach marketingowych realizowanych przez Wirtualną Polskę na zlecenie Zaufanych Partnerów i bezpośrednio przez Zaufanych Partnerów będzie odbywać się na podstawie Twojej dobrowolnej zgody.