นี่อาจดูเหมือนคำถามแปลก ๆ เพราะคนส่วนใหญ่ต้องการทราบวิธีเริ่มโปรแกรมในการบูต ฉันสงสัยว่ามีวิธีที่จะให้ OSX เปิดแอปพลิเคชันเมื่อกดปุ่มรีสตาร์ทจากเมนู Apple
นี่อาจดูเหมือนคำถามแปลก ๆ เพราะคนส่วนใหญ่ต้องการทราบวิธีเริ่มโปรแกรมในการบูต ฉันสงสัยว่ามีวิธีที่จะให้ OSX เปิดแอปพลิเคชันเมื่อกดปุ่มรีสตาร์ทจากเมนู Apple
คำตอบ:
มันเป็นไปได้กับพร็อกซีรีบูตเช่นคุณต้องการเปลี่ยนชื่อ/sbin/reboot
เช่นsudo mv /sbin/reboot /sbin/reboot.ori
แล้วสร้างreboot
symlink ไป/sbin/reboot_proxy
ทุบตีสคริปต์ที่มีคำสั่ง (s) /sbin/reboot.ori
คุณสิ่งที่ต้องดำเนินการก่อนที่จะเริ่มต้นใหม่แล้วสุดท้ายจะรัน ฉันมีการตั้งค่านี้บน Mac ของฉันที่ใช้งาน OS X 10.8.5 และใช้งานได้ดี ฉันกำลังดักทั้งreboot
และshutdown
คำสั่ง มีอะไรทำงานบ้างเมื่อคลิกที่เมนูApple > คำสั่งReboot ...และหรือShut Down ...
นี่คือรหัสในshutdown_proxy
สคริปต์ทุบตีของฉันที่มีลิงก์สัญลักษณ์สำหรับทั้งสองreboot
และshutdown
คำสั่งหลังจากต้นฉบับถูกเปลี่ยนชื่อด้วย.ori
นามสกุล อย่าลังเลที่จะปรับให้เข้ากับการใช้งานของคุณ
เนื้อหาของ reboot_proxy
#!/bin/bash
_name="$0";
echo "Reboot Proxy Executing..."
# Place command(s) to execute before reboot directly below this comment:
_command="$_name.ori"
echo "Executing $_command $@..."
"$_command" "$@"
ให้ฉันเพิ่มว่าจากมุมมองด้านความปลอดภัยมีผู้ที่จะโต้เถียงนี้เป็นสิ่งที่ไม่ดีที่จะทำและฉันจะพูดในระดับที่เป็นจริงภายใต้เงื่อนไขที่ถูกต้อง แต่เนื่องจากฉันเป็นคนเดียวที่เคยและจะเคยสัมผัส Mac ของฉันและฉันมีการรักษาความปลอดภัยหลายระดับที่ทำงานอยู่นอกเหนือจากในตัวฉันเองไม่มีปัญหาในการใช้วิธีการดังกล่าว
reboot
และหรือshutdown
ในเทอร์มินัลสิ่งที่อยู่ใน "# Command" ของฉันเพื่อดำเนินการก่อนรีบูต "ทุกส่วนเสร็จสิ้นก่อนที่จะมีการรีบูต / ปิดเครื่องจริง
ตั้งแต่การเลือกแอปเปิ้ลเมนู> Reboot มีประสิทธิภาพล็อกคุณออกคุณอาจจะทำสิ่งที่ชอบเป็นข้อเสนอแนะที่นี่: เรียกใช้สคริปต์บนออกจากระบบโดยไม่ต้องใช้ตะขอออกจากระบบ
ฉันจะหลีกเลี่ยงการพยายามแก้ไขหรือแก้ไขไบนารีระบบสคริปต์ ฯลฯ และยึดติดกับสิ่งที่มีอยู่ใน "userspace" ส่วนใหญ่เป็นเพราะการอัปเดตระบบใด ๆ สามารถเขียนทับการเปลี่ยนแปลงใด ๆ ที่คุณทำและถ้าคุณทำอะไรที่ถ้า "เสีย" สามารถป้องกันการบูตหรือเข้าสู่ระบบ ... ดีนั่นอาจเป็นอาการปวดหัวที่สำคัญ
หมายเหตุ: ฉันยังไม่ได้มีโอกาสที่จะนำสิ่งนั้นมาทดสอบ แต่ดูเหมือนว่ามีโอกาสในการขายอยู่เล็กน้อย
shutdown -r now
คำสั่งซึ่งเป็นการรีบู๊ตในเทอร์มินัลหรือจากแอปพลิเคชัน