কোনও স্ক্রিপ্ট থেকে ইন্টারনেট ভাগ করা শুরু / বন্ধ করবেন?


21

কমান্ড লাইন বা সম্ভবত কোনও অ্যাপল স্ক্রিপ্ট থেকে ইন্টারনেট ভাগ করে নেওয়ার / বন্ধ করার কোনও উপায় আছে?

জিনিসটি হ'ল আমি আমার ল্যাপটপটি ঘরের এবং কাজের মাঝে ঘুরছি। এক জায়গায় আমি ওয়্যারলেস ইন্টারনেট পাই (এবং এভাবে আমাকে ইন্টারনেট ভাগাভাগি নিষ্ক্রিয় করতে হবে), এবং অন্যদিকে আমি ইথারনেট কেবল থেকে ইন্টারনেট পেয়েছি এবং একটি ছোট ওয়্যারলেস নেটওয়ার্ক তৈরি করে অন্যান্য ডিভাইসে ইন্টারনেট ভাগ করার জন্য কম্পিউটার সেটআপ করেছি।

তবে সিস্টেমের অগ্রাধিকারগুলিতে যেতে এবং প্রতিবার লোকেশনগুলি স্যুইচ করার সময় ইন্টারনেট ভাগ করে নেওয়া শুরু / বন্ধ করা কিছুটা ক্লান্তিকর হয়ে পড়েছে, তাই আমি চাইব যে একটি দ্রুত কমান্ড বা স্ক্রিপ্ট চাই এবং চাহিদাটি স্যুইচ করতে পারি।

কোন ইঙ্গিত বা ধারণা?


মানকফ, যখন আমি আপনার পরামর্শটি চালাব: সুডো লঞ্চক্টল লোড-ডাব্লু / সিস্টেম / লাইব্রেরি / লঞ্চডেমোনস / কম.অ্যাপল।ইন্টারনেটশেয়ারিং.প্লেস্ট এটি ভাল চলছে বলে মনে হয় এবং রিফ্রেশ করার সময় ভাগ করে নেওয়ার পছন্দগুলিও সঠিকভাবে আপডেট করা হয়, তবে সংযোগটি আসলে না কাজ। যদি আমি কমান্ডটি আবার চালিত করি তবে এটি ব্যর্থ হয় কারণ এটি মনে করে যে এটি ইতিমধ্যে লোড হয়েছে। এছাড়াও, আমি প্রক্রিয়াটি চালানোর জন্য যদি "শীর্ষ" কমান্ডটি চালিত করি তবে আমি "ইন্টারনেটটি শেয়ারিং" দেখতে পাচ্ছি না তবে আমি যদি এটি পছন্দগুলি গুইতে শুরু করি তবে আমি দেখতে পাব যে "ইন্টারনেটটি শেয়ারিং" প্রক্রিয়াটি আসলে চলছে এবং সংযোগটি কাজ করে। আমি এইচ কেন এমন কোনও ধারণাগুলি

আপনি কেন এমন আচরণ পান তা নিশ্চিত নন। আমি উপরে "ইন্টারনেট শেয়ারিং" দেখছি (বা আরও সহজ, পিএস অক্স | গ্রেপ -i ইন্টারনেট )।

আমি ওএস এক্স 10.6 চালাচ্ছি। আপনার যদি আলাদা সংস্করণ থাকে তবে সে কারণেই ...

এছাড়াও, এটি সম্ভবত আমার উত্তরের একটি মন্তব্য হওয়া উচিত, নিজেই কোনও উত্তর নয়। উত্তরটি মুছতে পারে ...

হ্যাঁ, অবশ্যই এটি আপনার উত্তরের একটি মন্তব্য হওয়া উচিত, তবে কোনও কারণে ইতিমধ্যে কেউ মন্তব্য না করে আমি সেখানে উত্তরগুলিতে মন্তব্য করতে পারছি না। কারণ আমি একজন নতুন ব্যবহারকারী। আমি ওএস এক্স 10.6.4 চালাচ্ছি। অন্য একটি জিনিস আমি লক্ষ্য করেছি যে আমি যখন পছন্দের তালিকায় ইন্টারনেট ভাগ করে নেওয়ার চেষ্টা করি তা হ'ল প্রক্রিয়াটি নাট্ড (নেটওয়ার্ক অ্যাড্রেস ট্রান্সলেশন ডেমন )ও শুরু হয়ে যায়। আমি ভাবছি যে আমারও এই প্রক্রিয়াটি চালু করতে হবে, বর্তমানে কীভাবে এটি করা যায় তা তদন্ত করে, এই প্রক্রিয়াটি শুরু করার জন্য জটিল যুক্তিগুলির প্রয়োজন রয়েছে বলে মনে হচ্ছে।

