ทำไมเพียง 27 บรรทัดของ Python ถึงเพียงพอสำหรับเดสก์ท็อป Linux Mint ที่สร้างแรงบันดาลใจ
Desklets เป็นคุณสมบัติการปรับแต่ง Linux Mint ที่ฉันชื่นชอบเพราะมันทำให้การเพิ่มวิดเจ็ตบนเดสก์ท็อปง่ายมาก ซึ่งคุณจะชื่นชมถ้าคุณต้องการประสบการณ์วิดเจ็ตแบบ Windows หลังจากเปลี่ยนมาใช้ Mint
แม้ประสบการณ์การใช้ desklets ของ Mint จะค่อนข้างมั่นคง แต่ก็ไม่ครบถ้วนตามที่ฉันต้องการ อันดับแรก แท็บ 'ดาวน์โหลด Desklets' ไม่มีตัวเลือกมากนัก; ณ เวลาที่เขียนนี้ ฉันนับได้ประมาณ 67 desklets ที่ดาวน์โหลดได้ ประการที่สอง แม้ว่า desklets บางตัวสามารถปรับแต่งได้สูง แต่บางตัวก็ไม่สามารถปรับแต่งได้ โดยเฉพาะถ้าคุณต้องการวิดเจ็ตเดสก์ท็อปแบบเฉพาะตัว ซึ่งฉันก็มีตัวอย่างให้ดู
ถ้าคุณได้อ่านบทความของฉันเกี่ยวกับการเปลี่ยนหรืออัปเดตวอลเปเปอร์โดยอัตโนมัติ คุณก็จะรู้ว่าฉันชอบให้เดสก์ท็อปดูสร้างแรงบันดาลใจ ฉันมักจะได้ลุคแบบนั้นโดยใช้เครื่องมือต่างๆ เช่น Shotwell, Variety หรือสคริปต์วอลเปเปอร์เดสก์ท็อปไม่จำกัดที่หมุนเวียนผ่านคอลเลกชันวอลเปเปอร์คำคมสร้างแรงบันดาลใจที่ฉันดาวน์โหลดมา มันไม่ใช่วิธีที่หรูหราที่สุด แต่ก็ใช้ได้
ดังนั้น คุณคงนึกภาพออกว่าฉันดีใจมากแค่ไหนเมื่อหลังจากที่เปลี่ยนการทำงานบน Windows เป็น Linux Mint เป็นเวลาสองสัปดาห์ ฉันสังเกตว่า Mint มี 'Desklet คำคมประจำวัน' ที่ฉันสามารถดาวน์โหลดและแสดงบนเดสก์ท็อปของฉันได้ ซึ่งนั่นคือสิ่งที่ฉันทำจริงๆ
น่าเสียดาย นั่นคือจุดที่ความสุขของผมหยุดลง แปลกใจของผมคือ desklet นั้นรองรับเฉพาะไฟล์ท้องถิ่นหรือไฟล์คำคมโชคดีเท่านั้น ซึ่งน่าผิดหวังเพราะใครจะมีไฟล์ที่เต็มไปด้วยคำคมดาวน์โหลดล่ะ จริงไหม?
Fortune เป็นโปรแกรม Linux คลาสสิกที่แสดงไฟล์ข้อความแบบสุ่มจากฐานข้อมูลในเครื่อง โชคร้ายที่มันไม่สามารถปรับแต่งได้มากนัก
ราวกับว่านั่นยังไม่พอ นั่นคือ desklet คำพูดเดียวที่สามารถดาวน์โหลดจากตัวจัดการได้ (ซวยซ้ำสอง)
ไม่ย่อท้อและมุ่งมั่นที่จะโชว์คำคมสร้างแรงบันดาลใจบนเดสก์ท็อปของฉัน ฉันจึงตัดสินใจสร้างวิดเจ็ตคำคมแบบกำหนดเองสำหรับ Linux Mint หากคุณก็อยากมีเดสก์ท็อป Linux Mint ที่สร้างแรงบันดาลใจเช่นกัน ให้ฉันพาคุณไปดูวิธีสร้างมัน
ขั้นตอนที่ 1: การตั้งค่าสภาพแวดล้อมทดสอบสำหรับวิดเจ็ตคำคมของ Linux Mint
การตั้งค่าโฟลเดอร์โปรเจกต์เป็นขั้นตอนแรก คุณสามารถทำได้ผ่าน GUI แต่เป็นวิธีแบบเก่า ดังนั้นมาลองใช้เทอร์มินอลกัน ซึ่งตรงไปตรงมามันสนุกกว่ามาก ก่อนอื่นใช้คำสั่ง cd เพื่อเข้าสู่โฟลเดอร์ home จากนั้นใช้คำสั่ง mkdir เพื่อสร้างโฟลเดอร์ที่มีชื่อเหมาะสม ฉันตั้งชื่อของฉันว่า 'โปรเจกต์ Quote Widget'
mkdir -p ~/"Quote Widget project"กล่องคำแนะนำ: การใช้เครื่องหมายคำพูดช่วยให้เทอร์มินอลตีความช่องว่างเป็นส่วนหนึ่งของชื่อโฟลเดอร์ หากคุณไม่ต้องการใช้เครื่องหมายคำพูด ให้สร้างชื่อโฟลเดอร์ที่ไม่มีช่องว่าง
ตอนนี้เราจำเป็นต้องสร้าง 'สมอง' เบื้องหลังวิดเจ็ตคำพูด ดังนั้นเรามาทำสิ่งนั้นกันเถอะ
ขั้นตอนที่ 2: การเขียนโปรแกรมเครื่องเปลี่ยนคำคม
เข้าไปยังโฟลเดอร์โปรเจกต์ ใช้ตัวแก้ไขข้อความในเทอร์มินัลเพื่อสร้างไฟล์ Python ชื่อว่า 'quote-engine.py' จากนั้นคัดลอกและวางสคริปต์ต่อไปนี้ลงในไฟล์และบันทึก ฉันจะใช้ nano
#!/usr/bin/env python3
import requests
import os
import textwrap
#-----------CONFIGURATIONs--------------
BASE_DIR = os.path.dirname(os.path.abspath(__file__))
QUOTE_FILE = os.path.join(BASE_DIR, "desktop_quote.txt")
def get_wisdom():
try:
response = requests.get("https://zenquotes.io/api/random", timeout=10)
if response.status_code == 200:
data = response.json()[0] # Use textwrap to format the quote to 50 characters wide
wrapper = textwrap.TextWrapper(width=50)
wrapped_quote = wrapper.fill(text=data['q']) output = f"{wrapped_quote}\n— {data['a']}" with open(QUOTE_FILE, "w") as f:
f.write(output)
except:
pass
if __name__ == "__main__":
get_wisdom()สคริปต์ Python 27 บรรทัดนี้สร้างโปรแกรมเปลี่ยนคำคมซึ่งดึงคำคมจาก Zen Quotes ซึ่งไม่จำเป็นต้องใช้ API สำหรับการใช้งานพื้นฐาน ก่อนที่เราจะดำเนินการต่อ ให้ใช้คำสั่ง chmod เพื่อทำให้ไฟล์สามารถเรียกใช้งานได้ จากนั้นเรียกใช้งานไฟล์เพื่อสร้างไฟล์ 'desktop_quote.txt' ตามที่ระบุในสคริปต์:
chmod +x quote-engine.py./quote-engine.pyเรามาทำให้ง่ายและเหมาะสำหรับผู้เริ่มต้นด้วยการใช้ desklet 'command' ที่มีอยู่แล้วบน Mint คลิกขวาที่ใดก็ได้บนเดสก์ท็อปของคุณแล้วเลือก 'เพิ่ม Desklets' ไปที่ส่วน 'ดาวน์โหลด' ของตัวจัดการ desklets และค้นหา 'Command' ติดตั้ง 'Command results desklet' จากนั้นกลับไปที่แท็บจัดการ เพิ่มมันลงบนเดสก์ท็อปของคุณ แล้วคลิกที่ไอคอนฟันเฟืองเพื่อเริ่มการตั้งค่า
จากหน้าต่างการตั้งค่า ให้ลบตัวเลือกวันที่ เวอร์ชันของ Cinnamon และชื่อโฮสต์โดยคลิกที่แต่ละตัวแล้วกดสัญลักษณ์ '-' การทำเช่นนี้จะทำให้คุณมีพื้นที่ว่างสำหรับเดสก์เล็ตคำคม
ตอนนี้กดสัญลักษณ์ '+' เพื่อเพิ่มรายการใหม่ ใส่ชื่อที่เหมาะสมให้กับรายการใหม่ หรือเว้นว่างไว้ถ้าคุณไม่ต้องการให้ชื่อปรากฏในคำพูด จากนั้น ในช่องคำสั่ง ใช้คำสั่ง cat เพื่ออ่านไฟล์ desktop_quote.txt โดยใช้คำสั่งด้านล่างแล้วกด 'ตกลง' เนื่องจากฉันไม่ต้องการให้เดสก์เล็ตแสดงชื่อ ฉันจึงเว้นว่างไว้
cat "/home/htg/Quote Widget project/desktop_quote.txt"ใช้แท็บสไตล์เพื่อปรับแต่งฟอนต์ สีฟอนต์ ขนาด พื้นหลัง ความโปร่งใส สีขอบ และความกว้าง ย้ายเดสก์เล็ตไปยังตำแหน่งที่คุณต้องการ แล้วค่อยออก
ตอนนี้ที่เราตั้งค่าส่วนสำคัญที่สุดเรียบร้อยแล้ว มาลองใช้ systemd เพื่อทำให้การอัปเดตคำคมเป็นอัตโนมัติกันเถอะ
ขั้นตอนที่ 3: การใช้ systemd เพื่อเปลี่ยนคำพูดโดยอัตโนมัติ
เปิดเทอร์มินัลของคุณ ใช้ nano เพื่อสร้างไฟล์ยูนิตบริการ แล้วคัดลอกและวางสคริปต์ต่อไปนี้ลงไปในนั้น:
sudo nano /etc/systemd/system/quote-fetcher.service[Unit]
Description=Fetch a new inspirational quote
# This setting ensures it doesn't try to fetch without internet
After=network-online.target
[Service]
Type=oneshot
# Update the full path to Python and your script
ExecStart=/usr/bin/python3 "/home/htg/Quote Widget project/quote-engine.py"
User=htg
[Install]
WantedBy=multi-user.targetเปิดใช้งานไฟล์หน่วยบริการ:
sudo systemctl enable quote-fetcher.serviceใช้ nano อีกครั้ง (หรือโปรแกรมแก้ไขข้อความในเทอร์มินอลที่คุณเลือก) เพื่อสร้างไฟล์ตัวจับเวลาที่กำหนดเวลาการอัปเดตคำคม จากนั้นคัดลอกและวางสคริปต์ต่อไปนี้ลงในไฟล์นั้น
sudo nano /etc/systemd/system/quote-fetcher.timer[Unit]
Description=Run the quote fetcher every 2 minutes
[Timer]
# Run 5 minutes after the computer boots up
OnBootSec=5min
# Then run every 2 minutes after the last time it finished
OnUnitActiveSec=2min
# This setting ensures the timer catches up when the computer is turned off
Persistent=true
[Install]
WantedBy=timers.targetเปลี่ยน 'OnUnitActiveSec=2min' เป็นระยะเวลาที่คุณต้องการให้การเสนอราคาปรับเปลี่ยน ผมใช้ 2 นาทีเพื่อการทดสอบ/การแสดงตัวอย่าง
หลังจากสร้างไฟล์บริการและไฟล์ยูนิตตัวจับเวลาแล้ว ให้ใช้ systemctl เพื่อโหลดเดมอนใหม่ จากนั้นเปิดใช้งานตัวจับเวลาเพื่อให้แน่ใจว่ามันทำงานเมื่อบูตเครื่อง:
sudo systemctl daemon-reloadsudo systemctl enable --now quote-fetcher.timerนั่นคือทั้งหมดที่คุณต้องการเพื่อสร้างเดสก์เล็ตคำคมง่าย ๆ สำหรับ Linux Mint
การเคลื่อนไหวของเจ้านาย: ใช้ Conky เพื่อยกระดับขึ้นไปอีกขั้น
หากคุณต้องการให้เดสค์เล็ตคำคมดูเหมือนเป็นส่วนหนึ่งของวอลเปเปอร์ Conky คือทางเลือกที่ควรใช้ เริ่มต้นด้วยการอัพเดตระบบผ่านเทอร์มินัล จากนั้นติดตั้งเวอร์ชันเต็มของ Conky
sudo apt update -ysudo apt install conky-all -yเข้าไปที่โฟลเดอร์โปรเจกต์ ใช้โปรแกรมแก้ไขข้อความในเทอร์มินัลเพื่อสร้างไฟล์ใหม่ชื่อ 'quote.conkyrc' และคัดลอกการตั้งค่าต่อไปนี้ลงไปในไฟล์นั้น:
nano ~/"Quote Widget project/quote.conkyrc"conky.config = {
-- Window Settings
alignment = 'top_right',
gap_x = 50,
gap_y = 100,
minimum_width = 300,
maximum_width = 400,
own_window = true,
own_window_type = 'desktop',
own_window_transparent = true,
own_window_argb_visual = true,
own_window_hints = 'undecorated,below,sticky,skip_taskbar,skip_pager',
-- Text & Font Settings
use_xft = true,
font = 'DejaVu Sans:italic:size=12',
draw_shades = false,
default_color = 'white',
-- Performance Settings
update_interval = 5.0,
double_buffer = true,
}
conky.text = [[
${color orange}DAILY WISDOM${color}
${hr}
${execi 5 cat "/home/htg/Quote Widget project/desktop_quote.txt"}
]]ทดสอบใช้งานด้วยคำสั่งต่อไปนี้:
conky -c "/home/htg/Quote Widget project/quote.conkyrc"ในการทำให้อัตโนมัติ ให้เริ่มตัวจัดการ "แอปพลิเคชันเริ่มต้น", คลิกที่สัญลักษณ์ '+' และเลือกตัวเลือกคำสั่งที่กำหนดเอง ตั้งชื่อโปรแกรมเริ่มต้น แล้วป้อนคำสั่งต่อไปนี้ลงในกล่องคำสั่ง (อย่าลืมปรับแต่งเส้นทาง)
conky -p 10 -c "/home/htg/Quote Widget project/quote.conkyrc"ในกล่องแสดงความคิดเห็น พิมพ์ 'ตัวสร้างคำคมอัตโนมัติ' ตั้งค่าดีเลย์เริ่มต้นเป็น 60 วินาที จากนั้นคลิกเพิ่มเพื่อเริ่มวิดเจ็ตคำคมที่อัปเดตอัตโนมัติ
อย่างที่คุณเห็น การสร้างเดสก์เล็ตแบบกำหนดเองไม่ใช่เรื่องซับซ้อนมากนัก หากคุณต้องการเดสก์เล็ตคำคมพื้นฐาน ใช้เดสก์เล็ตผลลัพธ์คำสั่ง แต่ถ้าคุณต้องการวิดเจ็ตคำคมที่รวมเข้ากับระบบมากขึ้น ใช้ Conky




























