Đây có vẻ là một câu hỏi kỳ lạ vì hầu hết mọi người sẽ muốn biết làm thế nào để bắt đầu một chương trình khi khởi động. Tôi đã tự hỏi nếu có một cách để OSX khởi chạy một ứng dụng khi nhấn nút khởi động lại từ menu apple.
Đây có vẻ là một câu hỏi kỳ lạ vì hầu hết mọi người sẽ muốn biết làm thế nào để bắt đầu một chương trình khi khởi động. Tôi đã tự hỏi nếu có một cách để OSX khởi chạy một ứng dụng khi nhấn nút khởi động lại từ menu apple.
Câu trả lời:
Bạn có thể thực hiện với proxy khởi động lại, tức là bạn đổi tên /sbin/reboot
, ví dụ sudo mv /sbin/reboot /sbin/reboot.ori
, sau đó tạo reboot
liên kết tượng trưng đến /sbin/reboot_proxy
tập lệnh bash có lệnh bạn thực hiện trước khi khởi động lại và cuối cùng nó thực thi /sbin/reboot.ori
. Tôi thực sự có thiết lập này trên máy Mac chạy OS X 10.8.5 và nó hoạt động tốt. Tôi bẫy cả hai reboot
và shutdown
lệnh. Đó là những gì chạy khi nhấp vào menu Apple > Khởi động lại ... và hoặc Tắt ... các lệnh.
Đây là mã trong shutdown_proxy
tập lệnh bash của tôi có liên kết tượng trưng cho cả lệnh reboot
và shutdown
lệnh sau khi bản gốc được đổi tên bằng .ori
phần mở rộng. Hãy thích nghi với việc sử dụng của bạn.
Nội dung của 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" "$@"
Hãy để tôi nói thêm rằng từ quan điểm bảo mật, có những người sẽ cho rằng đây là một điều xấu và tôi nói ở một mức độ nào đó là đúng trong các điều kiện phù hợp tuy nhiên vì tôi là người duy nhất đã từng và sẽ chạm vào Máy Mac của tôi và tôi có một số lớp bảo mật chạy ngoài các công cụ tích hợp, cá nhân tôi không gặp vấn đề gì khi sử dụng phương pháp như vậy.
reboot
và shutdown
trong Terminal, trong "# Command (s) của tôi sẽ thực thi trước khi khởi động lại "Tất cả phần kết thúc trước khi khởi động lại / tắt máy thực tế xảy ra.
Vì chọn Menu Apple> Khởi động lại có hiệu quả đăng xuất bạn, bạn có thể làm điều gì đó giống như được đề xuất ở đây: Chạy Script khi đăng xuất mà không cần sử dụng Logout Hook .
Tôi sẽ tránh cố gắng chỉnh sửa hoặc sửa đổi bất kỳ nhị phân hệ thống, tập lệnh, v.v. và tuân theo những gì có sẵn trong "không gian người dùng". Chủ yếu là vì bất kỳ bản cập nhật hệ thống nào cũng có thể ghi đè lên bất kỳ thay đổi nào bạn đã thực hiện và nếu bạn làm bất cứ điều gì nếu "hỏng" có thể ngăn chặn việc khởi động hoặc đăng nhập ... Chà, đó có thể là một vấn đề đau đầu.
Lưu ý: Tôi chưa có cơ hội thử nghiệm bất kỳ điều nào trong số đó, nhưng có vẻ như một vài khách hàng tiềm năng có thể ở đó.
shutdown -r now
lệnh, khởi động lại, được ban hành trong Terminal hoặc từ một ứng dụng thì sao?