উত্তর:


19

সিএলআই থেকে ইন্টারনেট ভাগ করে নেওয়া শুরু করতে:

sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.InternetSharing.plist

বন্ধ করতে, পরিবর্তন লোড করা আন

দ্রষ্টব্য যে আপনি চালনার সময় যদি আপনার পূর্বের ফলকটি খোলা থাকে তবে আপনি পরিবর্তনটি তাত্ক্ষণিকভাবে কার্যকর দেখতে পাবেন না (ইউআই আপডেট করবে না), তবে এটি কার্যকর হয়।


আজব, কিছুক্ষণ পরে, এটি কাজ করা বন্ধ করে দিয়েছে। যদি আমি কমান্ডটি চালনা করি এবং তারপরে পূর্ববর্তী ফলকটি খুলি আমি দেখতে পাচ্ছি যে ভাগ করে নেওয়া সক্ষম করা আছে, তবে সংযোগটি আসলে ভাগ করা হচ্ছে না। যদি আমি ম্যানুয়ালি থামিয়ে প্রিফ প্যানে ভাগ করে নেওয়া শুরু করি তবে সমস্যা ছাড়াই এটি আবার কাজ করে। ভুল হতে পারে সম্পর্কে কোন সূত্র?
জুয়ান এ নাভারো

2
কেনের রেসিপ কাজ করে! তবে ... একটি বাগ আছে (আমি শিকার করছি)। আবার unloadকরতে সক্ষম হবার পরে আপনাকে 30 সেকেন্ড বিলম্ব ছাড়তে হবে load। একটি ভাল চেক কমান্ড হয় ps ax | egrep '[ /](PID|boo|nat)'
ডান

1
10.11.2 এল ক্যাপিটেনে কাজ করে না:/System/Library/LaunchDaemons/com.apple.InternetSharing.plist: No such file or directory
ইয়োহা বেরেবি

3
চেষ্টা করে দেখুন: /System/Library/LaunchDaemons/com.apple.NetworkSharing.plist পরিবর্তে;)
guerrerocarlos

1
যেহেতু সিস্টেম পছন্দসমূহ অ্যাপ্লিকেশনটির অনুমোদনের প্রয়োজন নেই আমরা কীভাবে sudo / root ব্যবহার না করে এটি করতে পারি?
মিশেল ডাল'আগটা

4

এটি করার একটি উপায় হ'ল জিইউআই স্ক্রিপ্টিং — সিস্টেম পছন্দগুলি ডিফল্টরূপে কোনও অ্যাপসক্রিপ্ট সমর্থন করে না।

tell application "System Preferences" to set current pane to pane "com.apple.preferences.sharing"
delay 1
tell application "System Events" to tell process "System Preferences"
    click checkbox 1 of row 8 of table 1 of scroll area 1 of group 1 of window "Sharing" -- change to row 10 if you are using anything before Snow Leopard
    delay 1
    if (exists sheet 1 of window "Sharing") then
        click button "Start" of sheet 1 of window "Sharing"
    end if
end tell
ignoring application responses
    tell application "System Preferences" to quit
end ignoring

3
সম্ভবত, তবে এটি কাজ করে এবং উত্তরটি ওপি-র প্রশ্নের সীমাবদ্ধতার মধ্যে রয়েছে: "কমান্ড লাইন থেকে ইন্টারনেট ভাগ করে নেওয়া বা বন্ধ করার কোনও উপায় বা সম্ভবত কোনও অ্যাপল স্ক্রিপ্ট আছে ?" ডাউনভোটিংয়ের সত্যিকারের জঘন্য উত্তরের জন্য সংরক্ষণ করা উচিত। ধন্যবাদ
ফিলিপ রেগান

1
সুতরাং কোনও "অফিসিয়াল" ডাউনভোট নেই। :)।

2
"কাজ করে এবং সীমাবদ্ধতার মধ্যে রয়েছে" আমাকে মনে করে যে আমাদের একটি নতুন সাইট থাকা উচিত: rubegoldberg.stackexchange.com

