Có cách nào để chạy tập lệnh mỗi khi tôi kết nối với mạng không dây cụ thể không?


14

Có một mạng không dây cụ thể mà tôi kết nối yêu cầu tôi sử dụng vpnc để truy cập internet. Nếu tôi tạo một tập lệnh để làm điều này, có cách nào để thiết lập nó để mỗi lần tôi kết nối với mạng này, tập lệnh được chạy không? Để rõ ràng, tôi không muốn tập lệnh này chạy với hầu hết các kết nối không dây, chỉ một kết nối cụ thể.

Câu trả lời:


6

Bạn có thể sử dụng mới bắt đầu cho việc này. Upstart có thể nắm bắt sự kiện kết nối với mạng không dây (hoặc mạng nói chung) và sử dụng đó làm điều kiện tiên quyết để chạy tập lệnh của bạn.

Upstart đã được sử dụng bởi rất nhiều tập lệnh trong Ubuntu và cuối cùng sẽ thay thế tất cả các tập lệnh khởi động System V khi khởi động.


5

Trình quản lý mạng chạy TẤT CẢ các tập lệnh trong thư mục /etc/NetworkManager/dispatcher.d/ (những tập tin được sở hữu bởi root, có thể thực thi được, mà người dùng khác không thể đọc được và không được setuid).

Các biến môi trường được đặt và chuyển đến tập lệnh này bởi Trình quản lý mạng. Bạn sẽ quan tâm đến biến môi trường CONNMENT_UUID (chứa một chuỗi duy nhất).

Vì vậy, để giải quyết vấn đề của bạn (thực thi tập lệnh khi một mạng không dây cụ thể được kết nối với):

1) tìm ra uuid của kết nối không dây mà bạn quan tâm (bằng cách xem bên trong tệp kết nối thích hợp trong thư mục / etc / NetworkManager / system-links /).

2) viết tập lệnh bash (hoặc perl, hoặc python hoặc bất cứ thứ gì) làm những gì bạn muốn nếu biến môi trường CONNMENT_UUID khớp với uuid của mạng không dây ở (1) ở trên.

3) đặt tập lệnh này vào /etc/NetworkManager/dispatcher.d/ và đặt chủ sở hữu và quyền một cách thích hợp.

đọc thêm: man Networkmanager (và một litte chọc quanh các tập lệnh trong các thư mục được đề cập ở trên).


Trên máy Natty trên wi-fi, thư mục đó trống. Điều này phụ thuộc vào phiên bản hệ thống?
nealmcb
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.