Instalar tema
Eu criei o tema que você queria com um logotipo do Ubuntu desbotado (além disso, adicionei uma animação do logotipo do Ubuntu. Espero que você goste :-P)
Screenshot
Quer ver ao vivo?
Acesse o link
Onde você pode obter esse tema?
Eu fiz o upload para a nuvem do Mediafire aqui .
Como você o instala?
Faça o download do link acima, salve-o em sua área de trabalho e, em seguida, emita esses comandos um por um.
Por favor, substitua /lib/plymouth/themes
por /usr/share/plymouth/themes
nos comandos, se você estiver em 16.04 ou mais tarde.
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 verificar isso?
- Reinicie o Ubuntu e você verá uma bela animação durante a inicialização e desligando. OU
-
Copie o comando inteiro abaixo e cole-o em um terminal e pressione Enter. (Você provavelmente precisará 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 de Plymouth você mesmo
A Plymouth Scripting Language é muito semelhante a C ou JavaScript. Se você conhece esses idiomas, será muito fácil criar scripts em Plymouth você mesmo.
Vamos começar com noções básicas 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 declarações são terminadas com um ponto e vírgula, por exemplo
foo = 10;
Blocos de instruções podem ser criados com chaves, por exemplo,
{
foo = 10;
z = foo + foo;
}
Os operadores suportados são +
, -
, *
, /
, %
.
Os operadores de atribuição shorthand também são suportados +=, -=, *=,
etc.
Os 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 looping:
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 novidade para muitos leitores: hashes, semelhantes aos arrays. Os hashes podem ser criados acessando seus conteúdos usando dot
ou [ ]
colchetes, por exemplo
foo.a = 5;
x = foo["a"] ; # x equals to 5
Use a palavra-chave fun
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 para Image()
. Lembre-se, apenas arquivos .png são suportados . Por exemplo:
background = Image ("black.png");
Para mostrar uma mensagem de texto, você deve criar um 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 rodar 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 uma 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 diferentes o sprite para posições diferentes 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
Alterando a 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 arquivo .script
do meu tema enviado e tente entender o que ele faz. Um guia fantástico pode ser encontrado aqui .
Tenho certeza de que você aprenderá isso. Não é difícil. Deixe-me saber se você precisar de ajuda.
Espero que o ajude 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
Você pode precisar adicionar sprite.SetZ (-10);
Você deve remover
Window.SetBackgroundTopColor (p, q, r);
Window.SetBackgroundBottomColor (a, b, c);
onde p, q, r, a, b, c
são alguns valores.
Mais links