Instalar Tema
Criei o tema como você queria com um logotipo Ubuntu desbotado (além disso, adicionei uma animação do logotipo Ubuntu. Espero que você goste :-P)
Captura de tela
Quer vê-lo ao vivo?
Acesse http://www.youtube.com/watch?v=zPo50gM3txU
Onde você pode obter esse tema?
Fiz upload para a nuvem Mediafire aqui .
Como você o instala?
Faça o download no link acima, salve-o na área de trabalho e emita esses comandos um a um. Substitua /lib/plymouth/themes
por /usr/share/plymouth/themes
nos comandos, se você estiver no 16.04 ou posterior.
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
Como verificá-lo?
- Reinicie o Ubuntu e você verá uma bela animação ao inicializar e desligar. OU
Copie o comando inteiro abaixo e cole-o em um terminal e pressione enter. (Você provavelmente terá que instalar um pacote: 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
Como criar um tema para Plymouth
A linguagem de script Plymouth é muito semelhante a C ou JavaScript. Se você conhece esses idiomas, será muito fácil criar scripts Plymouth.
Vamos começar com o básico, como operadores, looping, comentários, etc. Três tipos de comentários são suportados.
# comment like in bash
// single line comment like in C
/* block comments */
As instruções são finalizadas com ponto e vírgula, por exemplo
foo = 10;
Os blocos de instrução podem ser criados com colchetes, por exemplo
{
foo = 10;
z = foo + foo;
}
Os operadores suportados são +
, -
, *
, /
, %
. Operadores de designação abreviada também são suportados +=, -=, *=,
etc. Operadores unários também são suportados, por exemplo
foo *= ++z;
+
é usado para concatenação, por exemplo
foo = "Jun" + 7; # here foo is "Jun7"
Exemplo de operador de comparação:
x = (3 >= 1); # assign 1 to x because it's true
y = ("foo" == "bar"); # assign 0 to y because it's false
Operações condicionais e loop:
if (foo > 4)
{
foo--;
z = 1;
}
else
z = 0;
while (foo--)
z *= foo;
&&
, ||
, !
Também são suportados.
if ( foo > 0 && foo <4 )
Isso pode ser novo para muitos leitores: hashes, semelhantes a matrizes. Hashes podem ser criados acessando seu conteúdo usando dot
ou [ ]
colchetes, por exemplo
foo.a = 5;
x = foo["a"] ; # x equals to 5
Use a fun
palavra-chave para definir a função, por exemplo
fun animator (param1, param2, param3)
{
if (param1 == param2)
return param2;
else
return param3;
}
Os dois objetos básicos de Plymouth
Imagem
Para criar uma nova imagem, forneça o nome do arquivo de uma imagem no diretório do tema Image()
. Lembre-se, apenas arquivos .png são suportados . Por exemplo:
background = Image ("black.png");
Para mostrar uma mensagem de texto, você deve criar uma Image
do texto. (Isso pode surpreendê-lo.) Por exemplo:
text_message_image = Image.Text("I love Ubuntu");
Largura e altura podem ser encontradas usando GetWidth()
e GetHeight()
; por exemplo:
image_area = background.GetWidth() * background.GetHeight();
Pode-se girar ou alterar o tamanho de uma imagem; por exemplo:
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
Sprite
Use Sprite
para colocar um Image
na tela.
Criando um Sprite
:
first_sprite = Sprite ();
first_sprite.SetImage (background);
Ou fornecendo imagem ao seu construtor,
first_sprite = Sprite (background);
Como definir o sprite diferente para diferentes posições na tela (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);
Ou você pode definir tudo de uma vez com SetPosition()
:
first_sprite.Setposition(300, 200, 50) # put at x=300, y=200, z=50
Alteração da opacidade:
faded_sprite.SetOpacity (0.3);
invisible_sprite.SetOpacity (0);
Alguns métodos diversos usados são:
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.
Funções Predefinidas
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.
Funções matemáticas
Math.Abs()
Math.Min()
Math.Pi()
Math.Cos()
Math.Random()
Math.Int()
etc.
É melhor modificar um script existente do que começar do zero.
Abra o .script
arquivo do meu tema carregado e tente entender o que ele faz. Um guia fantástico pode ser encontrado aqui .
Tenho certeza que você aprenderá isso. Não é difícil. Deixe-me saber se você precisar de alguma ajuda.
Espero que ajude você a criar um você mesmo.
Resposta ao comentário de Roshan George :
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
Pode ser necessário adicionar sprite.SetZ (-10);
Você deve remover
Window.SetBackgroundTopColor (p, q, r);
Window.SetBackgroundBottomColor (a, b, c);
onde p, q, r, a, b, c
estão alguns valores.
Mais links