Apakah ada cara untuk memulai / menghentikan berbagi internet dari baris perintah atau mungkin skrip apel?
Masalahnya adalah saya memindahkan laptop saya antara rumah dan kantor. Di satu tempat saya mendapatkan internet nirkabel (dan karenanya saya harus menonaktifkan berbagi internet), dan di tempat lain saya mendapatkan internet dari kabel ethernet dan mengatur komputer untuk berbagi internet ke perangkat lain dengan membuat jaringan nirkabel kecil.
Tetapi agak membosankan karena harus masuk ke System Preferences dan memulai / menghentikan berbagi internet setiap kali saya berpindah lokasi, jadi saya ingin memiliki perintah atau skrip cepat untuk memulai dan melakukan pergantian sesuai permintaan.
Ada petunjuk atau ide?
terminal
network
wifi
internet-sharing
automation
Juan A. Navarro
sumber
sumber
Jawaban:
Untuk memulai Berbagi Internet dari CLI:
Untuk berhenti, ubah beban menjadi bongkar .
Perhatikan bahwa jika Anda memiliki panel buka saat Anda menjalankan ini, Anda tidak akan segera melihat perubahan berlaku (UI tidak akan memperbarui), tetapi itu berfungsi.
sumber
unload
dapat melakukanload
lagi. Satu perintah cek yang bagus adalahps ax | egrep '[ /](PID|boo|nat)'
./System/Library/LaunchDaemons/com.apple.InternetSharing.plist: No such file or directory
Salah satu cara untuk melakukannya adalah dengan skrip GUI — Preferensi Sistem tidak memiliki dukungan Applescript apa pun secara default.
sumber
Saya mengambil isyarat dari jawaban mankoff dan membungkusnya dalam AppleScript. Saya menggunakan skrip ini dari Automator sehingga saya dapat dengan mudah menggunakannya sebagai layanan dan memberikan pintasan keyboard.
Beralih Berbagi Internet:
sumber
Saya memiliki hasil yang jauh lebih baik (untuk pengaturan berbagi yang sudah dikonfigurasi) pada 10.11.6 dengan variasi sederhana ...
sudo launchctl
start
com.apple.NetworkSharing
dan
sudo launchctl
stop
com.apple.NetworkSharing
masing-masing.
sumber
Solusi pasti untuk berbagi wifi konstan mogok di MacosX
Saya telah menemukan sistem yang akhirnya berfungsi dan ketika, jarang berbagi wifi rusak, ia berhasil memulihkannya secara otomatis dalam satu menit.
Solusinya adalah
~/Library/LaunchAgents/com.me.wifisharingup.plist
daemon dengan konten berikut:Anda bisa lihat, setiap menit ia menjalankan skrip sederhana yang mengikuti. Hati-hati membuat plist sebelumnya dimiliki oleh root dan luncurkan dengan:
Skrip yang diluncurkan setiap menit (jangan lupa untuk membuatnya dapat dieksekusi) adalah:
Saya pikir panggilan sederhana secara berkala (setiap menit) untuk
ipconfig getifaddr en1
menyegarkan sesuatu dalam apa adalah daemon berbagi wifi. Apa pun itu, kapan pun pembagian wifi gagal, ia kehilangan alamat IP yang ditetapkan sendiri, dan kemudian,ipconfig getifaddr en1
gagal, jadi skrip saya benar-benar mengatur ulang wifi, membuatnya membangun kembali status sebelumnya dan memulihkan berbagi wifi.Ini telah bekerja selama berhari-hari sejauh ini di dalam MacMini tanpa keyboard, mouse atau monitor, tetapi hanya terhubung ke Ethernet dan memberikan akses gadget wifi saya ke dunia.
sumber
Cara yang sangat mudah untuk melakukannya adalah dengan menggabungkan jawaban @ Philip dengan aplikasi NetworkLocation . NL dapat mengetahui di mana Anda berada, dan secara otomatis menjalankan AppleScript saat Anda merasakan Anda telah mengubah lokasi.
Saya pikir ini adalah perangkat lunak yang diperlukan jika Anda memiliki laptop — jika tidak, ini adalah PITA untuk selalu harus mengatur ulang beberapa pengaturan secara manual setiap kali saya mengubah lokasi.
sumber
Sedikit berbeda dari applescript lainnya yang diposting (saya pikir dengan cara yang lebih baik tetapi ...). Memiliki opsi terkadang dapat membantu.
sumber
Karena solusi skrip GUI yang diposting sebelumnya memerlukan pengguna internasional untuk menyesuaikan nama jendela dan tombol, saya membuat versi yang berfungsi dengan bahasa sistem apa pun. Ini juga berfungsi untuk opsi berbagi lainnya, dan memberikan umpan balik lokal tentang status berbagi. Saya menggunakan dua layanan Automator berbeda berdasarkan ini, satu untuk beralih berbagi file dan satu untuk beralih berbagi internet.
sumber
Sebelum / sesudah konfigurasi apa pun antarmuka atau antarmuka yang terlibat dalam berbagi perlu dimatikan / dihidupkan dengan:
lalu (
networksetup -setairportpower en1 on
)Wifi saya terdaftar sebagai
en1
, untuk menggunakan pencarian Andanetworksetup -listnetworkserviceorder
. Lebih penting lagi, ketika memulai berbagi internet Anda perlu menambahkan fungsionalitas NAT lebih rinci kemudian hanya mengatur bit yang diaktifkan.NAT dinyalakan / dimatikan dengan bit:
-int 0
= off-int 1
= onSatu-satunya hal yang ditulis
/Library/Preferences/SystemConfiguration/com.apple.nat.plist
denganaku s
Anda perlu mengubah file plist Anda agar terlihat seperti berikut:
Seperti yang Anda lihat, file NAT plist saya mungkin perlu sedikit penyesuaian agar sesuai dengan kebutuhan Anda.
sumber
Saya menggunakan skrip berikut untuk beralih berbagi internet pada awal 2011 MacBook Pro / 10.11.3 El Capitan, jadi dengan perangkat keras yang lebih baru Anda mungkin lolos dengan penundaan yang lebih pendek. Ini mengadopsi ide dari beberapa skrip diposting untuk tujuan ini (pelokalan, menyalakan / mematikan wifi menggunakan
networksetup
, tutupSystem Preferences
ketika selesai).sumber
Anda mungkin ingin melihat pertanyaan ini (mungkin di luar topik untuk Stack Overflow) dan jawabannya: Cara memulai / berhenti Berbagi Internet menggunakan AppleScript .
sumber
sumber