ตั้งค่าเครือข่ายเพื่อเปิด / ปิด Wi-Fi เมื่อกระบวนการ X เริ่มต้น / หยุดชะงัก (Linux)


2

เป้าหมายของฉันคือการตั้งค่า (ผ่านสคริปต์ / daemons / ซอฟต์แวร์ใด ๆ ที่อาจช่วย) เครือข่ายแล็ปท็อปของฉันเพื่อเปิดโดยอัตโนมัติเมื่อฉันเริ่มซอฟต์แวร์ X (เช่น Firefox) และปิดโดยอัตโนมัติเมื่อซอฟต์แวร์ถูกปิด / สิ้นสุด
(ยิ่งทะเยอทะยานยิ่งขึ้นให้ตั้งค่าซอฟต์แวร์ 2 โปรแกรม X และ Y เป็นสวิตช์หากเป็นไปได้) การ
สนับสนุนใด ๆ จะได้รับการชื่นชมอย่างมาก!


1
วิธีที่ง่ายที่สุด: เขียนสคริปต์ที่ล้อมการโทรของ X ปรับการเชื่อมต่อเครือข่ายก่อนที่จะเรียกมันตรวจสอบ X สำหรับการยกเลิกและปรับการเชื่อมต่อเครือข่ายกลับ เรียกใช้สคริปต์แทน X. ไม่ทำงานหากคุณวางแผนที่จะใช้ X หลาย ๆ อินสแตนซ์พร้อมกัน ในกรณีที่เป็นคำถาม XY: หากคุณต้องการให้ Firefox มีสภาพแวดล้อมเครือข่ายที่แตกต่างกันคุณสามารถเรียกมันได้ในเนมสเปซเครือข่ายที่ตั้งค่าไว้อย่างถูกต้อง
dirkt

ขอบคุณมาก @dirkt! หากคุณสามารถเขียนตัวอย่างของรหัสสคริปต์เป็นคำตอบนั่นจะเป็นสำหรับฉัน ฉันใช้ระบบปฏิบัติการระดับประถมดังนั้นฐานของฉันคือ Ubuntu
ed0

คำตอบ:


1

คำสั่งสำหรับการหยุดและเริ่มระบบเครือข่ายคือ:

sudo /etc/init.d/networking { stop | start }
sudo nmcli { networking | radio } { on | off }

หรือสำหรับหนึ่งอินเทอร์เฟซเครือข่ายเฉพาะ:

sudo ifdown ethX
sudo ifup ethX

อันสุดท้ายอาจมีปัญหาหากเราเตอร์ของคุณไม่ได้อยู่ /etc/sysconfig/network-scripts/route-ethXอาจไม่ถูกลบ / เพิ่มโดยสคริปต์ ifup / ifdown อย่างสมบูรณ์ ตัวอย่างเช่นหากต้องการลบคุณอาจต้องใช้:

route del default ethX

หลังจากเปิดตัว firefox เพื่อรอให้เสร็จคุณสามารถใช้ คำสั่ง wait โดยมีหรือไม่มีพารามิเตอร์ก็ได้

นี่คือสคริปต์ที่ใช้กับโปสเตอร์:

nmcli radio wifi on
sleep 2
firefox
nmcli radio wifi off

โหมดสลีปทำกับจำนวนวินาทีเพื่อรอก่อนที่เครือข่ายจะเสถียรทำการทดสอบเชิงประจักษ์

คุณควรตรวจสอบให้แน่ใจว่าเครือข่ายถูกปิดใช้งานหลังจากบูต


ขอบคุณมาก! ฉันได้ทำการปรับเปลี่ยนสคริปต์ของคุณสองสามครั้งและทำงานได้ตามที่ตั้งใจไว้ นี่คือผลลัพธ์สุดท้าย
ed0

วิทยุ nmcli wifi เปิด / นอนหลับ 2 / firefox / รอ firefox / wifi วิทยุ nmcli ปิด
ed0

ทันทีที่คุณอัปเดตคำตอบของคุณฉันจะมอบรางวัลให้คุณ!
ed0

เสร็จสิ้นตามที่ร้องขอ
harrymc

firefoxwaitไม่กลับจนกว่าจะมีการปิดเพื่อให้คุณไม่จำเป็นต้อง ยิ่งกว่านั้น, wait: `firefox': not a pid or valid job spec.
guest-vm
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.