2
না এটা কী thedailywtf.com জন্য? ;-)
ফিলিপ রেগান

1
@ জুয়ান: ঠিক আগেই বলে রাখা উচিত যে অ্যাপল যদি সিস্টেম প্রিফারেন্সের লেআউট এবং একটি আপগ্রেডের সাথে ভাগ করার ফলকে পরিবর্তন করে, তবে আমার স্ক্রিপ্টটির আসল সম্ভাব্য ব্রেকও রয়েছে কারণ জিইউআই স্ক্রিপ্টিং খুব কঠোর পরামিতিগুলির উপর নির্ভর করে।
ফিলিপ রেগান

2

আমি ম্যানকফের উত্তর থেকে কিউ নিয়েছি এবং এটিকে একটি অ্যাপলস্ক্রিপ্টে গুটিয়ে রেখেছি। আমি অটোমেটার থেকে এই স্ক্রিপ্টটি ব্যবহার করছি যাতে আমি এটি সহজেই পরিষেবা হিসাবে ব্যবহার করতে এবং কীবোর্ড শর্টকাট দিতে পারি।

টগল ইন্টারনেট শেয়ারিং:

register_growl()

try
    if isRunning("InternetSharing") then
        do shell script "launchctl unload -w /System/Library/LaunchDaemons/com.apple.InternetSharing.plist" with administrator privileges

        if isRunning("InternetSharing") then
            error "Internet Connection Sharing was Not Disabled"
        else
            my growlnote("Success", "Internet Connection Sharing Disabled")
        end if

    else
        do shell script "launchctl load -w /System/Library/LaunchDaemons/com.apple.InternetSharing.plist" with administrator privileges

        if isRunning("InternetSharing") then
            my growlnote("Success", "Internet Connection Sharing Enabled")
        else
            error "Internet Connection Sharing was Not Enabled"
        end if

    end if

on error errMsg
    my growlnote("Error", errMsg)

end try

on isRunning(processName)
    try
        return 0 < length of (do shell script "ps ax | grep -v grep | grep " & processName)
    on error
        return false
    end try
end isRunning

on register_growl()
    try
        tell application "GrowlHelperApp"
            set the notificationsList to {"Success", "Warning", "Error"}
            register as application "Toggle Internet Connection Sharing" all notifications notificationsList default notifications notificationsList icon of application "Sharing"
        end tell
    end try
end register_growl

on growlnote(growltype, str)
    try
        tell application "GrowlHelperApp"
            notify with name growltype title growltype description str application name "Toggle Internet Connection Sharing"
        end tell
    end try
end growlnote

