Làm cách nào để tùy chỉnh logo khởi động Ubuntu?


60

Tôi đang thực hiện phân phối tùy chỉnh và có một câu hỏi về Logo Ubuntu với 5 chấm được hiển thị khi khởi động lên.

Các Ubuntu-Logo-Scripttrong /lib/plymouth/themes/ubuntutextthư mục có từ Ubuntu và bên dưới 5 tiến 'chấm'. Có thể loại bỏ các dấu chấm trên thanh tiến trình, và thay vào đó bằng logo Ubuntu bị phai màu, dần dần màu sắc lên đầy?

nhập mô tả hình ảnh ở đây

Câu trả lời:


135

Cài đặt chủ đề

Tôi đã tạo chủ đề như bạn muốn với logo Ubuntu bị mờ (hơn nữa tôi đã thêm một hình ảnh động của logo Ubuntu. Hy vọng bạn thích nó :-P)

Ảnh chụp màn hình

Quay logo Ubuntu và logo văn bản Ubuntu với hiệu ứng mờ dần.

Bạn muốn xem nó sống?

Truy cập http://www.youtube.com/watch?v=zPo50gM3txU

Bạn có thể lấy chủ đề này ở đâu?

Tôi đã tải nó lên đám mây Mediafire ở đây .

Bạn cài đặt nó như thế nào?

Tải xuống từ liên kết trên, lưu nó trên Bàn làm việc của bạn, sau đó đưa ra từng lệnh một. Vui lòng thay thế /lib/plymouth/themesbằng /usr/share/plymouth/themestrong các lệnh, nếu bạn đang ở ngày 16.04 trở lên.

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

Làm thế nào để kiểm tra nó?

  1. Khởi động lại Ubuntu và bạn sẽ thấy một hình ảnh động đẹp trong khi khởi động và tắt. HOẶC LÀ
  2. Sao chép toàn bộ lệnh bên dưới và dán nó vào một thiết bị đầu cuối và nhấn enter. (Bạn có thể sẽ cần phải cài đặt một gói 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ách tự tạo chủ đề Plymouth

Plymouth Scripting Language rất giống với C hoặc JavaScript. Nếu bạn biết những ngôn ngữ này, sẽ rất dễ dàng để tự tạo các tập lệnh Plymouth.

Hãy bắt đầu với những điều cơ bản như toán tử, lặp, nhận xét, v.v ... Ba loại bình luận được hỗ trợ.

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

Báo cáo được chấm dứt bằng dấu chấm phẩy, ví dụ

foo = 10;

Khối câu lệnh có thể được tạo bằng dấu ngoặc nhọn, vd

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

Các nhà khai thác được hỗ trợ là +, -, *, /, %. Toán tử gán tốc ký cũng được hỗ trợ, +=, -=, *=,v.v ... Toán tử đơn nguyên cũng được hỗ trợ, vd

foo *= ++z;

+ được sử dụng để nối, ví dụ

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

Ví dụ toán tử so sánh:

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

Hoạt động có điều kiện và lặp:

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


while (foo--)
    z *= foo;

&&, ||, !Cũng được hỗ trợ.

if ( foo > 0 && foo <4 )

Điều này có thể mới đối với nhiều người đọc: băm, tương tự như mảng. Băm có thể được tạo bằng cách truy cập nội dung của chúng bằng cách sử dụng dothoặc [ ]ngoặc, ví dụ

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

Sử dụng funtừ khóa để xác định chức năng, ví dụ

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

Hai đối tượng cơ bản của Plymouth

Hình ảnh, tưởng tượng

Để tạo một Hình ảnh mới, cung cấp tên tệp của một hình ảnh trong thư mục chủ đề Image(). Hãy nhớ rằng, chỉ các tệp .png được hỗ trợ . Ví dụ:

background = Image ("black.png"); 

Để hiển thị một tin nhắn văn bản, bạn phải tạo một Imagevăn bản. (Điều này có thể làm bạn ngạc nhiên.) Ví dụ:

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

Chiều rộng và chiều cao có thể được tìm thấy bằng cách sử dụng GetWidth()GetHeight(); ví dụ:

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

Người ta có thể xoay hoặc thay đổi kích thước của Hình ảnh; ví dụ:

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

Ma

Sử dụng Spriteđể đặt một Imagemàn hình.

Tạo một Sprite:

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

Hoặc bằng cách cung cấp hình ảnh cho nhà xây dựng của nó,

first_sprite = Sprite (background);

Cách đặt sprite khác nhau cho các vị trí khác nhau trên màn hình (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);

Hoặc bạn có thể thiết lập tất cả cùng một lúc với SetPosition():

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

Thay đổi độ mờ đục:

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

Một số phương pháp linh tinh được sử dụng là:

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.

Chức năng được xác định trước

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.

Hàm toán học

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

Nó là tốt hơn để sửa đổi một kịch bản hiện có hơn là bắt đầu từ đầu.

Mở .scripttập tin từ chủ đề được tải lên của tôi và cố gắng hiểu những gì nó làm. Một hướng dẫn tuyệt vời có thể được tìm thấy ở đây .

Tôi chắc chắn bạn sẽ học được điều này. Nó không khó. Hãy cho tôi biết nếu bạn cần bất kỳ sự giúp đỡ.

Hy vọng nó sẽ giúp bạn tự tạo một cái.

Trả lời bình luận của 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

Bạn có thể cần phải thêm sprite.SetZ (-10);

Bạn nên loại bỏ

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

nơi p, q, r, a, b, clà một số giá trị.

Thêm liên kết


1
Tôi có thể lấy giống như bạn đã tạo không nhưng với logo và văn bản ubfox (ở cùng vị trí như bây giờ) phát sáng và mờ xen kẽ (khi logo phát sáng, mờ txt và khi văn bản phát sáng, logo mờ) không có viền xoay và tiến trình khe như Ubuntu9.10 playmouth ... tức là this- wiki.ubuntu.com/Artwork/Incoming/Karmic/Boot/... muốn chỉ có thanh tiến trình khe như một trong các liên kết ... txt và logo là ở những vị trí giống như urs ... Bạn có thể giúp tôi không? Tôi đang cố gắng học hỏi từ những gì bạn đã xplained trong khi đó ... Thanx! câu trả lời gr8
Nirmik

21
Đôi khi tôi ước mình có thể nâng cao hơn 1 lần: D
Rinzwind

1
@Rinzwind: Tôi chỉ thay mặt cho tất cả chúng tôi "10 upvote" :)
ish

