답변:
이 스크립트는 상태를 토글하고 수행 된 작업을 확인하는 메시지를 표시합니다.
#!/bin/bash
if [ $(rfkill list wifi | grep "Soft blocked: yes" | wc -l) -gt 0 ] ; then
rfkill unblock wifi
zenity --info --text "Enabled wireless"
else
rfkill block wifi
zenity --info --text "Disabled wireless"
fi
zenity 프롬프트가 사라지게하려면 다음과 같이 변경하십시오.
zenity --info --text "Enabled wireless" --timeout="5"
zenity --info --text "Disabled wireless" --timeout="5"
또는 화면 모서리에 표시되는 알림을 만드십시오.
sudo apt-get install libnotify-bin
zenity 줄을
notify-send -i network-wireless-full "Wireless enabled" "Your wireless adaptor has been enabled."
notify-send -i network-wireless-disconnected "Wireless disabled" "Your wireless adaptor has been disabled."
--timeout="n"
zenity에 대한 문서화되지 않은 옵션 이 있습니다 .
나는 잠시 동안 이것에 대한 해결책을 찾고 있었고, 많은 팁과 트릭을 사용했습니다. 나는 마침내 나에게 맞는 솔루션을 찾았고 초보자 연습을하기로 결정했습니다. 나도 참 아라, 이것은 나처럼 많은 당신보다 리눅스에서 프로그래밍을 할 수없는 사람들을위한 것이다.
왼쪽 상단 슬라이드 아웃 바 (대시 홈)에서 실행기 아이콘을 클릭하고 'gedit'을 입력 한 후 Enter를 클릭하십시오.
이제 wifi를 토글하는 스크립트를 작성합니다.
네트워크 관리자 바로 가기를 사용했습니다. nmcli nm wifi를 사용하여 wifi 상태를 확인하고 제어합니다. 위의 예에서 제공된 알림 스크립트를 사용하여 wifi 상태를 표시했습니다. 여기 내 스크립트가 있습니다.
#!/bin/bash
if [ $(nmcli nm wifi | grep "disabled" | wc -l) -eq 1 ] ; then
nmcli nm wifi on
notify-send -i network-wireless-full "Wireless enabled" "Your wireless adaptor has been enabled."
else
nmcli nm wifi off
notify-send -i network-wireless-disconnected "Wireless disabled" "Your wireless adaptor has been disabled."
fi
이것을 방금 연 편집기에 복사하여 붙여 넣은 다음 적절한 파일 이름으로 저장하십시오 (광산은 wifitoggle이었습니다).
다음 단계는 파일을 실행 파일로 만드는 것입니다 (홈 폴더에서; 파일, 속성, 권한 탭을 마우스 오른쪽 버튼으로 클릭하고 '실행 파일로 실행'에 체크 표시하십시오).
그런 다음 파일 시스템 / usr / bin 디렉토리에 사본을 두십시오 (터미널을 열고 sudo nautilus를 입력하십시오. 파일 시스템으로 이동 한 다음 usr을 열고 bin을여십시오. y 붙여 넣기).
마지막으로 시스템 설정-> 키보드-> 바로 가기 탭으로 이동하십시오. 아래의 작은 + 버튼을 누르고 토글의 이름을 입력하고 제공 한 스크립트의 파일 이름을 입력하십시오 (필자의 경우 wifitoggle). 적용을 클릭하고 오른쪽에있는 '사용 가능'텍스트를 클릭 한 다음 단축키를 누르십시오. 끝난!
예 cnetworkmanager로 가능 합니다. 리포지토리에 있으므로 cnetworkmanager --wifi=no
무선을 비활성화하려면 명령 cnetworkmanager --wifi=yes
을 사용하고 무선을 활성화 하려면 명령을 사용 하여 실행기를 만듭니다 .
같은 것 : sudo ifconfig <wlan0> down
또는 sudo ifconfig <wlan0> up
?
내 스크립트는 다음과 같습니다.
#!/bin/bash
echo "Checking wireless iface status...."
if iwconfig wlan0 | grep Quality
then
echo "Wi/Fi is being disabled...."
if rfkill block wifi
then
echo "Wi/Fi is now OFF!"
fi
else
echo "Wi/Fi is being enabled...."
if rfkill unblock wifi
then
echo "Wi/Fi is now ON!"
fi
fi
참고 : rfkill 로 데이비드 와 misterben 제안은 경우에 당신이 사용하고 더 나은 네트워크 관리자를 .
ifconfig는 인터페이스를 비활성화하지만 Network-Manager는 인터페이스를 자동으로 다시 활성화합니다.