Zainstaluj motyw
Stworzyłem motyw, jak chcesz, z wyblakłym logo Ubuntu (ponadto dodałem animację logo Ubuntu. Mam nadzieję, że Ci się spodoba :-P)
Zrzut ekranu
Chcesz zobaczyć to na żywo?
Przejdź na stronę http://www.youtube.com/watch?v=zPo50gM3txU
Skąd możesz wziąć ten motyw?
Wysłałem go do mediafire chmurze tutaj .
Jak to zainstalować?
Pobierz z powyższego linku, zapisz go na pulpicie, a następnie wydaj kolejno te polecenia. Proszę wymienić /lib/plymouth/themes
ze /usr/share/plymouth/themes
w poleceniach, jeśli jesteś na 16.04 lub później.
cd ~/Desktop/
tar -xf ubuntufaded.tar
sudo cp -r ubuntu-faded-screen '/lib/plymouth/themes'
sudo rm '/lib/plymouth/themes/default.plymouth'
sudo ln -s '/lib/plymouth/themes/ubuntu-faded-screen/ubuntu-faded-screen.plymouth' '/lib/plymouth/themes/default.plymouth'
sudo update-initramfs -u
Jak to sprawdzić?
- Uruchom ponownie Ubuntu, a zobaczysz ładną animację podczas uruchamiania i wyłączania. LUB
Skopiuj całe polecenie poniżej i wklej je do terminala i naciśnij klawisz Enter. (Prawdopodobnie będziesz musiał zainstalować pakiet: sudo apt-get install plymouth-x11
)
sudo plymouthd --debug --debug-file=/tmp/plymouth-debug-out ; sudo plymouth --show-splash ; for ((I=0;I<10;I++)); do sleep 1 ; sudo plymouth --update=event$I ; done ; sudo plymouth --quit
Jak sam stworzyć motyw Plymouth
Język skryptowy Plymouth jest bardzo podobny do C lub JavaScript. Jeśli znasz te języki, bardzo łatwo będzie samodzielnie utworzyć skrypty Plymouth.
Zacznijmy od podstaw, takich jak operatory, zapętlanie, komentarze itp. Obsługiwane są trzy typy komentarzy.
# comment like in bash
// single line comment like in C
/* block comments */
Instrukcje kończą się średnikiem, np
foo = 10;
Bloki instrukcji można tworzyć za pomocą nawiasów klamrowych, np
{
foo = 10;
z = foo + foo;
}
Obsługiwane są operatorzy +
, -
, *
, /
, %
. Obsługiwane są również operatory przypisania +=, -=, *=,
stenograficznego itp. Obsługiwane są również operatory jednoargumentowe, np
foo *= ++z;
+
służy do konkatenacji np
foo = "Jun" + 7; # here foo is "Jun7"
Przykład operatora porównania:
x = (3 >= 1); # assign 1 to x because it's true
y = ("foo" == "bar"); # assign 0 to y because it's false
Operacje warunkowe i zapętlanie:
if (foo > 4)
{
foo--;
z = 1;
}
else
z = 0;
while (foo--)
z *= foo;
&&
, ||
, !
Są również obsługiwane.
if ( foo > 0 && foo <4 )
Dla wielu czytelników może to być nowość: skróty, podobne do tablic. Skróty mogą być tworzone poprzez dostęp do ich zawartości przy użyciu dot
lub [ ]
nawiasy, np
foo.a = 5;
x = foo["a"] ; # x equals to 5
Użyj fun
słowa kluczowego, aby zdefiniować funkcję, np
fun animator (param1, param2, param3)
{
if (param1 == param2)
return param2;
else
return param3;
}
Dwa podstawowe obiekty Plymouth
Wizerunek
Aby utworzyć nowy obraz, podaj nazwę pliku obrazu w katalogu motywów Image()
. Pamiętaj, że obsługiwane są tylko pliki .png . Na przykład:
background = Image ("black.png");
Aby wyświetlić wiadomość tekstową, musisz utworzyć Image
tekst. (To może cię zaskoczyć.) Na przykład:
text_message_image = Image.Text("I love Ubuntu");
Szerokość i wysokość można znaleźć za pomocą GetWidth()
i GetHeight()
; na przykład:
image_area = background.GetWidth() * background.GetHeight();
Można obracać lub zmieniać rozmiar obrazu; na przykład:
down_image = logo_image.Rotate (3.1415); # Image can be Rotated. Parameter to Rotate is the angle in radians
fat_image = background.Scale ( background.GetWidth() * 4 , background.GetHeight () ) # make the image four times the width
Krasnoludek
Użyj, Sprite
aby umieścić Image
na ekranie.
Tworzenie Sprite
:
first_sprite = Sprite ();
first_sprite.SetImage (background);
Lub dostarczając obraz do jego konstruktora,
first_sprite = Sprite (background);
Jak ustawić różne duszki w różnych pozycjach na ekranie (x, y, z):
first_sprite.SetX (300); # put at x=300
first_sprite.SetY (200); # put at y=200
background.SetZ(-20);
foreground.SetZ(50);
Lub możesz ustawić wszystko na raz za pomocą SetPosition()
:
first_sprite.Setposition(300, 200, 50) # put at x=300, y=200, z=50
Zmiana krycia:
faded_sprite.SetOpacity (0.3);
invisible_sprite.SetOpacity (0);
Niektóre inne stosowane metody to:
Window.GetWidth();
Window.GetHeight();
Window.SetBackgroundTopColor (0.5, 0, 0); # RGB values between 0 to 1.
Window.SetBackgroundBottomColor (0.4, 0.3, 0.6);
Plymouth.GetMode(); # returns a string of one of: "boot", "shutdown", "suspend", "resume" or unknown.
etc.
Predefiniowane funkcje
Plymouth.SetRefreshFunction (function); # Calling Plymouth.SetRefreshFunction with a function will set that function to be called up to 50 times every second
Plymouth.SetBootProgressFunction(); # function is called with two numbers, time spent booting so far and the progress (between 0 and 1)
Plymouth.SetRootMountedFunction(); # function is called when a new root is mounted
Plymouth.SetKeyboardInputFunction(); # function is called with a string containing a new character entered on the keyboard
Plymouth.SetUpdateStatusFunction(); # function is called with the new boot status string
Plymouth.SetDisplayPasswordFunction(); # function is called when the display should display a password dialogue. First param is prompt string, the second is the number of bullets.
Plymouth.SetDisplayQuestionFunction(); # function is called when the display should display a question dialogue. First param is prompt string, the second is the entry contents.
Plymouth.SetDisplayNormalFunction(); # function is called when the display should return to normal
Plymouth.SetMessageFunction(); # function is called when new message should be displayed. First arg is message to display.
Funkcje matematyczne
Math.Abs()
Math.Min()
Math.Pi()
Math.Cos()
Math.Random()
Math.Int()
etc.
Lepiej jest zmodyfikować istniejący skrypt niż zaczynać od zera.
Otwórz .script
plik z przesłanego motywu i spróbuj zrozumieć, co on robi. Fantastyczny przewodnik można znaleźć tutaj .
Jestem pewien, że się tego nauczysz. To nie jest trudne. Daj mi znać, jeśli potrzebujesz pomocy.
Mam nadzieję, że pomogłoby Ci to stworzyć samodzielnie.
Odpowiedź na komentarz Roshana George'a :
Is it possible to replace the purple colour with an image as background in the default Plymouth theme names "ubuntu-logo" ?
background = Image ("your-image.png");
sprite = Sprite (background.Scale (Window.GetWidth(), Window.GetHeight()));
sprite.SetX (0); # put at x=0
sprite.SetY (0); # put at y=0
Może być konieczne dodanie sprite.SetZ (-10);
Powinieneś usunąć
Window.SetBackgroundTopColor (p, q, r);
Window.SetBackgroundBottomColor (a, b, c);
gdzie p, q, r, a, b, c
są niektóre wartości.
Więcej linków