ตั้งแต่ พรบ. คอมฯ ปี 50 ประกาศใช้ พวกเราผู้ใช้อินเตอร์เน็ตของหน่วยงานต่างๆ ก็คงจะคุ้นเคยกับหน้าจอ Login คล้ายๆ กับรูปทางซ้ายมือนี้
เรามาใส่ script ช่วยล็อกอินอัตโนมัติเวลาต่อ Wireless ติดกันดีกว่า (บล็อกนี้สำหรับผู้ใช้ Linux เท่านั้นครับ)
“พอใช้ Script นี้เวลาเปิดเครื่องมา แล้วต่อ Wireless ติด มันก็ login ให้ทันทีครับ แล้วก็ login ซ้ำ เวลาต่อ Wireless อันใหม่ให้ด้วย!” — @nattster
วิธีทำ
1. ที่ไดเร็กทอรี่ /etc/NetworkManager/dispatcher.d ให้สร้างไฟล์ 02autologin ครับ
$ sudo gedit /etc/NetworkManager/dispatcher.d/02autologin
2. แปะโค้ดดังนี้
#!/bin/bash IF=$1 STATUS=$2 if [ "$STATUS" = "up" ]; then if [ "$IF" = "wlan0" ]; then # แก้ wlan0 เป็นชื่อการ์ด wireless หรือ lan ตามใจชอบ val=$(iwconfig $IF | grep -o 'ESSID:[^ ]*') essid=${val:7:$[${#val}-8]} case $essid in truewifi*) python /home/xxx/autologin1.py ;; KUWIN*) python /home/xxx/autologin2.py ;; esac fi fi
3. อย่าลืมแก้ wlan0 ในบรรทัดที่ 5 เป็นชื่อการ์ด wireless หรือ lan ที่ต้องการให้ช่วย login อัตโนมัติด้วยนะครับ (เช่น eth0, eth1 เป็นต้น)
4. Save และปิดไฟล์ แล้วเรียกคำสั่ง
sudo chmod +x /etc/NetworkManager/dispatcher.d/02autologin
Script นี้ทำไร?
Script ข้างบนยังทำงานไม่ได้นะครับ มันแค่ทำหน้าที่เช็คว่า “ถ้า wlan0 ถูกเชื่อมต่อกับ truewifi ให้รันสคริปต์ /home/xxx/autologin1.py ขึ้นทำงาน” เท่านั้นเองครับ
ถ้าจะให้มันทำงานได้จริงๆ ต้องไปหา(หรือเขียน) script autologin สำหรับอินเตอร์เน็ตแต่ละยี่ห้อนะครับ
ถ้าใช้เน็ตยี่ห้อเดียวกัน ติดต่อหลังไมค์ได้ครับ 😉 (ตะโกนใส่ @nattster ก็ได้ครับ)
หมายเหตุ: ทดลองบน Ubuntu 9.04 และใช้ Network Manager เป็นตัวจัดการ Wireless + LAN ครับ
เพิ่มเติม: สำหรับคนใช้ ifconfig เป็นตัวจัดการเน็ตเวิร์ค (เช่น Ubuntu Server) สามารถใส่ script ไว้ที่ /etc/network/if-up.d/ ได้นะครับ ให้ผลลัพธ์เหมือนกัน
โอ๊ะ หน้าจอ login คุ้นๆนะ :p
อยากได้บน windows บ้าง อิอิ
ผมพยายามทำ code ประมาณนี้ใน iphone เหมือนกันครับ แต่ปรากฎว่าไม่เวิร์ค เพราะ ifconfig ของ iPhone ไม่บอก ESSID -*-
@Sikachu อ่าเหอะๆ ลองคุยกับ @nonth ดูครับ (ผมไม่มี iPhone ใช้ อิๆ)