ฉันจะปรับแต่งโลโก้การบูตของ Ubuntu ได้อย่างไร


60

ฉันกำลังทำการแจกจ่ายแบบกำหนดเองและมีคำถามเกี่ยวกับโลโก้ Ubuntu ที่มี 5 จุดที่แสดงเมื่อทำการบูท

Ubuntu-Logo-Scriptใน/lib/plymouth/themes/ubuntutextโฟลเดอร์ที่มีคำว่าอูบุนตูและใต้ที่ 5 ความคืบหน้า 'จุด' เป็นไปได้หรือไม่ที่จะลบจุดแถบความคืบหน้าและแทนที่ด้วยโลโก้อูบุนตูจางซึ่งจะค่อยๆเปลี่ยนสีให้เต็ม?

ป้อนคำอธิบายรูปภาพที่นี่

คำตอบ:


135

ติดตั้ง Theme

ฉันสร้างชุดรูปแบบตามที่คุณต้องการด้วยโลโก้ Ubuntu จาง ๆ (ยิ่งกว่านั้นฉันได้เพิ่มภาพเคลื่อนไหวของโลโก้ Ubuntu หวังว่าคุณจะชอบ :-P)

ภาพหน้าจอ

โลโก้ Ubuntu หมุนได้และโลโก้ข้อความ Ubuntu พร้อมเอฟเฟกต์จาง

อยากเห็นมันอยู่ไหม?

ไปที่http://www.youtube.com/watch?v=zPo50gM3txU

คุณสามารถรับชุดรูปแบบนี้ได้ที่ไหน

ฉันได้อัปโหลดไปยังเมฆ Mediafire ที่นี่

คุณจะติดตั้งมันได้อย่างไร?

ดาวน์โหลดจากลิงค์ด้านบนบันทึกไว้บนเดสก์ท็อปของคุณจากนั้นออกคำสั่งเหล่านี้ทีละรายการ โปรดแทนที่/lib/plymouth/themesด้วย/usr/share/plymouth/themesคำสั่งหากคุณเป็น 16.04 หรือใหม่กว่า

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

จะตรวจสอบได้อย่างไร?

  1. รีสตาร์ท Ubuntu และคุณจะเห็นภาพเคลื่อนไหวที่ดีในขณะที่บูตและปิดเครื่อง หรือ
  2. คัดลอกคำสั่งทั้งหมดด้านล่างและวางลงในเทอร์มินัลแล้วกด Enter (คุณอาจจะต้องติดตั้งแพคเกจ: 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 หรือ JavaScript ถ้าคุณรู้ภาษาเหล่านี้มันจะง่ายมากในการสร้างสคริปต์ของ Plymouth

เริ่มต้นด้วยพื้นฐานเช่นโอเปอเรเตอร์การวนลูปความคิดเห็นเป็นต้นและรองรับความคิดเห็นสามประเภท

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

คำสั่งถูกยกเลิกด้วยเครื่องหมายอัฒภาคเช่น

foo = 10;

สามารถสร้างบล็อกคำชี้แจงด้วยวงเล็บปีกกาเช่น

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

ผู้ประกอบการได้รับการสนับสนุน+, -, *, ,/ %รองรับตัวดำเนินการกำหนดชวเลขได้+=, -=, *=,เป็นต้นรองรับตัวดำเนินการ Unary เช่น

foo *= ++z;

+ ใช้สำหรับการเรียงต่อกันเช่น

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

ตัวอย่างผู้ประกอบการเปรียบเทียบ:

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

การดำเนินงานตามเงื่อนไขและการวนซ้ำ:

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


while (foo--)
    z *= foo;

&&, ||, !ได้รับการสนับสนุน

if ( foo > 0 && foo <4 )

นี่อาจเป็นเรื่องใหม่สำหรับผู้อ่านหลายคน: แฮชคล้ายกับอาร์เรย์ สามารถสร้างแฮชได้โดยการเข้าถึงเนื้อหาโดยใช้dotหรือ[ ]วงเล็บเช่น

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

ใช้funคำสำคัญเพื่อกำหนดฟังก์ชั่นเช่น

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

วัตถุพื้นฐานพลีมั ธ ทั้งสอง

ภาพ

Image()เพื่อสร้างภาพใหม่ให้ชื่อไฟล์ของภาพในสารบบชุดรูปแบบเพื่อ โปรดจำไว้ว่าเพียง .png ไฟล์ได้รับการสนับสนุน ตัวอย่างเช่น:

background = Image ("black.png"); 

ในการแสดงข้อความคุณต้องสร้างImageข้อความ (สิ่งนี้อาจทำให้คุณประหลาดใจ) ตัวอย่างเช่น:

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

ความกว้างและความสูงสามารถพบได้โดยใช้GetWidth()และGetHeight(); ตัวอย่างเช่น:

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

หนึ่งสามารถหมุนหรือเปลี่ยนขนาดของรูปภาพ; ตัวอย่างเช่น:

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เพื่อวางImageบนหน้าจอ

การสร้างSprite:

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

หรือโดยการจัดหาภาพให้กับผู้สร้าง

first_sprite = Sprite (background);

วิธีตั้ง sprite ต่าง ๆ ไปยังตำแหน่งต่าง ๆ บนหน้าจอ (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);

หรือคุณสามารถตั้งค่าทั้งหมดในครั้งเดียวด้วยSetPosition():

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

เปลี่ยนความทึบ:

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

วิธีการอื่น ๆ ที่ใช้คือ:

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.

ฟังก์ชั่นที่กำหนดไว้ล่วงหน้า

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.

ฟังก์ชันทางคณิตศาสตร์

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

การแก้ไขสคริปต์ที่มีอยู่จะดีกว่าเริ่มจากศูนย์

เปิด.scriptไฟล์จากชุดรูปแบบที่ฉันอัปโหลดและพยายามเข้าใจว่ามันทำอะไร คู่มือที่ยอดเยี่ยมสามารถพบได้ ที่นี่

ฉันแน่ใจว่าคุณจะเรียนรู้สิ่งนี้ มันไม่ยาก แจ้งให้เราทราบหากคุณต้องการความช่วยเหลือ

หวังว่ามันจะช่วยให้คุณสร้างด้วยตัวเอง

ตอบความคิดเห็นของ 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

คุณอาจต้องเพิ่ม sprite.SetZ (-10);

คุณควรลบ

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

ที่p, q, r, a, b, cค่าบางคน

ลิงค์เพิ่มเติม


1
ฉันขอแบบเดียวกับที่คุณสร้างได้ แต่ด้วยโลโก้และข้อความของอูบุนตู (อยู่ในตำแหน่งเดิมเหมือนตอนนี้) ที่เร่าร้อนและหรี่แสงสลับกัน (เมื่อโลโก้เรืองแสง, txt หรี่ลงและเมื่อข้อความเรืองแสงหรี่โลโก้) ในฐานะ playmouth ของ Ubuntu9.10 ... เช่นนี้ - wiki.ubuntu.com/Artwork/Incoming/Karmic/Boot/ ......ต้องการมีแถบความคืบหน้าแบบ Slit อย่างหนึ่งในลิงค์ ... txt และโลโก้เป็น ในตำแหน่งเดียวกับ Urs ... คุณช่วยฉันได้ไหม ฉันพยายามที่จะเรียนรู้จากสิ่งที่คุณได้ xplained ในขณะที่ ... Thanx! คำตอบที่ GR8
Nirmik

21
บางครั้งฉันก็หวังว่าฉันจะสามารถโหวตได้มากกว่า 1 ครั้ง: D
Rinzwind

1
@Rinzwind: ฉันแค่ให้เขา "10 upvotes" ในนามของพวกเราทุกคน :)
ish

