¿Cómo puedo personalizar el logotipo de inicio de Ubuntu?

60

Estoy haciendo una distribución personalizada y tengo una pregunta sobre el logotipo de Ubuntu con 5 puntos que se muestran al arrancar.

El Ubuntu-Logo-Scripten la /lib/plymouth/themes/ubuntutextcarpeta tiene la palabra Ubuntu y debajo de esos 5 'puntos' progresivos. ¿Es posible eliminar los puntos de la barra de progreso y, en su lugar, reemplazarlo con un logotipo de Ubuntu desvanecido, que gradualmente se colorea al máximo?

ingrese la descripción de la imagen aquí

Roshan George
fuente

Respuestas:

135

Instalar el tema

He creado el tema que quería con un logotipo de Ubuntu desvaído (además, he agregado una animación del logotipo de Ubuntu. Espero que le guste :-P)

Captura de pantalla

Girando el logotipo de Ubuntu y el logotipo de texto de Ubuntu con un efecto de desvanecimiento en movimiento.

¿Quieres verlo en vivo?

Ve a http://www.youtube.com/watch?v=zPo50gM3txU

¿Dónde puedes conseguir este tema?

Lo he subido a la nube de Mediafire aquí .

¿Cómo lo instalas?

Descargue desde el enlace anterior, guárdelo en su escritorio, luego emita estos comandos uno por uno. Reemplace /lib/plymouth/themescon /usr/share/plymouth/themesen los comandos, si está en 16.04 o 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