আমার জন্য সিংহটিতে আসলে কাজ করে না। এটি গ্রোল সাফল্যের বার্তা প্রদর্শন করে এবং সিস্টেমের পছন্দগুলিতে বিকল্পটি টগল করে তবে ওয়াইফাই-প্রতীক ভাগ করে নেওয়ার ক্ষেত্রে পরিবর্তন হয় না (এবং অন্যান্য ডিভাইসগুলি ওয়াইফাইটি ভাগ করে নেওয়া দেখতে পারে না, তাই আমি মনে করি এটি চালু নেই :(
অ্যালোপিক্স

2

সাধারণ প্রকরণের সাথে আমার 10.11.6 এ আরও ভাল ফলাফল হয়েছে (ইতিমধ্যে কনফিগার করা শেয়ারিং সেটআপের জন্য) ...

sudo launchctl start com.apple.NetworkSharing

এবং

sudo launchctl stop com.apple.NetworkSharing

যথাক্রমে।


1

ম্যাকোসএক্স-এ অবিচ্ছিন্নভাবে ওয়াইফাই-ভাগ করে নেওয়ার বিষয়ে সংজ্ঞাবদ্ধ কাজ

আমি এমন একটি সিস্টেম খুঁজে পেয়েছি যা অবশেষে কাজ করে এবং যখন কম ঘন ঘন ওয়াইফাই ভাগ করে নেওয়া যায়, তখন এটি এক মিনিটে স্বয়ংক্রিয়ভাবে পুনরুদ্ধার করতে পরিচালিত করে।

সমাধানটি ~/Library/LaunchAgents/com.me.wifisharingup.plistপরবর্তী বিষয়বস্তুগুলির সাথে একটি ডেমন:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
  <key>Label</key>
  <string>com.juanfal.wifisharingup</string>

  <key>ProgramArguments</key>
  <array>
    <string>/Users/mi/bin/wifisharingup.sh</string>
  </array>
  <key>Nice</key>
  <integer>1</integer>

  <key>StartInterval</key>
  <integer>60</integer>

  <key>RunAtLoad</key>
  <true/>

  <key>StandardErrorPath</key>
  <string>/Users/me/Library/Logs/wifisharingup.err</string>

  <key>StandardOutPath</key>
  <string>/Users/me/Library/Logs/wifisharingup.out</string>
</dict>
</plist>

আপনি দেখতে পাচ্ছেন, প্রতি মিনিটে এটি অনুসরণ করে একটি সাধারণ স্ক্রিপ্ট চালায়। পূর্ববর্তী প্লিস্টটি মূলের মালিকানাধীন হয়ে সাবধান হন এবং এটি দিয়ে চালু করুন:

sudo chown root com.me.wifisharingup.plist
sudo launchctl load /Users/me/Library/LaunchAgents/com.me.wifisharingup.plist

এটি প্রতি মিনিটে যে স্ক্রিপ্টটি চালু হয় (এটি কার্যকর করার জন্য ভুলবেন না) হ'ল:

#!/bin/sh

if [[ ! `ipconfig getifaddr en1` ]]; then
    /usr/sbin/networksetup -setairportpower en1 off
    /usr/sbin/networksetup -setairportpower en1 on
    echo `date` >> "/Users/me/Library/Logs/wifisharingup.err"
else
    touch "/Users/me/Library/Logs/wifisharingup.out"
fi

আমি মনে করি ipconfig getifaddr en1ওয়াইফাই ভাগ করে নেওয়ার ডিমনটি কীভাবে কিছু সতেজ করে তুলতে সাধারণ পর্যায়ক্রমে (প্রতিটি মিনিট) কল । যাই হোক না কেন, ওয়াইফাই ভাগ করে নেওয়া যে কোনও মুহুর্তে ব্যর্থ হয়, এটি স্বতঃ নির্ধারিত আইপি ঠিকানাটি হারিয়ে ফেলে এবং তারপরে ipconfig getifaddr en1ব্যর্থ হয়, তাই আমার স্ক্রিপ্টটি পুরোপুরি ওয়াইফাইকে পুনরায় সেট করে, এটি এর আগের অবস্থানটি পুনর্নির্মাণ করে এবং ওয়াইফাই-ভাগ করে নেওয়া পুনরুদ্ধার করে।

এটি এতদিন ধরে ম্যাকমিনিতে কীবোর্ড, মাউস বা মনিটর ছাড়াই কাজ করছে, তবে কেবল ইথারনেটে প্লাগ ইন করে আমার ওয়াইফাই গ্যাজেটগুলিকে বিশ্বে অ্যাক্সেস দিয়েছে।


0

এটি করার সত্যিই সহজ উপায়টি হ'ল নেটওয়ার্কলোকেশন অ্যাপ্লিকেশনের সাথে @ ফিলিপের উত্তর একত্রিত করা। আপনি কোথায় আছেন তা এনএল বলতে পারে এবং আপনি অবস্থানগুলি পরিবর্তন করে এমনটা বুঝতে পারলে স্বয়ংক্রিয়ভাবে একটি অ্যাপলস্ক্রিপ্ট চালায়।

আমি মনে করি যদি আপনার কাছে ল্যাপটপ থাকে তবে এটি সফ্টওয়্যার প্রয়োজন — অন্যথায়, আমি যখনই অবস্থান পরিবর্তন করি তখন সর্বদা বেশ কয়েকটি সেটিংস ম্যানুয়ালি রিসেট করতে হবে এটি পিটা A


মার্কো পোলো ( symonds.id.au/marcopolo ) এর মতো শোনায় তবে মার্কো পোলো স্টেরয়েড ছাড়াই। :)
ইয়ান সি

@ আইয়ান - সেই পৃষ্ঠাটি বলছে এমপি স্নো চিতাবাঘের সাথে সমস্যাগুলি জেনে গেছেন। Google গোষ্ঠী বলে "MarcoPolo প্রকল্প, মৃত নয় কোনটাই, কিন্তু এটা খুব ধীরে ধীরে বিকশিত হচ্ছে। খুব শীঘ্রই একটি নতুন সংস্করণ আশা করবেন না।" Git সংগ্রহস্থলের শো স্টেরয়েড মত যেহেতু 2009 সেপ্টেম্বর সাউন্ড কোন আপডেট আমাকে কারও সাথে আকর্ষণীয় আপ করা যেতে পারে ... ;-)
Dori

