bash تشغيل البرنامج النصي عند تسجيل الدخول إلى mac


1 Answers

tl؛ dr: استخدم launchd ومدير العمليات الأصلي في OSX ، launchd .

للقيام بذلك ، قم بعمل برنامج launchctl . سيكون لديك السيطرة الكاملة على جميع جوانب البرنامج النصي. يمكنك تشغيل مرة واحدة أو البقاء على قيد الحياة بمثابة خفي. في معظم الحالات ، هذا هو الطريق للذهاب.

  1. قم .plist ملف .plist وفقًا للإرشادات الموجودة في مستندات Apple Dev هنا أو لمزيد من التفاصيل أدناه.
  2. ضع في ~/Library/LaunchAgents
  3. تسجيل الدخول (أو التشغيل يدويًا عبر launchctl load [filename.plist] )

لمزيد من المعلومات حول launchd ، فإن مقالة wikipedia جيدة للغاية وتصف النظام ومميزاته على الأنظمة القديمة الأخرى.

إليك ملف plist محدد لتشغيل برنامج نصي عند تسجيل الدخول .

تم التحديث في 2017/09/25 لـ OSX El Capitan وأحدثها (اعتماد إلى José Messias Jr ):

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
   <key>Label</key>
   <string>com.user.loginscript</string>
   <key>ProgramArguments</key>
   <array><string>/path/to/executable/script.sh</string></array>
   <key>RunAtLoad</key>
   <true/>
</dict>
</plist>

استبدل بعد مفتاح البرنامج بالأمر المطلوب.

حفظ كـ ~/Library/LaunchAgents/com.user.loginscript.plist

تشغيل launchctl load ~/Library/LaunchAgents/com.user.loginscript.plist وتسجيل الخروج / للاختبار (أو للاختبار مباشرة ، قم بتشغيل launchctl start com.user.loginscript )

/var/log/system.log لرسائل الخطأ.

المفتاح هو أن إدخال launchd خاص بالمستخدم ، بحيث يتم تشغيله عند تسجيل الدخول للمستخدم المحدد. يتم تشغيل /Library/LaunchDaemons إطلاق نظام معين (وضعت في /Library/LaunchDaemons ) على التمهيد.

إذا كنت تريد تشغيل نص برمجي عند تسجيل الدخول لجميع المستخدمين ، فأعتقد أن LoginHook هو خيارك الوحيد ، وربما يكون هذا هو سبب وجوده.

bash shell login terminal osx-snow-leopard

أنا أتساءل إذا كان أي شخص قادر على مساعدتي في الحصول على ملف .sh لتشغيل عند تسجيل الدخول إلى حسابي على جهاز الكمبيوتر الخاص بي. أقوم بتشغيل Mac OS X 10.6.7.

لدي ملف "Example.sh" الذي أريد تشغيله عند تسجيل الدخول إلى الكمبيوتر. ليس لدي مشكلة في تشغيله عندما أقوم بتسجيل الدخول بالفعل ، ولكن أريد أن يتم تشغيله تلقائيًا.

يقول الناس لإضافته إلى ملف shell login ، لكن لا أعرف أين يوجد ذلك. بعض المساعدة من فضلك.



Related