5
วิธีการตรวจจับจากสคริปต์เมื่อโหลดเดสก์ท็อปของผู้ใช้
ฉันมีภูตที่ถูกนำไปใช้ในการทุบตีและทำงานโดยวิธีการcronและ@rebootตัวเลือกที่แสดงให้เห็นว่าเดสก์ท็อปไม่มีการใช้งาน สคริปต์มีดังต่อไปนี้ (กำหนดเวลาสั้น ๆ สำหรับการทดสอบ): #!/bin/bash P_STATE=0 while : do sleep 5 if [ $P_STATE == 0 ]; then [ `xprintidle` -ge 25000 ] && P_STATE=1 && wmctrl -k on else [ `xprintidle` -le 25000 ] && P_STATE=0 done ปัญหา: หากผู้ใช้ยังอยู่ในหน้าจอเข้าสู่ระบบxprintidleและwmctrlล้มเหลวเนื่องจากเดสก์ท็อปยังไม่โหลด เพื่อหลีกเลี่ยงสิ่งนี้ฉันได้ใส่บรรทัดถัดไปไว้ที่จุดเริ่มต้นของสคริปต์: while: do sleep 10s [ -n `who | …