বলতে পারি না যে ব্লু টুথের জন্য এসএল সেভ করে আমার এতে সমস্যা হয়েছে । আমি কেবল বিটি সক্ষম / অক্ষম / সনাক্তকরণ বৈশিষ্ট্যটি ব্যবহার করি না এবং এটি বরং দুর্দান্তভাবে কাজ করে। (তবে পয়েন্টটি নেওয়া হয়েছে)
আয়ান সি

0

পোস্ট করা অন্যান্য অ্যাপ্লিক্রিপ্টের চেয়ে কিছুটা আলাদা (আমি আরও ভাল উপায়ে মনে করি তবে…)। বিকল্প থাকা কখনও কখনও সাহায্য করতে পারে।

 tell application "System Preferences"
   activate
   reveal (pane id "com.apple.preferences.sharing")
 end tell

 tell application "System Events"
   tell process "System Preferences"
     try
       click checkbox of row 11 of table 1 of scroll area of group 1 of window "Sharing"

       if checkbox of row 11 of table 1 of scroll area of group 1 of window "Sharing" is equal to 1 then
         repeat until sheet of window 1 exists
           delay 0.5
         end repeat
       end if

       if (sheet of window 1 exists) then
         click button "Start" of sheet of window 1
       end if

       tell application "System Preferences" to quit
       activate (display dialog "Internet Sharing preferences sucessfully flipped")

     on error     
       activate
       display dialog "something went wrong in automation but you are probably in the right menu…"
       return false
     end try
   end tell
 end tell

0

যেহেতু পূর্বে পোস্ট করা জিইউআই স্ক্রিপ্টিং সমাধানটির জন্য উইন্ডো এবং বোতামের নামগুলি সামঞ্জস্য করা আন্তর্জাতিক ব্যবহারকারীদের প্রয়োজন, তাই আমি এমন একটি সংস্করণ নিয়ে এসেছি যা কোনও সিস্টেমের ভাষা নিয়ে কাজ করে। এটি অন্যান্য ভাগ করে নেওয়ার বিকল্পের জন্যও কাজ করে এবং ভাগ করে নেওয়ার স্থিতি সম্পর্কে স্থানীয়ীকৃত প্রতিক্রিয়া দেয়। আমি এর ভিত্তিতে দুটি পৃথক অটোমেটার পরিষেবাদি ব্যবহার করি, একটি ফাইল ভাগ করে নেওয়ার এবং একটি ইন্টারনেট ভাগ করে নেওয়া টগল করার জন্য।

tell application "System Preferences"
    set current pane to pane "com.apple.preferences.sharing"
    set localized_window to the localized name of the current pane
    set localized_app to (localized string "System Preferences")
    set localized_ok to {localized string "OK"} -- File sharing
    set localized_start to {localized string "START"} -- Internet sharing
end tell
delay 0.3
tell application "System Events"
tell process "System Preferences"
    click checkbox 1 of row 8 of table 1 of scroll area 1 of group 1 of window localized_window
    delay 0.2
    select row 8 of table 1 of scroll area 1 of group 1 of window localized_window
    -- change row numbers to the service you want toggled
    if (exists sheet 1 of window localized_window) then
        try
            click button (localized_ok as string) of sheet 1 of window localized_window
        on error
            click button (localized_start as string) of sheet 1 of window localized_window
        end try
    end if
    set sharing_state to the value of item 1 of static text of group 1 of window localized_window
end tell

tell application "System Preferences" to quit
display notification sharing_state with title localized_app
--  display notification exists since OS 10.9, for older systems use: 
--  display dialog sharing_state buttons {localized_ok} default button 1 with title localized_app giving up after 1.5
end tell

0

কোনও কনফিগারেশনের আগে / পরে ইন্টারফেস বা ভাগ করে নেওয়ার সাথে জড়িত ইন্টারফেসগুলি সাথে / বন্ধ করা দরকার:

networksetup -setairportpower en1 off

তারপর. ( networksetup -setairportpower en1 on)

