เราสามารถสร้างเชลล์สคริปต์ซึ่งจำลองการเคลื่อนไหวของเมาส์ตามช่วงเวลาที่กำหนด (เฉพาะเมื่อ XBMC กำลังทำงาน) และป้องกันไม่ให้หน้าจอปิด
ทำตามขั้นตอน:
ติดตั้งเครื่องมือที่จำเป็น:
เราต้องการxdotoolเพื่อทำงานนี้ให้เรา ติดตั้งโดยใช้คำสั่งต่อไปนี้ใน terminal:
sudo apt-get install xdotool
สคริปต์:
บันทึกสคริปต์ต่อไปนี้ได้ทุกที่บนพีซีของคุณ คุณสามารถปรับเปลี่ยนsleep_period
ตามความต้องการของคุณฉันได้ตั้งไว้ที่ 60 วินาที สคริปต์ตรวจสอบว่ามีกระบวนการที่เรียกxbmc.bin
ใช้อยู่หรือไม่ และหากพบสิ่งใดสิ่งหนึ่งก็จะเป็นการจำลองการเคลื่อนไหวของเมาส์ในขณะที่กระบวนการกำลังทำงานอยู่ มิฉะนั้นตรวจสอบกระบวนการอีกครั้งหลังจากช่วงเวลาที่ระบุ
#!/usr/bin/env bash
sleep_period=60s #seconds
mouse_x=0
mouse_y=0
movement_px=2
mouse_x=$(xdotool getmouselocation 2>/dev/null | sed -e 's/x://' -e 's/y//' -e 's/ screen:.*$//' -e 's/ //' | awk 'BEGIN {FS=":"} {print $1}')
mouse_y=$(xdotool getmouselocation 2>/dev/null | sed -e 's/x://' -e 's/y//' -e 's/ screen:.*$//' -e 's/ //' | awk 'BEGIN {FS=":"} {print $1}')
while true; do
if [[ $(pidof xbmc.bin | wc -w) -gt 0 ]]; then
while [[ $(pidof xbmc.bin | wc -w) -gt 0 ]]; do
xdotool mousemove $((mouse_x+${movement_px})) $((mouse_y+${movement_px}))
xdotool mousemove $((mouse_x-${movement_px})) $((mouse_y-${movement_px}))
sleep ${sleep_period}
done
else
sleep ${sleep_period}
fi
done
ทำให้สคริปต์นี้ทำงานได้:
คลิกขวาที่ไฟล์ที่คุณเพิ่งบันทึก >> เลือกProperties>> ในPermissionแท็บใส่เครื่องหมายExecuteถูกที่
รันสคริปต์นี้โดยอัตโนมัติทุกครั้งที่เริ่มต้น:
เราสามารถทำเช่นนี้ด้วยความช่วยเหลือของการประยุกต์ใช้งานเริ่มต้น เปิด Dash ของคุณโดยการกดEnterและค้นหาStartup Applications
>> ในหน้าต่างแอปพลิเคชันเริ่มต้นคลิกที่Add>> จากนั้นในช่องโต้ตอบที่ปรากฏขึ้นให้กรอกข้อมูล:
ชื่อ:ทางเลือกสิ่งที่คุณต้องการตั้งชื่อนี้
คำสั่ง:พา ธ ไปยังไฟล์ที่คุณบันทึกไว้
ความคิดเห็น:ตัวเลือกถ้าคุณต้องการที่จะเพิ่ม
รีสตาร์ทระบบของคุณและเพลิดเพลินกับภาพยนตร์ด้วย XBMC
วิธีใช้กับแอพพลิเคชั่นอื่น
นี่เป็นตัวอย่างสำหรับ XBMC (ชื่อกระบวนการxbmc.bin
) อย่างไรก็ตามสามารถใช้สำหรับกระบวนการอื่น ๆ ที่คุณเลือกได้โดยเพียงแค่แทนที่xbmc.bin
ในสคริปต์ที่กล่าวถึงในขั้นตอนที่ 2 ด้วยชื่อของกระบวนการที่คุณต้องการ ค้นหาบรรทัดต่อไปนี้ในสคริปต์ด้านบน:
while true; do
if [[ $(pidof xbmc.bin | wc -w) -gt 0 ]]; then
while [[ $(pidof xbmc.bin | wc -w) -gt 0 ]]; do
และแทนที่xbmc.bin
ทั้งสองบรรทัด 2 และ 3 ด้วยชื่อกระบวนการที่คุณเลือก
วิธีค้นหาชื่อกระบวนการ
ด้วย GUI (GNOME):
เราสามารถใช้System Monitor
เพื่อค้นหาชื่อของกระบวนการ กดSuperเพื่อเปิด Dash และสอบถามคำว่า "System Monitor" เพื่อเปิดใช้งาน ในProcessesแท็บเราสามารถค้นหาชื่อกระบวนการเป็นคอลัมน์แรก
ด้วยเทอร์มินัล:
เราสามารถเรียกใช้top
เพื่อแสดงรายการกระบวนการทำงานทั้งหมด คอลัมน์สุดท้ายที่เรียกว่าCommand
ให้ชื่อเราของกระบวนการ (แต่มันถูก จำกัด ไว้ที่ 15 ตัวอักษรแรก)
ที่นี่เราจะเห็นว่า Firefox firefox
เป็นชื่อเช่นเดียวกับที่ ดังนั้นหากเราต้องการพฤติกรรมนี้เมื่อ Firefox กำลังทำงาน เราจะแทนที่xbmc.bin
สคริปต์ด้วยfirefox
และทุกอย่างอื่นก็ใช้ได้ดี
รับทราบ:ฉันได้พบสคริปต์ที่นี่ อย่างไรก็ตามฉันได้ทำการแก้ไขที่จำเป็นเพื่อให้กะทัดรัดและตอบสนองความต้องการของคำถาม