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
¿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/themes
con /usr/share/plymouth/themes
en 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?
- Reinicia Ubuntu y verás una bonita animación al arrancar y apagar. O
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 dot
o [ ]
paréntesis, por ejemplo
foo.a = 5;
x = foo["a"] ; # x equals to 5
Use la fun
palabra 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 Image
del 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 Sprite
para colocar un Image
en 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 .script
archivo 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, c
están algunos valores?
Más enlaces
/usr/share/plymouth/themes
Use el Administrador de Plymouth para cambiar esto. Puede obtenerlo desde aquí en Launchpad o ejecutar los comandos a continuación.
Después de eso, deberá iniciar
plymouth-manager
con el comando: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:
fuente
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/themes
directorio y toda la animación de este está en el/lib/plymouth/themes/ubuntu-logo/ubuntu-logo.script
archivo.Si desea modificar a su gusto Plymouth, todo lo que necesita está en la
ubuntu-logo
carpeta.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!
fuente