rfkill 도구를 사용하여 무선을 활성화 또는 비활성화 할 수 있습니다. 여기에 기반한 솔루션이 있으며 시스템 시작시 상태를 저장하고 복원 할 수 있습니다.
00 단계 : Wi-Fi 상태를 저장하기위한 파일 생성
cd /usr/local/etc
sudo touch .wifistate
sudo chmod 666 .wifistate
01 단계 : 스크립트
#!/bin/bash
IFACE="wlan1"
STATE_FILE="/usr/local/etc/.wifistate"
STATE="$(iwconfig $IFACE | grep Tx | cut -d '=' -f2 | grep off)"
if [ "$STATE" ]
then
rfkill unblock wifi &&
echo 1 > "$STATE_FILE" &&
echo "Wireless enabled"
else
rfkill block wifi &&
echo 0 > "$STATE_FILE" &&
echo "Wireless disabled"
fi
exit 0;
10 단계 : 스크립트를 실행 가능하게 만들기
chmod +x <script name>
11 단계 : Ubuntu 시작 스크립트 수정
/etc/rc.local
텍스트 편집기에서 열고 (루트로 편집해야 함) 줄
앞에 다음 코드 를 추가하십시오 exit 0;
.
FILE="/usr/local/etc/.wifistate"
if [ -r "$FILE" ]
then
if [ $(cat $FILE) -eq 0 ]
then
rfkill block wifi
fi
else
rfkill block wifi
fi
이제 01 단계의 스크립트가 키보드 이벤트에 연결될 수 있습니다. 처음 사용하면 .wifistate 파일에 0 또는 1을 쓰고 시스템 시작시 rc.local 스크립트는이 값을 읽으려고 시도하고 0이면 wifi를 비활성화합니다.
.wifistate 파일이 없으면 기본적으로 wifi는 시작시 비활성화됩니다.
sudo ifdown wlan0
에서 것은rc.local
심지어 재부팅 후 어쨌든, 시스템에 영향을주지 않습니다? 어떻게 든이 스크립트를 호출해야합니까?