โฮมเพจ » ทำอย่างไร » วิธีสร้างสคริปต์เชลล์แบบกราฟิกอย่างง่ายด้วย Zenity บน Linux

    วิธีสร้างสคริปต์เชลล์แบบกราฟิกอย่างง่ายด้วย Zenity บน Linux

    Zenity เพิ่มส่วนต่อประสานกราฟิกไปยังเชลล์สคริปต์ด้วยคำสั่งเดียว เชลล์สคริปเป็นวิธีที่ยอดเยี่ยมในการทำภารกิจซ้ำ ๆ โดยอัตโนมัติ แต่โดยปกติจะ จำกัด อยู่ที่เทอร์มินัล - Zenity นำพวกเขาออกจากเทอร์มินัลและบนเดสก์ท็อปของคุณ.

    เราได้ให้คำแนะนำเกี่ยวกับการเขียนสคริปต์เชลล์ในอดีต คุณไม่จำเป็นต้องเป็นโปรแกรมเมอร์เพื่อเริ่มต้นกับเชลล์สคริปต์ - พวกเขาต้องการความรู้เกี่ยวกับคำสั่งเทอร์มินัล Linux เล็กน้อย.

    รับ Zenity

    Zenity มาพร้อมกับ Ubuntu ตามค่าเริ่มต้น หากคุณใช้อนุพันธ์ของ Ubuntu เช่น Kubuntu คุณอาจต้องติดตั้งด้วยตนเองด้วยคำสั่งต่อไปนี้:

    sudo apt-get zenity install

    Zenity เป็นส่วนหนึ่งของ GNOME ดังนั้นจึงควรรวมอยู่ในการแจกแจง Linux ที่ใช้เดสก์ท็อป GNOME อยู่แล้ว ตรวจสอบผู้จัดการแพคเกจของคุณสำหรับ zenity แพคเกจถ้าคุณไม่ได้มัน.

    ใช้ Zenity

    คุณสามารถเล่นกับ Zenity จากเทอร์มินัล สมมติว่าคุณต้องการสร้างหน้าต่างข้อผิดพลาดเมื่อเกิดปัญหากับเชลล์สคริปต์ของคุณ นี่คือตัวอย่างคำสั่งที่คุณสามารถใช้:

    zenity -error -title =” เกิดข้อผิดพลาด” -text =” เกิดปัญหาขณะเรียกใช้เชลล์สคริปต์”

    เรียกใช้คำสั่งแล้วคุณจะเห็นหน้าต่างพร้อมข้อความ.

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

    สมมติว่าคุณต้องการถามคำถามใช่หรือไม่ใช่ คุณสามารถใช้คำสั่งแบบนี้:

    zenity -question -title =” Query” -text =” คุณต้องการเรียกใช้สคริปต์หรือไม่”

    คุณสามารถตรวจจับการตอบสนองของใช่หรือไม่ใช่ในเชลล์สคริปต์ของคุณและดำเนินการคำสั่งต่าง ๆ ตามปุ่มที่ผู้ใช้คลิก.

    นอกจากนี้ยังมีกล่องโต้ตอบการป้อนข้อความ:

    zenity -entry -title =” เว็บไซต์โปรด” - ข้อความ =” เว็บไซต์โปรดของคุณคืออะไร”

    ตรวจจับอินพุตของผู้ใช้ในเชลล์สคริปต์และคุณสามารถเก็บเป็นตัวแปรได้.

    นอกจากนี้ยังมีตัวเลือกไฟล์ปฏิทินและกล่องโต้ตอบประเภทอื่น ๆ สำหรับรายการประเภทโต้ตอบทั้งหมดและตัวเลือกต่าง ๆ ให้ดูที่หน้าคู่มือของ Zenity.

    สคริปต์ตัวอย่าง

    ลองใช้ Zenity เพื่อสร้างเชลล์สคริปต์แบบกราฟิกอย่างง่าย ด้วยสามคำสั่งเราสามารถสร้างโปรแกรมจับเวลากราฟิก:

    #! / bin / ทุบตี
    # สคริปต์นี้ขอให้ผู้ใช้ในเวลารอจำนวนที่ระบุ
    # ของเวลาและแสดงกล่องโต้ตอบการแจ้งเตือน.

    TIME = $ (zenity -entry -title =” ตัวจับเวลา” -text =” ป้อนระยะเวลาสำหรับตัวจับเวลา \ n \ n ใช้ 5s เป็นเวลา 5 วินาที 10 นาที 10 นาทีหรือ 2 ชั่วโมงเป็นเวลา 2 ชั่วโมง”)

    นอน $ TIME

    zenity -info -title =” ตัวจับเวลาเสร็จสมบูรณ์” -text =” ตัวจับเวลาสิ้นสุดลง \ n \ n มันได้รับ $ TIME”

    เราใช้เทคนิคพิเศษบางอย่างที่นี่ เราได้รับค่าของตัวแปร TIME จากคำสั่ง zenity แรกและป้อนไปยังคำสั่ง sleep เรายังใช้ / n เพื่อสร้างบรรทัดใหม่ของข้อความในกล่องโต้ตอบ zenity.

    หลังจากบันทึกเชลล์สคริปต์และรัน chmod + x คำสั่งที่จะให้มันอนุญาตให้ปฏิบัติได้เราสามารถเปิดมันได้.

    ป้อนระยะเวลาและสคริปต์จะใช้มาตรฐาน นอน คำสั่งเพื่อนับถอยหลังในพื้นหลัง เมื่อตัวจับเวลาคำสั่ง sleep เสร็จสิ้นสคริปต์จะแสดงข้อความข้อมูล zenity.

    คุณสามารถสร้างทางลัดบนเดสก์ท็อปหรือพาเนลสำหรับสคริปต์นี้และรันโดยไม่ต้องแตะต้องเทอร์มินัล.


    นี่เป็นเพียงการเกาที่ผิวของสิ่งที่คุณสามารถทำได้ด้วยความเป็นเซน คุณสามารถใช้มันเพื่อสร้างโปรแกรมที่ซับซ้อนมากขึ้น หากคุณกำลังมองหาข้อมูลเพิ่มเติมเกี่ยวกับเชลล์สคริปต์ให้ตรวจสอบคู่มือของเราเพื่อใช้ลูปในเชลล์สคริปต์.