นี่คือสถานการณ์:
การทำงาน (ตัวแก้ไขเวอร์ชันถัดไป) ของ Unity Quick List ฉันต้องการเพิ่มวิธีที่เชื่อถือได้ของไอคอนตัวเรียกใช้ "การเริ่มต้นใหม่" หากต้องการทำเช่นนั้นฉันต้องลบไอคอน (แก้ไข gsettings) และแทนที่มันในตำแหน่งเดียวกัน จนถึงไม่มีปัญหา อย่างไรก็ตามหากแอปพลิเคชันที่สงสัยกำลังทำงานอยู่ผู้ใช้อาจสูญเสียข้อมูลเนื่องจากแอปพลิเคชันจะปิดเมื่อไอคอนนั้นถูกลบออกจากตัวเรียกใช้งาน สิ่งที่ฉันต้องการเป็นวิธีที่น่าเชื่อถือในการหาชื่อกระบวนการของโปรแกรมประยุกต์เพื่อให้การตรวจสอบแก้ไขในรายการของกระบวนการทำงานถ้าโปรแกรมทำงานและส่งข้อความแจ้งเตือนให้กับผู้ใช้ว่าไอคอนไม่สามารถเริ่มต้นใหม่ถ้าสมัครเป็น วิ่ง.
สิ่งที่ฉันทำจนถึงตอนนี้คือทำให้ตัวแก้ไขมองเข้าไปในไฟล์เดสก์ท็อปเพื่ออ่านคำสั่งอ่านคำสั่งถอดจากส่วนไดเรกทอรีและดูสคริปต์ระยะไกลที่อาจเป็นไปได้ซึ่งคำสั่งไฟล์เดสก์ท็อปอาจอ้างถึง ด้วย "./"
แม้ว่าวิธีการนี้จะทำงานได้ดีกับแอปพลิเคชันทั้งหมดที่ฉันทดสอบ แต่ฉันมีความรู้สึกว่าจะต้องมีวิธีที่ง่ายกว่าในการแก้ปัญหาด้วยวิธี "all in one" ...
มีอะไรบ้าง
นอกจากนี้ยังมีข้อเสนอแนะเพื่อรับสถานการณ์พิเศษเพิ่มเติมอีก
ps
และxprop
เอาท์พุท?
.desktop
ไฟล์ซึ่งไม่จำเป็นต้องเป็น WM_CLASS WM_CLASS สามารถตั้งค่าได้จากภายในแอปพลิเคชัน
firefox.desktop
มันจะเปิดตัว firefox ด้วย PID 1234 แต่เปลี่ยนWM_CLASS
ไปเป็น 'Totally Not Firefox' .desktop
ไฟล์ แต่ไม่ได้เปลี่ยน คุณต้องการที่จะได้รับชื่อที่แนบมากับ PID 1234 WM_CLASS
โดยไม่คำนึงถึง ฉันคิดว่าฉันเห็นสิ่งที่ต้องทำ แต่คุณไม่ได้ตอบคำถามแรกของฉัน - มันใช้ได้ไหมถ้าเป็นเอกภาพเท่านั้น?