Entendo que quando você conecta o cabo Ethernet que supera a conexão wifi e a conexão wifi cai automaticamente. De maneira similar, desconectar o cabo Ethernet conecta-se ao seu wifi preferencial (desde que você tenha a caixa marcada para conexão automática a essa rede Wi-Fi na guia geral do gerenciador de rede. Testado em uma instalação padrão do Ubuntu 16.04.3
Então, se eu estiver entendendo corretamente, você só quer iniciar automaticamente o serviço de ponto de acesso em seu laptop quando o cabo Ethernet estiver conectado e desabilitar o serviço quando o cabo Ethernet estiver desconectado.
Isso deve ser bastante simples de se fazer com um script bash e nmcli
'nmcli' é uma poderosa ferramenta networknig que permite levar conexões para cima e para baixo à vontade e obter toneladas de informações relevantes.
Para descobrir a quais conexões você será roteirizado, simplesmente execute nmcli -t monitor| grep primary
quando conectado via wifi e conecte seu cabo Ethernet. As conexões que você está interessado em trazer para cima e para baixo com nmcli
serão aquelas cercadas por '
s Exemplo: 'Conexão com fio 1' a lógica é que quando 'Conexão' está conectada, hotspot (você pode achar necessário usar o comando sleep
ou utilizar a opção -w
para tornar nmcli
em seu script aguardar um número especificado de segundos para que um comando seja concluído antes de emitir o próximo.
Trazer uma conexão para baixo é tão simples quanto nmcli 'connection name' down
e trazer uma conexão é nmcli 'connection name' up
Observação: Para controle total pelo script, talvez seja necessário desabilitar a opção de conexão automática, pelo menos para sua conexão Wi-Fi no Network Manager, pois ele tentará se conectar automaticamente sempre que estiver disponível e puder interferir com o que você está tentando realizar. Trecho de man nmcli
:
There may be multiple connections that apply
to a device, but only one of them can be active on that device at any
given time. The additional connections can be used to allow quick
switching between different networks and configurations.
Então, uma vez que você determinou que sua Ethernet está conectada, pode emitir os comandos para desligar a conexão Wi-Fi Exemplo: nmcli connection my-wifi down
e a conexão com o hotspot Exemplo: nmcli connection my-hotspot up
Para mais informações sobre como executar scripts automaticamente com base na conexão de rede, consulte este. Para obter mais detalhes sobre 'nmcli', verifique o < href="http://manpages.ubuntu.com/manpages/xenial/man1/nmcli.1.html"> man page. E aqui está a informação sobre como crie um hotspot.