2 คะแนน โดย GN⁺ 2025-01-19 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • isd เป็นเครื่องมือที่มอบวิธีที่ดีกว่าในการจัดการยูนิต systemd โดยมีเทอร์มินัลยูสเซอร์อินเทอร์เฟซ (TUI) สำหรับค้นหายูนิต อัปเดตพรีวิวอัตโนมัติ จัดการ sudo อย่างชาญฉลาด และมีอินเทอร์เฟซที่ปรับแต่งได้

แรงจูงใจสั้นๆ

  • isd ช่วยทำให้กระบวนการที่ซับซ้อนในการโต้ตอบกับยูนิต systemd ง่ายขึ้น และแสดงข้อมูลที่เป็นประโยชน์ให้ผู้ใช้
  • ลดความยุ่งยากจากการต้องพิมพ์คำสั่ง systemctl ซ้ำๆ และรีเฟรชผลลัพธ์ที่แสดงให้อัตโนมัติ

การติดตั้ง

  • สามารถติดตั้ง isd ได้ผ่าน AppImage, nix และ uv
  • AppImage เป็นไฟล์รันเดี่ยวที่ใช้งานได้บนทุก Linux distribution และยังใช้ได้บนรีโมตเซิร์ฟเวอร์ที่มีข้อจำกัดด้านสิทธิ์
  • หากต้องการติดตั้ง isd ในสภาพแวดล้อม nix สามารถติดตั้งผ่านแพ็กเกจ nix ได้
  • uv เป็นตัวจัดการแพ็กเกจ Python ซึ่งสามารถใช้ติดตั้งและจัดการ isd ได้

วิธีใช้ isd

  • isd สามารถค้นหายูนิต systemd ตรวจสอบสถานะ และแสดงพรีวิวข้อมูลรายละเอียดของหลายยูนิตได้
  • ส่งคำสั่ง systemctl ไปยังยูนิตที่เลือก และอัปเดตผลลัพธ์สถานะโดยอัตโนมัติ
  • สามารถเปิด pager ภายใน isd เพื่อดูผลลัพธ์สถานะแบบเต็มได้
  • สามารถเปิด pager แยกสำหรับผลลัพธ์ Journal และตั้งค่าธีมกับคีย์ไบน์ดิงที่ปรับแต่งเองได้

โหมดผู้ใช้/ระบบ

  • isd ทำงานได้ในโหมด user หรือ system และประเภทของยูนิตที่แสดงจะแตกต่างกันไปตามโหมด

การค้นหาแบบฟัซซี

  • ผ่านแถบค้นหาแบบฟัซซี สามารถโหลดทุกยูนิตและไฟล์ยูนิตที่ตรงกับข้อความที่ป้อน และไฮไลต์ตามสถานะปัจจุบันได้

การเลือกหลายยูนิต

  • สามารถเลือกหลายยูนิตได้ในวิดเจ็ตผลการค้นหา และมีพรีวิวของยูนิตที่เลือกให้

Command palette

  • สามารถเปิด command palette เพื่อดูคำสั่งทั้งหมดที่ใช้งานได้และคีย์ไบน์ดิง

คำสั่ง

  • ตัวอย่างเช่น กด Ctrl+O เพื่อหยุดยูนิตที่เลือกได้

การรองรับเพจเจอร์

  • ระหว่างที่ใช้งาน isd สามารถเปิด pager เพื่อดูผลลัพธ์พรีวิวแบบเต็มได้

การปรับแต่ง

  • isd รองรับการปรับแต่งและการตั้งค่าที่หลากหลาย โดยมีธีมและคีย์ไบน์ดิงหลายแบบเพื่อช่วยให้ผู้ใช้ทำงานได้อย่างมีประสิทธิภาพสูงสุด

สรุป

  • แนะนำให้ลองใช้งาน isd ด้วยตัวเองเพื่อดูว่ามีประโยชน์กับคุณหรือไม่

ขั้นตอนถัดไป

  • ดูส่วนการปรับแต่งและความปลอดภัย

1 ความคิดเห็น

 
GN⁺ 2025-01-19
ความคิดเห็นบน Hacker News
  • มีผู้ใช้จำนวนมากรู้สึกว่า คำสั่งของ systemd ไม่เป็นธรรมชาติและใช้งานลำบาก โดยเฉพาะการตอบสนองจากคำสั่งที่มีน้อย และโครงสร้างไดเรกทอรีที่ซับซ้อนจนทำให้สับสน

    • ชื่อไดเรกทอรี "systemd/system" ที่ซ้ำกันทำให้ใช้งานไม่สะดวก
    • มองว่าอินเทอร์เฟซควรเป็นมิตรกับมนุษย์ และ Linux ก็ควรยังคงความสนุกในการใช้งานไว้
  • วิธีที่ systemd จัดการกับ ExecStop ทำให้สับสน

    • ExecStart คือคำสั่งที่รันตอนเริ่มบริการ และ ExecStop จะถูกรันหลังจากคำสั่งเริ่มต้นทำงานเสร็จแล้ว
    • สามารถใช้การตั้งค่า RemainAfterExit=yes เพื่อให้บริการทำงานตามที่ต้องการตอนปิดบริการได้
  • รู้สึกว่าการใช้คำสั่ง CLI นั้นยาก และเริ่มมองเห็นสถานะของระบบได้ดีขึ้นเมื่อใช้เครื่องมืออย่าง lazygit/lazydocker

    • ในฐานะผู้ใช้ NixOS คิดว่าการค้นหาบริการ การมองเห็นภาพรวม และการจัดการ จะเป็นประโยชน์มาก
  • มีการกล่าวว่า TUI ของ systemd-client จำเป็นแม้กระทั่งบน macOS, FreeBSD และ Windows ที่ไม่ใช่ Linux

    • เคยมีปัญหาตอนติดตั้งด้วยเครื่องมือ uv แต่ก็ประเมินว่า uv เร็วกว่า pip
  • การติดตั้งเครื่องมือด้วย uv ทำได้ง่ายขึ้น แต่ต้องการขั้นตอนการติดตั้งที่ข้าม dependency ของ Python ไปได้

    • ใช้งานบน Python 3.10 ไม่ได้ แต่แก้ได้ด้วยตัวเลือก -p 3.13
  • แม้งานกับ systemd/dbus API จะยาก แต่ก็คาดหวังว่าจะได้ลองโปรเจ็กต์ใหม่และมีเรื่องให้เรียนรู้

  • แม้ว่าการโต้ตอบกับ systemd ส่วนใหญ่จะเป็นงานเล็กน้อย แต่ก็ยังรู้สึกว่าด้าน usability ยังไม่ดีพอ และมองว่า TUI ช่วยได้มาก

    • มีการพูดถึงการทำให้การโต้ตอบกับระบบเป็นอัตโนมัติเพื่อลดความไม่สะดวก
  • รู้สึกเสียดายที่ไม่สามารถติดตั้งบนเซิร์ฟเวอร์ระยะไกลและ Docker image ได้

    • ต้องการติดตั้งแบบโลคัลแล้วสั่งรันคำสั่งระยะไกลผ่าน ssh และ docker exec
  • ชอบ systemd แต่ก่อนติดตั้งก็สงสัยว่าสามารถเชื่อมต่อโฮสต์ระยะไกลได้หรือไม่

    • ใช้ systemctl --host <hostname> บ่อย
  • ต้องการรันบริการหนึ่งก่อนอีกบริการหนึ่ง แต่สงสัยว่าจะทำได้หรือไม่โดยไม่ต้องแก้ไข unit file ของอีกบริการ