Apakah ada cara untuk menjalankan skrip setiap kali saya terhubung ke jaringan nirkabel tertentu?

14

Ada jaringan nirkabel tertentu yang saya sambungkan yang mengharuskan saya menggunakan vpnc untuk mengakses internet. Jika saya membuat skrip untuk melakukan ini, apakah ada cara untuk mengaturnya sehingga setiap kali saya terhubung ke jaringan ini, skrip dijalankan? Agar lebih jelas, saya tidak ingin skrip ini dijalankan dengan sebagian besar koneksi nirkabel, hanya satu yang spesifik.

Eugene M
sumber

Jawaban:

6

Anda dapat menggunakan pemula untuk ini. Pemula dapat menangkap acara menghubungkan ke jaringan nirkabel (atau jaringan pada umumnya) dan menggunakannya sebagai prasyarat untuk menjalankan skrip Anda.

Pemula sudah digunakan oleh banyak skrip di Ubuntu dan pada akhirnya akan mengganti semua skrip init System V pada saat boot.

txwikinger
sumber
5

Network Manager menjalankan SEMUA skrip di direktori /etc/NetworkManager/dispatcher.d/ (yang dimiliki oleh root, yang dapat dieksekusi, yang tidak dapat dibaca oleh pengguna lain, dan tidak setuid).

Variabel lingkungan ditetapkan dan diteruskan ke skrip ini oleh Manajer jaringan. Anda akan tertarik pada variabel lingkungan CONNECTION_UUID (berisi string unik).

Jadi, untuk menyelesaikan masalah Anda (jalankan skrip ketika jaringan nirkabel tertentu terhubung ke):

1) cari tahu koneksi nirkabel yang Anda minati (dengan melihat ke dalam file koneksi yang sesuai di direktori / etc / NetworkManager / system-koneksi /).

2) tulis skrip bash (atau perl, atau python, atau apa pun) yang melakukan apa yang Anda inginkan jika variabel lingkungan CONNECTION_UUID adalah kecocokan dengan pengguna jaringan nirkabel pada (1) di atas.

3) masukkan skrip ini ke /etc/NetworkManager/dispatcher.d/ dan atur pemilik dan izin dengan tepat.

bacaan lebih lanjut: man networkmanager (dan litte mencari-cari skrip dalam direktori yang disebutkan di atas).

finley
sumber
Pada mesin Natty yang ada di wi-fi, direktori itu kosong. Apakah ini tergantung pada versi sistem?
nealmcb