Cảm ơn người đàn ông, hướng dẫn là tuyệt vời. Tôi tìm kiếm thứ này. Điều đó có được phép không?
Roshan George

1
Lưu ý rằng vào ngày 16.04, vị trí thư mục chủ đề đã thay đổi thành:/usr/share/plymouth/themes
Olivier

3

Sử dụng Trình quản lý Plymouth để thay đổi điều này. Bạn có thể lấy nó từ đây trên Launchpad hoặc chạy các lệnh bên dưới.

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 

Sau đó, bạn sẽ cần khởi chạy plymouth-managervới lệnh:

sudo plymouth-manager

Lệnh "ma thuật" nếu bạn muốn tự làm tất cả, (viết tệp cấu hình plymouth của riêng bạn) và bạn muốn áp dụng nó khi bạn đã sẵn sàng là:

sudo update-alternatives --config default.plymouth && sudo update-initramfs -u

1

Tôi đã thay đổi màn hình GRUB bằng phần mềm GRUB Customizer. Nhưng nếu bạn muốn thay đổi màn hình Plymouth thì khác.

Tất cả những thứ của phần mềm này đều có trong /lib/plymouth/themesthư mục và tất cả hình ảnh động của phần mềm này đều nằm trong /lib/plymouth/themes/ubuntu-logo/ubuntu-logo.scripttệp.

Nếu bạn muốn sửa đổi theo ý thích của mình, tất cả những gì bạn cần là vào ubuntu-logothư mục.

Bạn có thể tự làm điều đó mà không cần sự trợ giúp của bất kỳ phần mềm bên ngoài nào, nhưng bạn phải hiểu lập trình .

Ngoài ra, bạn có thể tìm thấy các công cụ để làm điều đó trong kho lưu trữ Ubuntu, nhưng bạn cần học cách tạo chủ đề Plymouth.

Chúc may mắn!

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.