มีวิธีเรียกใช้สคริปต์ทุกครั้งที่ฉันเชื่อมต่อกับเครือข่ายไร้สายที่ระบุหรือไม่


14

มีเครือข่ายไร้สายเฉพาะที่ฉันเชื่อมต่อซึ่งต้องการให้ฉันใช้ vpnc เพื่อเข้าถึงอินเทอร์เน็ต หากฉันสร้างสคริปต์เพื่อทำสิ่งนี้มีวิธีในการตั้งค่าดังนั้นทุกครั้งที่ฉันเชื่อมต่อกับเครือข่ายนี้สคริปต์จะทำงานหรือไม่ เพื่อความชัดเจนฉันไม่ต้องการให้สคริปต์นี้ทำงานด้วยการเชื่อมต่อไร้สายส่วนใหญ่เพียงอันเดียว

คำตอบ:


6

คุณสามารถใช้พุ่งพรวดสำหรับสิ่งนี้ พุ่งพรวดสามารถจับเหตุการณ์ของการเชื่อมต่อกับเครือข่ายไร้สาย (หรือเครือข่ายโดยทั่วไป) และใช้สิ่งนั้นเป็นข้อกำหนดเบื้องต้นสำหรับการเรียกใช้สคริปต์ของคุณ

การพุ่งพรวดถูกใช้ไปแล้วโดยสคริปต์จำนวนมากใน Ubuntu และในที่สุดจะแทนที่สคริปต์เริ่มต้น System V ทั้งหมดในเวลาบูตเครื่อง


5

ตัวจัดการเครือข่ายรันสคริปต์ทั้งหมดในไดเรกทอรี /etc/NetworkManager/dispatcher.d/ (ที่เป็นของ root ซึ่งสามารถเรียกใช้งานได้ซึ่งผู้ใช้รายอื่นไม่สามารถอ่านได้และไม่ใช่ setuid)

ตัวแปรสภาพแวดล้อมถูกตั้งค่าและส่งผ่านไปยังสคริปต์นี้โดยผู้จัดการเครือข่าย คุณจะสนใจตัวแปรสภาพแวดล้อม CONNECTION_UUID (มีสตริงที่ไม่ซ้ำกัน)

ดังนั้นเพื่อแก้ปัญหาของคุณ (รันสคริปต์เมื่อเชื่อมต่อเครือข่ายไร้สายเฉพาะ):

1) ค้นหา uuid ของการเชื่อมต่อไร้สายที่คุณสนใจ (โดยดูที่ไฟล์การเชื่อมต่อที่เหมาะสมในไดเรกทอรี / etc / NetworkManager / system-connections / directory)

2) เขียนสคริปต์ทุบตี (หรือ perl หรือ python หรืออะไรก็ตาม) ที่ทำสิ่งที่คุณต้องการหากตัวแปรสภาพแวดล้อม CONNECTION_UUID ตรงกับ uuid ของเครือข่ายไร้สายใน (1) ด้านบน

3) วางสคริปต์นี้ใน /etc/NetworkManager/dispatcher.d/ และตั้งค่าเจ้าของและสิทธิ์อย่างเหมาะสม

อ่านเพิ่มเติม: man networkmanager (และ litte poking รอบสคริปต์ในไดเรกทอรีดังกล่าวข้างต้น)


บนเครื่อง Natty ซึ่งอยู่บน Wi-Fi ไดเรกทอรีนั้นจะว่างเปล่า สิ่งนี้ขึ้นอยู่กับรุ่นของระบบหรือไม่
nealmcb
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.