Belirli bir kablosuz ağa her bağlandığımda bir komut dosyası çalıştırmanın bir yolu var mı?


14

İnternete erişmek için vpnc kullanmamı gerektiren belirli bir kablosuz ağ var. Bunu yapmak için bir komut dosyası oluşturursam, bu ağa her bağlandığımda bunu ayarlamanın bir yolu var mı? Açıkça söylemek gerekirse, bu komut dosyasının çoğu kablosuz bağlantıyla çalışmasını istemiyorum, sadece belirli bir tane.

Yanıtlar:


6

Bunun için upstart komutunu kullanabilirsiniz . Upstart, bir kablosuz ağa (veya genel olarak bir ağa) bağlanma olayını yakalayabilir ve bunu komut dosyanızı çalıştırmak için ön koşul olarak kullanabilir.

Upstart zaten Ubuntu'daki birçok komut dosyası tarafından kullanılıyor ve sonunda tüm System V init komut dosyalarının açılışta yerini alacak.


5

Ağ Yöneticisi /etc/NetworkManager/dispatcher.d/ dizinindeki TÜM komut dosyalarını çalıştırır (root'a sahip olan, çalıştırılabilir olan, diğer kullanıcılar tarafından okunamayan ve setuid olmayanlar).

Ortam değişkenleri Ağ yöneticisi tarafından ayarlanır ve bu komut dosyasına geçirilir. CONNECTION_UUID ortam değişkeniyle ilgileneceksiniz (benzersiz bir dize içeriyor).

Bu nedenle, sorununuzu çözmek için (belirli bir kablosuz ağa bağlandığında bir komut dosyası çalıştırın):

1) ilgilendiğiniz kablosuz bağlantı uuid'ini bulun (/ etc / NetworkManager / system-connections / dizinindeki uygun bağlantı dosyasının içine bakarak).

2) CONNECTION_UUID ortam değişkeni yukarıdaki (1) 'deki kablosuz ağın kullanıcı arabirimiyle eşleşiyorsa, istediğinizi yapan bir bash (veya perl veya python veya her neyse) komut dosyası yazın.

3) bu betiği /etc/NetworkManager/dispatcher.d/ dosyasına koyun ve sahibi ve izinleri uygun şekilde ayarlayın.

daha fazla okuma: adam networkmanager (ve yukarıda belirtilen dizinlerde betiklerin etrafında alay eden bir litte).


Wi-fi üzerinde çalışan bir Natty makinesinde bu dizin boştur. Bu sistem sürümüne bağlı mı?
nealmcb
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.