ขอบคุณคนที่กวดวิชาเป็นเลิศ ฉันมองหาเขียนในสิ่งนี้ อนุญาตหรือไม่
Roshan George

1
โปรดทราบว่าใน 16.04 สถานที่ตั้งไดเรกทอรีธีมเปลี่ยนเป็น:/usr/share/plymouth/themes
Olivier

3

ใช้ผู้จัดการพลีมั ธ เพื่อเปลี่ยนแปลงสิ่งนี้ คุณสามารถรับได้จากที่นี่ใน Launchpadหรือเรียกใช้คำสั่งด้านล่าง

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 

หลังจากนั้นคุณจะต้องเริ่มต้นplymouth-managerด้วยคำสั่ง:

sudo plymouth-manager

คำสั่ง "magic" ถ้าคุณต้องการทำเอง (เขียนไฟล์ config ของพลีมั ธ ของคุณเอง) และคุณต้องการที่จะใช้มันเมื่อคุณพร้อม:

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

1

ฉันเปลี่ยนหน้าจอ GRUB ด้วยซอฟต์แวร์ GRUB Customizer แต่ถ้าคุณต้องการเปลี่ยนหน้าจอพลีมั ธ มันแตกต่างกัน

ทุกสิ่งของซอฟต์แวร์นี้อยู่ใน/lib/plymouth/themesไดเรกทอรีและภาพเคลื่อนไหวทั้งหมดของซอฟต์แวร์นี้อยู่ใน/lib/plymouth/themes/ubuntu-logo/ubuntu-logo.scriptไฟล์

หากคุณต้องการปรับเปลี่ยนให้เป็นความชอบของพลีมั ธ สิ่งที่คุณต้องมีก็คือubuntu-logoโฟลเดอร์

คุณสามารถทำมันด้วยตัวคุณเองโดยความช่วยเหลือของซอฟต์แวร์ภายนอกใด ๆ แต่คุณจะต้องเข้าใจการเขียนโปรแกรม

นอกจากนี้คุณสามารถค้นหาเครื่องมือที่จะทำในที่เก็บ Ubuntu แต่คุณต้องเรียนรู้การสร้างชุดรูปแบบพลีมั ธ

โชคดี!

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.