Existe uma maneira de iniciar / parar o compartilhamento da Internet na linha de comando ou talvez um script da apple?
A coisa é que eu movo meu laptop entre casa e trabalho. Em um lugar, acesso à Internet sem fio (e, portanto, tenho que desativar o compartilhamento da Internet); no outro, acesso à Internet a partir de um cabo Ethernet e configuro o computador para compartilhar a Internet com outros dispositivos, criando uma pequena rede sem fio.
Mas está ficando um pouco tedioso ter que entrar nas Preferências do Sistema e iniciar / parar o compartilhamento da Internet toda vez que eu mudar de local, então eu gostaria de ter um comando ou script rápido para iniciar e fazer a troca sob demanda.
Alguma dica ou idéia?
terminal
network
wifi
internet-sharing
automation
Juan A. Navarro
fonte
fonte
Respostas:
Para iniciar o compartilhamento da Internet a partir da CLI:
Para parar, altere a carga para descarregar .
Observe que, se você tiver o painel de preferências aberto ao executar isso, não verá a alteração entrar em vigor imediatamente (a interface do usuário não será atualizada), mas funcionará.
fonte
unload
para poder fazerload
novamente. Um bom comando de verificação éps ax | egrep '[ /](PID|boo|nat)'
./System/Library/LaunchDaemons/com.apple.InternetSharing.plist: No such file or directory
Uma maneira de fazer isso é por meio de scripts da GUI - as Preferências do Sistema não têm suporte a Applescript por padrão.
fonte
Peguei uma sugestão da resposta de mankoff e a envolvi em um AppleScript. Estou usando esse script do Automator para poder usá-lo facilmente como um serviço e fornecer um atalho de teclado.
Alternar compartilhamento da Internet:
fonte
Eu tive resultados muito melhores (para uma configuração de compartilhamento já configurada) no 10.11.6 com as variações simples ...
sudo launchctl
start
com.apple.NetworkSharing
e
sudo launchctl
stop
com.apple.NetworkSharing
respectivamente.
fonte
Solução definitiva para a constante quebra de compartilhamento de Wi-Fi no MacosX
Eu encontrei um sistema que finalmente funciona e, quando, com menos frequência, o compartilhamento de wifi é interrompido, ele consegue recuperá-lo automaticamente em um minuto.
A solução é um
~/Library/LaunchAgents/com.me.wifisharingup.plist
daemon com o próximo conteúdo:Você pode ver, a cada minuto, ele executa o script simples a seguir. Tenha cuidado para que o plist anterior seja de propriedade da raiz e inicie-o com:
O script que ele lança a cada minuto (não se esqueça de torná-lo executável) é:
Acho que a simples chamada periódica (a cada minuto)
ipconfig getifaddr en1
atualiza algo no que é o daemon de compartilhamento wifi. Seja o que for, a qualquer momento que o compartilhamento wifi falhe, ele perde o endereço IP auto-atribuído e, em seguida,ipconfig getifaddr en1
falha, então meu script redefine totalmente o wifi, fazendo com que ele reconstrua seu status anterior e recupere o compartilhamento wifi.Ele está trabalhando há dias até agora dentro de um MacMini sem teclado, mouse ou monitor, mas apenas conectado à Ethernet e dando aos meus aparelhos wifi acesso ao mundo.
fonte
A maneira mais fácil de fazer isso é combinar a resposta do @ Philip com o aplicativo NetworkLocation . O NL pode dizer onde você está e executar automaticamente um AppleScript quando detectar que você mudou de local.
Eu acho que é necessário software se você tiver um laptop - caso contrário, é uma PITA sempre ter que redefinir manualmente várias configurações sempre que eu mudar de local.
fonte
Um pouco diferente do que o outro texto publicado (acho que de uma maneira melhor, mas ...). Ter opções às vezes pode ajudar.
fonte
Como a solução de script da GUI postada anteriormente exige que usuários internacionais ajustem os nomes de janelas e botões, criei uma versão que funciona com qualquer idioma do sistema. Ele também funciona para a outra opção de compartilhamento e fornece feedback localizado sobre o estado de compartilhamento. Eu uso dois serviços diferentes do Automator com base nisso, um para alternar o compartilhamento de arquivos e outro para alternar o compartilhamento da Internet.
fonte
Antes / depois de qualquer configuração, a interface ou as interfaces envolvidas no compartilhamento precisam ser ativadas / desativadas com:
em seguida. (
networksetup -setairportpower en1 on
)Meu wifi foi listado como
en1
, para pesquisar seu usonetworksetup -listnetworkserviceorder
. Mais ao ponto, ao iniciar o compartilhamento na Internet, você precisará adicionar funcionalidades NAT mais detalhadas e depois definir o bit ativado.O NAT é ativado / desativado com o bit:
-int 0
= off-int 1
= onA única coisa que está escrita
/Library/Preferences/SystemConfiguration/com.apple.nat.plist
comé
Você precisará alterar seu arquivo plist para ter a seguinte aparência:
Como você pode ver, meu arquivo NAT plist pode precisar de uma pequena personalização para atender às suas necessidades.
fonte
Eu uso o script a seguir para alternar o compartilhamento da Internet em um MacBook Pro / 10.11.3 El Capitan do início de 2011, portanto, com o hardware mais novo, você pode se atrasar mais rapidamente. Adota idéias de vários scripts publicados para esse fim (localização, ativar / desativar o wifi usando
networksetup
, fecharSystem Preferences
quando terminar).fonte
Você pode dar uma olhada nesta pergunta (possivelmente fora do tópico para Stack Overflow) e sua resposta: Como iniciar / parar o compartilhamento da Internet usando o AppleScript .
fonte
fonte