আপনার ওয়াইফাইটি en1আপনার ব্যবহারের জন্য অনুসন্ধান হিসাবে তালিকাবদ্ধ ছিল networksetup -listnetworkserviceorder। মূল বিষয় হল, ইন্টারনেট ভাগ করে নেওয়া শুরু করার সময় আপনাকে আরও কার্যকর NAT কার্যকারিতা যুক্ত করতে হবে তবে কেবল সক্ষম বিটটি সেট করুন।

NAT বিট: -int 0= অফ -int 1= অন দিয়ে চালু হয়

শুধু লেখা আছে /Library/Preferences/SystemConfiguration/com.apple.nat.plistসঙ্গে

defaults write /Library/Preferences/SystemConfiguration/com.apple.nat\
    NAT -dict Enabled -int 0

হয়

<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
        <key>NAT</key>
        <dict>
                </dict>
                <key>Enabled</key>
                <integer>1</integer>
        </dict>
</dict>
</plist>

নীচের মত দেখতে আপনার প্লাস্ট ফাইলটি পরিবর্তন করতে হবে:

<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
        <key>NAT</key>
        <dict>
                <key>AirPort</key>
                <dict>
                        <key>40BitEncrypt</key>
                        <integer>1</integer>
                        <key>Channel</key>
                        <integer>0</integer>
                        <key>Enabled</key>
                        <integer>0</integer>
                        <key>NetworkName</key>
                        <string>FancyHostNome</string>
                        <key>NetworkPassword</key>
                        <data>
                        </data>
                </dict>
                <key>Enabled</key>
                <integer>1</integer>
                <key>NatPortMapDisabled</key>
                <false/>
                <key>PrimaryInterface</key>
                <dict>
                        <key>Device</key>
                        <string>en4</string>
                        <key>Enabled</key>
                        <integer>0</integer>
                        <key>HardwareKey</key>
                        <string></string>
                        <key>PrimaryUserReadable</key>
                        <string>InfiniBand</string>
                </dict>
                <key>PrimaryService</key>
                <string>XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX</string>
                <key>SharingDevices</key>
                <array>
                        <string>en1</string>
                </array>
        </dict>
</dict>
</plist>

আপনি দেখতে পাচ্ছেন আমার প্লাস্ট নেট ফাইলটি আপনার প্রয়োজন অনুসারে সামান্য কাস্টমাইজেশন লাগতে পারে।


0

আমি ২০১১ এর প্রথম দিকে ম্যাকবুক প্রো / 10.11.3 এল ক্যাপিটেনে ইন্টারনেট ভাগ করে নেওয়ার জন্য নীচের স্ক্রিপ্টটি ব্যবহার করি, যাতে নতুন হার্ডওয়্যারের সাহায্যে আপনি আরও কম বিলম্বের সাথে দূরে সরে যেতে পারেন। এটি এই উদ্দেশ্যে পোস্ট করা বেশ কয়েকটি স্ক্রিপ্ট থেকে ধারণাগুলি গ্রহণ করে (স্থানীয়করণ, ওয়াইফাইটি চালু করা / বন্ধ করা networksetup, বন্ধ System Preferencesহয়ে গেলে)।

tell application "System Preferences"
    activate
    reveal (pane id "com.apple.preferences.sharing")
    set localized_window to the localized name of the current pane
end tell

tell application "System Events" to tell process "System Preferences"
    delay 1
    repeat with r in rows of table 1 of scroll area 1 of group 1 of window localized_window
        if (value of static text of r as text) starts with "Internet" then
            set sharingBool to value of checkbox of r as boolean
            select r
            if sharingBool is true
              do shell script "/usr/sbin/networksetup -setairportpower en1 off"
            else
              do shell script "/usr/sbin/networksetup -setairportpower en1 on"
            end if
            click checkbox of r
        end if
    end repeat
    delay 1

    if (exists sheet 1 of window localized_window) then
      click button "Start" of sheet 1 of window localized_window
    end if

end tell

ignoring application responses
  tell application "System Preferences" to quit
end ignoring

0

আপনি এই (সম্ভবত স্ট্যাক ওভারফ্লো জন্য বিষয় বন্ধ) প্রশ্ন এবং এর উত্তর এক নজরে দেখতে চাইতে পারেন: অ্যাপলস্ক্রিপ্ট ব্যবহার করে কীভাবে ইন্টারনেট ভাগ করে নেওয়া / বন্ধ করা যায়

do shell script "/bin/launchctl load -w /System/Library/LaunchDaemons/com.apple.InternetSharing.plist" with administrator privileges

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.