Bagaimana cara mendeteksi perubahan jaringan (mencabut kabel / mencolokkan kabel)?

2

Saya telah membaca di banyak tempat bahwa folder /Library/Preferences/SystemConfigurationitu seharusnya "berubah" jika saya mencabut kabel jaringan.

Sekarang, saya punya MacBook Pro, jadi saya menggunakan adaptor USB3 untuk menghubungkan kabel jaringan.

Memang, tidak ada yang berubah ketika saya mencolokkan atau mencabutnya di dalam folder ini. Saya melihat dengan jelas di "Pengaturan jaringan" bahwa koneksi LAN dibuat atau dijatuhkan ketika saya mencolokkan atau mencabut kabel.

Di mana sesuatu harus berubah? Apakah ada beberapa folder atau hal lain yang dapat saya gunakan sebagai pemicu untuk AppleScript, ketika menghubungkan / mencabut kabel jaringan?

Es api
sumber
Apa sebenarnya yang Anda coba lakukan ketika ini terjadi? Apakah Anda mencoba membuat skrip untuk mengaktifkan wifi Anda? Saya telah menuliskannya di masa lalu dengan bash tetapi seharusnya tidak sulit untuk dilakukan di AppleScript.
ʀ2ᴅ2
@ ʀ2ᴅ2 pertanyaannya adalah, BAGAIMANA saya bisa memulai beberapa AppleScript ketika kabel jaringan dicolokkan
IceFire
Tidak ada file yang ditulis ketika Anda menampilkan / menurunkan antarmuka jaringan. Ini adalah keadaan yang ditangani oleh kunci jaringan. Untuk melihat ini dalam tindakan, gunakan Terminal dan ketik sudo dmesg. Kemudian putuskan koneksi jaringan Anda. sudo dmesglagi untuk melihat untuk melihat acara putuskan sambungan. Sambungkan kembali dan sudo dmesglagi untuk melihat pesan koneksi. Sejauh mendapatkan akses ke program ini, saya tidak percaya AppleScript memiliki kemampuan ini.
Allan

Jawaban:

1

Simpan skrip ini sebagai aplikasi dan atur agar dijalankan saat startup. Ini akan menggunakan beberapa memori tetapi skripnya sangat ringan. Anda bahkan dapat menunda lebih lama lagi. Ingatlah bahwa rutin ini akan terus mendeteksi kabel selamanya, jadi Anda harus mengatur kondisi lain di dalam skrip Anda untuk melakukan apa yang Anda butuhkan dan berhenti sampai ada perubahan.


on run {input}
    repeat
        set input to do shell script "ifconfig -a" as text
        set status to offset of "status:" in input
        set the_starting_point to status + 0
        set the_ending_point to status + 13
        set isCableConnected to characters the_starting_point thru the_ending_point of input as string
        if isCableConnected is "status: active" then
            display dialog "Ethernet On"
        else
            display dialog "Cable Unplugged"
        end if
        delay 1
    end repeat
end run

Mateus Ribeiro
sumber
Latar belakang tanpa akhir?
IceFire
Ya. Anda perlu sesuatu untuk melacak status kabel.
Mateus Ribeiro
Kecuali Anda menghapus pengulangan dan menggunakan pintasan atau pemicu lainnya.
Mateus Ribeiro
0

Mungkin Anda bisa menggunakan jalan pintas untuk mengaktifkan skrip karena Anda sudah mencolokkan kabel. Cukup buat Layanan baru untuk pencari menggunakan Automator, seret tindakan Jalankan Applescript ke alur kerja, tempatkan kode Anda di dalam, simpan dan atur pintasan di bawah Preferensi / Keyboard / Pintasan / Layanan.

Mateus Ribeiro
sumber
Saya ingin menjalankan skrip seperti itu ketika kabel jaringan dicolokkan. Bagaimana bereaksi terhadap peristiwa ini adalah pertanyaan saya, bukan bagaimana menulis skrip
IceFire