আমি প্রদত্ত উত্তরে কিছু পরিবর্তন করেছি, কারণ যদি কিছু করার মতো হয় তবে তা মাটিতে worth আমি ভিপিএন বাদ দিলে পুনরায় সংযোগ করতে চেয়েছিলাম, তবে ভিপিএন ইচ্ছাকৃতভাবে সংযোগ বিচ্ছিন্ন থাকলে পুনরায় সংযোগ স্থাপন করব না। আমি যে সমাধানটি নিয়ে এসেছি তা কার্যকর এবং অকার্যকর উভয়ই ছিল।
পছন্দসই ভিপিএন স্থিতির উপর নজর রাখতে প্রথমে আমি পিপিডিডি স্টার্টআপ এবং শাটডাউনতে হুক যুক্ত করেছি। এই ফাইলগুলি রুটের মালিকানাধীন হওয়া উচিত এবং এতে ওয়ার্ল্ড রিড / এক্সিকিউট করার অনুমতি রয়েছে ( sudo chmod 755 /etc/ppp/ip-*
)।
জন্য / etc / পিপিপি / IP-আপ:
#!/bin/sh
echo true > /var/run/reconnect_vpn
chmod 644 /var/run/reconnect_vpn
/ ইত্যাদি / পিপিপি / আইপি-ডাউন: ওএস এক্স 10.9.5 এবং নীচের জন্য
#!/bin/sh
tail /var/log/ppp.log | grep '\[DISCONNECT\]'
if [ $? == 0 ] ; then
echo false > /var/run/reconnect_vpn
fi
/ ইত্যাদি / পিপিপি / আইপি-ডাউন: ওএস এক্স 10.10 এবং তারপরের জন্য
#!/bin/sh
tail /var/log/ppp.log | grep '\[TERMINATE\]'
if [ $? == 0 ] ; then
echo false > /var/run/reconnect_vpn
fi
তারপরে উপরের অ্যাপলস্ক্রিপ্টটি সংশোধন করে, আমি ভিপিএনকে ফিরিয়ে আনতে হবে কিনা তা নির্ধারণের জন্য '/ var / run / reconnect_vpn' স্থিতির পরিবর্তনশীল পরীক্ষা করতে সক্ষম হয়েছি:
on idle
tell application "System Events"
tell current location of network preferences
set myConnection to the service "VPN"
set startOnLogin to true
local doReconnect
try
set doReconnect to (do shell script "cat /var/run/reconnect_vpn")
on error errMsg
set doReconnect to startOnLogin
end try
if myConnection is not null and doReconnect then
if current configuration of myConnection is not connected then
connect myConnection
end if
end if
end tell
return 120
end tell
end idle
আগের মতো, set myConnection to the service "VPN"
আপনার ভিপিএন যাকে বলা হয় তাতে লাইনটি পরিবর্তন করুন । এছাড়াও, প্রারম্ভকালে 'পুনরায় সংযোগ_ভিপিএন' ফাইলটি বিদ্যমান নেই, সুতরাং যখন ফাইলটি খুঁজে পাওয়া যায় নি তখন আমি ডিফল্ট হিসাবে পরিবেশন করতে একটি বুলিয়ান (startOnLogin) যুক্ত করেছি। আমি অবিলম্বে শুরু করতে চাই, তবে আপনি যদি এটি মিথ্যাতে পরিবর্তন করেন না।
আমার অনুভূতি আছে যে আপনি যদি ভিপিএন আচরণ সম্পর্কে এই ধরণের ব্যক্তি হন তবে আপনিও সেই ধরণের ব্যক্তি, যিনি আপনার সমাধান না পাওয়া পর্যন্ত আশেপাশে হুড়োহুড়ি পছন্দ করেন এবং এই উত্তরটির কোনও শ্রোতা নেই। তবে কেবল ক্ষেত্রে, এটি এখানে। আশা করি এটি কারও সাহায্য করবে।
Can’t get «class svce» "MyVPN" of «class locc» of «class netp» of application "System Events".
System Events got an error: Can’t get service "MyVPN" of current location of network preferences. (-1728)