Como posso personalizar o logo de boot do Ubuntu?

57

Estou fazendo uma distribuição personalizada e tenho uma pergunta sobre o logotipo do Ubuntu com 5 pontos exibidos durante a inicialização.

O Ubuntu-Logo-Script na pasta /lib/plymouth/themes/ubuntutext tem a palavra Ubuntu e abaixo desses 5 pontos em progresso. É possível remover os pontos da barra de progresso e, em vez disso, substituí-lo por um logo desbotado do Ubuntu, que gradualmente fica totalmente cheio?

    
por Roshan George 28.05.2012 / 17:55

3 respostas

132

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?

  1. Reinicie o Ubuntu e você verá uma bela animação durante a inicialização e desligando. OU
  2. 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

por virpara 30.06.2017 / 23:43
3

Use o Plymouth Manager para mudar isso. Você pode obtê-lo em aqui no Launchpad ou execute os comandos abaixo.

wget https://launchpad.net/plymouth-manager/trunk/stable/+download/plymouth-manager_1.5.0-1_all.deb
sudo dpkg -i plymouth-manager_1.5.0-1_all.deb 

Depois disso, você precisará lançar plymouth-manager com o comando:

sudo plymouth-manager

O comando "magic" se você quiser fazer tudo sozinho (escrevendo seu próprio arquivo de configuração plymouth), e você quer aplicá-lo quando estiver pronto é:

sudo update-alternatives --config default.plymouth && sudo update-initramfs -u
    
por Frantique 05.06.2012 / 15:07
1

Alterei a tela do GRUB com o software GRUB Customizer. Mas se você quiser mudar a tela de Plymouth é diferente.

Todas as coisas deste software estão no diretório /lib/plymouth/themes e toda a animação deste está no arquivo /lib/plymouth/themes/ubuntu-logo/ubuntu-logo.script .

Se você quiser modificar ao seu gosto, Plymouth, tudo o que você precisa é da pasta ubuntu-logo .

Você pode fazer isso sozinho sem a ajuda de qualquer software externo, mas você deve entender a programação .

Além disso, você pode encontrar ferramentas para fazer isso no repositório do Ubuntu, mas você precisa aprender a criar temas em Plymouth.

Boa sorte!

    
por Lucio 05.06.2012 / 06:12