¿Cómo verificarlo?

  1. Reinicia Ubuntu y verás una bonita animación al arrancar y apagar. O
  2. Copie todo el comando a continuación y péguelo en una terminal y presione enter. (Es probable que tenga que instalar un paquete: 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

Cómo crear un tema de Plymouth usted mismo

Plymouth Scripting Language es muy similar a C o JavaScript. Si conoce estos idiomas, será muy fácil crear guiones de Plymouth usted mismo.

Comencemos con conceptos básicos como operadores, bucles, comentarios, etc. Se admiten tres tipos de comentarios.

# comment like in bash
// single line comment like in C
/* block comments */

Las declaraciones se terminan con un punto y coma, por ej.

foo = 10;

Los bloques de instrucciones se pueden crear con llaves, p. Ej.

{
    foo = 10;
    z = foo + foo;
}

Los operadores soportados son +, -, *, /, %. También se admiten operadores de asignación +=, -=, *=,abreviada, etc. También se admiten operadores unarios, p. Ej.

foo *= ++z;

+ se usa para concatenación, por ejemplo

foo = "Jun" + 7; # here foo is "Jun7"

Ejemplo de operador de comparación:

x = (3 >= 1); # assign 1 to x because it's true
y = ("foo" == "bar"); # assign 0 to y because it's false

Operaciones condicionales y bucles:

if (foo > 4)
{
    foo--;
    z = 1;
}
else
    z = 0;


while (foo--)
    z *= foo;

&&, ||, !También son compatibles.

if ( foo > 0 && foo <4 )

Esto puede ser nuevo para muchos lectores: hashes, similares a las matrices. Los hashes se pueden crear accediendo a sus contenidos usando doto [ ]paréntesis, por ejemplo

foo.a = 5;
x = foo["a"] ; # x equals to 5

Use la funpalabra clave para definir la función, por ej.

fun animator (param1, param2, param3)
{
    if (param1 == param2)
        return param2;
    else
        return param3;
}

Los dos objetos básicos de Plymouth

Imagen

Para crear una nueva imagen, proporcione el nombre de archivo de una imagen dentro del directorio del tema Image(). Recuerde, solo se admiten archivos .png . Por ejemplo:

background = Image ("black.png"); 

Para mostrar un mensaje de texto, debe crear uno Imagedel texto. (Esto podría sorprenderlo). Por ejemplo:

text_message_image = Image.Text("I love Ubuntu");

El ancho y la altura se pueden encontrar usando GetWidth()y GetHeight(); por ejemplo:

image_area = background.GetWidth() * background.GetHeight();

Uno puede rotar o cambiar el tamaño de una imagen; por ejemplo:

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

Duende

Use Spritepara colocar un Imageen la pantalla.

Creando un Sprite:

first_sprite = Sprite ();
first_sprite.SetImage (background);

O al proporcionar una imagen a su constructor,

first_sprite = Sprite (background);

Cómo configurar diferentes sprites en diferentes posiciones en la pantalla (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);

O puede configurar todo a la vez con SetPosition():

first_sprite.Setposition(300, 200, 50) # put at x=300, y=200, z=50

Opacidad cambiante:

faded_sprite.SetOpacity (0.3);
invisible_sprite.SetOpacity (0);

Algunos métodos varios utilizados son:

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.

Funciones 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.

Funciones matematicas

Math.Abs()
Math.Min()
Math.Pi()
Math.Cos()
Math.Random()
Math.Int()
etc.

Es mejor modificar un script existente que comenzar desde cero.

Abra el .scriptarchivo de mi tema cargado e intente entender lo que hace. Una guía fantástica se puede encontrar aquí .

Estoy seguro de que aprenderás esto. No es dificil. Avísame si necesitas ayuda.

Espero que te ayude a crear uno tú mismo.

Respuesta al comentario 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

Es posible que deba agregar sprite.SetZ (-10);

Deberías eliminar

Window.SetBackgroundTopColor (p, q, r);
Window.SetBackgroundBottomColor (a, b, c);

¿Dónde p, q, r, a, b, cestán algunos valores?

Más enlaces

virpara
fuente
1
¿Puedo obtener lo mismo que has creado pero con el logotipo y el texto de ubuntu (en las mismas posiciones que ahora) brillando y atenuándose alternativamente (cuando el logotipo se ilumina, txt se atenúa y cuando el texto se ilumina, el logotipo se atenúa) sin borde giratorio y un progreso de hendidura como Ubuntu9.10 playmouth ... es decir, esto- wiki.ubuntu.com/Artwork/Incoming/Karmic/Boot/… quisiera tener solo la barra de progreso de la ranura como la del enlace ... el txt y el logotipo son en las mismas posiciones que urs ... ¿Me pueden ayudar a tener eso? Estoy tratando de aprender de lo que has explicado mientras tanto ... ¡Gracias! respuesta gr8
Nirmik
21
A veces desearía poder votar más de 1 vez: D
Rinzwind
1
@Rinzwind: Acabo de darle "10 votos a favor" en nombre de todos nosotros :)
ish
Gracias hombre, el tutorial es excelente. Espero morder esto. Eso está permitido ?
Roshan George
1
Tenga en cuenta que en 16.04, la ubicación del directorio de temas cambió a:/usr/share/plymouth/themes
Olivier
3

Use el Administrador de Plymouth para cambiar esto. Puede obtenerlo desde aquí en Launchpad o ejecutar los comandos a continuación.

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 

Después de eso, deberá iniciar plymouth-managercon el comando:

sudo plymouth-manager

El comando "mágico" si desea hacerlo todo usted mismo (escribir su propio archivo de configuración de Plymouth) y desea aplicarlo cuando esté listo es:

sudo update-alternatives --config default.plymouth && sudo update-initramfs -u
Frantique
fuente
1

He cambiado la pantalla de GRUB con el software GRUB Customizer. Pero si quieres cambiar la pantalla de Plymouth es diferente.

Todas las cosas de este software están en el /lib/plymouth/themesdirectorio y toda la animación de este está en el /lib/plymouth/themes/ubuntu-logo/ubuntu-logo.scriptarchivo.

Si desea modificar a su gusto Plymouth, todo lo que necesita está en la ubuntu-logocarpeta.

Puede hacerlo por su cuenta sin la ayuda de ningún software externo, pero debe comprender la programación .

También puede encontrar herramientas para hacerlo en el repositorio de Ubuntu, pero necesita aprender a crear temas de Plymouth.

¡Buena suerte!

Lucio
fuente