4

What would be a good way to make a script run every time my computer connects to the network in Ubuntu? Would I somehow use dbus to do this?

Background: when I'm on the train I run a short Perl script to click a button on the splash page. That way I can immediately use the internet without having to manually visit a pointless website. My script is a near-perfect solution, but it would be perfect if it could run automatically any time I connect to the network.

rplevy
  • 297
  • 1
  • 3
  • 7
  • 1
    not important to the question, but here is the one-liner: alias dodgesplash='perl -e '\''use WWW::Mechanize; $mech = WWW::Mechanize->new(); $mech->get("http://is.gd"); $mech->click();'\''' – rplevy Feb 27 '10 at 01:07

2 Answers2

6

You can put a script in /etc/NetworkManager/dispatcher.d which will be run whenever a connection goes up or down. See the man page for NetworkManager for the details.

Sam Morris
  • 627
  • 8
  • 8
4

Put a script in /etc/network/if-up.d and make it executable.

Ryan C. Thompson
  • 11,563
  • 9
  • 47
  • 69