การเข้ารหัส / ถอดรหัสไฟล์อัตโนมัติ: ไฟล์ตรวจจับถูกปิดในแอปพลิเคชัน Mate / Gnome


1

ฉันกำลังเขียนสคริปต์ทุบตีเพื่อถอดรหัสไฟล์โดยอัตโนมัติสำหรับการแก้ไขและเข้ารหัสกลับหลังจากปิดไฟล์ ประเภทของไฟล์อาจเป็นอะไรก็ได้: ข้อความธรรมดาเอกสารสำนักงาน ฯลฯ ฉันใช้ Linux Mint กับ Mate

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

เวอร์ชันแรกของสคริปต์นั้นใช้ vim พร้อมกับไฟล์ข้อความ สคริปต์กำลังเรียกใช้งานโดยตรงและไม่ได้ดำเนินการใด ๆ อีกจนกว่าจะปิดเป็นกลุ่ม ตอนนี้ที่ฉันต้องการจะทำเช่นนั้นกับไฟล์อื่น ๆ ฉันลองสิ่งต่อไปนี้:

xdg-open: ออกทันทีหลังจากเรียกใช้งานแอปพลิเคชันที่เกี่ยวข้องกับประเภทไฟล์ ดังนั้นสคริปต์จึงดำเนินต่อไปและไม่ดี

ฟังก์ชั่นที่ปรับเปลี่ยนแล้วของ xdg-open สำหรับเรียกแอปที่เกี่ยวข้อง: เรียกใช้ภายในสคริปต์ปัจจุบันดังนั้นตอนนี้ฉันเห็นโปรแกรมออก ใช้งานได้เฉพาะเมื่อแอปพลิเคชันยังไม่ได้ทำงาน หากมีแล้วกระบวนการใหม่จะเสร็จสิ้นและสคริปต์ดำเนินการต่อ

ดังนั้นสิ่งที่ฉันพยายามทำตอนนี้คือดูว่าไฟล์นั้นถูกปิดในแอปพลิเคชันที่รันอยู่แล้ว กำลังทดลองกับ pluma / gedit และ inotifywait มันไม่ทำงานเช่นกัน - ทันทีที่เปิดไฟล์มันจะตรวจพบเหตุการณ์ CLOSE_NOWRITE, CLOSE

เป็นไปได้หรือไม่ที่จะตรวจจับสิ่งนี้โดยไม่ใช้ hooks เฉพาะสำหรับแอปพลิเคชันอื่น เป็นไปได้ที่จะมี X hooks บางอัน?

ขอขอบคุณ.

คำตอบ:


1

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

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