ฉันมีสคริปต์. sh ที่ดาวน์โหลดภาพถ่ายจากเซิร์ฟเวอร์ของดาวเทียมญี่ปุ่นและตั้งเป็นภาพพื้นหลัง ฉันใส่ไว้ในรายการเริ่มต้นแล้ว แต่ฉันจะเรียกใช้ทุก ๆ ครั้งเช่น 5 นาทีโดยอัตโนมัติได้อย่างไร
ฉันมีสคริปต์. sh ที่ดาวน์โหลดภาพถ่ายจากเซิร์ฟเวอร์ของดาวเทียมญี่ปุ่นและตั้งเป็นภาพพื้นหลัง ฉันใส่ไว้ในรายการเริ่มต้นแล้ว แต่ฉันจะเรียกใช้ทุก ๆ ครั้งเช่น 5 นาทีโดยอัตโนมัติได้อย่างไร
คำตอบ:
หากคุณต้องการวิธีที่ง่ายและหลีกเลี่ยงการค้นหาตัวแปรสภาพแวดล้อมที่จะตั้ง:
เพิ่มรายการต่อไปนี้ลงในแอปพลิเคชันเริ่มต้น:
/bin/bash -c "sleep 15 && while true; do <path_to_your_script.sh> ; sleep 300; done"
Dash> แอปพลิเคชั่นเริ่มต้น> เพิ่ม เพิ่มคำสั่ง:
/bin/bash -c "sleep 15 && while true; do <path_to_your_script.sh> ; sleep 300; done"
หากคุณเรียกใช้สคริปต์จากสภาพแวดล้อมของคุณเอง (เช่นจากหน้าต่างเทอร์มินัลหรือจากแอปพลิเคชันเริ่มต้น) ตัวแปรสภาพแวดล้อมจำนวนหนึ่งจะถูกตั้งค่า cron
อย่างไรก็ตามเรียกใช้สคริปต์ของคุณด้วยชุดตัวแปรสภาพแวดล้อมที่ จำกัด
เนื่องจากสคริปต์ของคุณไม่มีข้อสงสัยใช้gsettings
คำสั่ง:
gsettings get org.gnome.desktop.background picture-uri <wallpaper>
cron
การตั้งวอลล์เปเปอร์ที่เกือบจะแน่นอนคำสั่งจะทำลายเมื่อเรียกใช้จาก
ข้อเสียของ "การแก้ปัญหาขี้เกียจ" เป็นทฤษฎีอย่างหมดจด คำสั่งที่หลับอย่างต่อเนื่องจริงไม่มีความหมายต่อระบบของคุณ
การอ่านโพสต์นี้และจากประสบการณ์ในอดีตฉันค่อนข้างมั่นใจว่าDBUS_SESSION_BUS_ADDRESS
จำเป็นต้องตั้งค่าตัวแปรสภาพแวดล้อม
โดยเพิ่มหัวข้อต่อไปนี้ที่ด้านบนของสคริปต์ (ใต้ shebang):
PID=$(pgrep gnome-session)
export DBUS_SESSION_BUS_ADDRESS=$(grep -z DBUS_SESSION_BUS_ADDRESS /proc/$PID/environ|cut -d= -f2-)
cron
แล้วคุณควรจะสามารถประสบความสำเร็จเรียกใช้จาก
อย่างไรก็ตามคุณสามารถบันทึกความเร่งรีบได้เป็นอย่างดีและเลือกตัวเลือกที่ขี้เกียจ
cpu 0.0%
เรากำลังพูดถึงเรื่องภาษีอะไร?
crontab
ใส่ไว้ในของคุณ
เปิดcron
ตารางของคุณโดย:
crontab -e
ตอนนี้เพิ่ม:
*/5 * * * * /path/to/script.sh
อย่าลืมทำให้สคริปต์ใช้งานได้ล่วงหน้า
เนื่องจากสคริปต์ของคุณขึ้นอยู่กับ X อาจเป็นความคิดที่ดีที่จะเพิ่มในDISPLAY
สภาพแวดล้อมของสคริปต์:
*/5 * * * * DISPLAY=:0 /path/to/script.sh
แทนที่:0
ด้วยจริงของคุณDISPLAY
(สามารถพบได้echo $DISPLAY
จากเซสชั่นแบบโต้ตอบ)
หากจำเป็นคุณสามารถเพิ่มXAUTHORITY
ตัวแปรสภาพแวดล้อมด้วย:
*/5 * * * * DISPLAY=:0 XAUTHORITY="~/.Xauthority" /path/to/script.sh
echo $XAUTHORITY
อีกครั้งคุณสามารถหาค่าโดย