Como forçar o NetworkManager a fazer uma conexão antes do login?

8

Deixo meu laptop em casa 95% do tempo. Gostaria que ele se conectasse à minha rede sem fio sem que eu tivesse que fazer login. E, tão importante quanto, eu gostaria de NÃO desconectar quando eu sair.

Estou usando o Fedora, mas as instruções do Ubuntu também são bem-vindas.

JCCyC
fonte

Respostas:

5

Acho que essa pergunta foi feita há um tempo, mas esse recurso foi adicionado às versões recentes do Network Manager. Veja aqui .

Ryan C. Thompson
fonte
A partir de maio de 2011, o link indica: Na versão 0.7.1 ou posterior, edite o perfil da conexão com a qual você deseja iniciar antes de efetuar o login e selecione a caixa na parte inferior esquerda "Disponível para todos os usuários"
Joe
Além disso, ele não está funcionando para mim em um odroid executando a imagem fornecida no Ubuntu 14.04.
Andrew Wagner
Esta resposta (e documentação vinculada) é obsoleta, pelo menos a partir do Ubuntu 14.04. As informações obsoletas contidas nesse FAQ, é claro, não foram removidas.
Andrew Wagner
3

O problema dessa idéia é que o serviço NetworkManager recebe seus comandos do nm-applet (ou do análogo do KDE, se você estiver no KDE. Para evitar me confundir, presumo que você esteja no GNOME). Existe uma interface do NetworkManager na linha de comando nos repositórios chamada cNetworkManager (que, curiosamente, é escrita em Python). Você pode tentar colocar um comando para conectar-se à sua rede usando o cNetworkManager em um script de inicialização (não tenho muita certeza de onde você colocaria esse script, mas sei que é possível: D). Não sei se essa abordagem será ou não conectada ou se permanecerá conectada após o logout, mas sei que há pelo menos dois problemas que você precisará reconciliar.

1) Você terá este script lutando com o applet nm. Se você quiser fazer isso, eu desabilitaria o nm-applet de iniciar automaticamente (o que deve ser configurável em preferências -> sessões ou preferências -> programas de inicialização, dependendo de você estar ou não usando o fedora 11).

2) se você quiser mudar de rede (e realizar coisas sofisticadas como detectá-las automaticamente), precisará fazê-lo usando o cNetworkManager (o que é uma verdadeira dor), ou iniciar o nm-applet e perder sua capacidade de manter a conexão é aberta após o logout.

Boa sorte e deixe-nos saber se isso funciona!

Babu
fonte
Estou em uma máquina Windows no trabalho; Vou testar isso quando chegar em casa. Seria bom se o NetworkManager e o nm-applet residissem em pacotes diferentes.
JCCyC
Eu acho que tê-los no mesmo pacote é realmente essencial; qual é o sentido de nos prestar um serviço se você não nos fornecer um método para controlá-lo? Eu argumentaria na direção oposta; cNetworkManager também deve estar no pacote NetworkManager, para quando você precisa controlar o seu cartão sem fio quando X não é executado (isto aconteceu-me uma emnbarrasingly grande número de vezes)
Babu
Não tenho certeza se esse cNetworkManager existe a partir de 2015. Existe uma ferramenta "nmcli" que, acredito, é instalada por padrão e permite trabalhar com o gerenciador de rede do CLI.
Andrew Wagner
2

Eu tive o mesmo problema e acabei removendo o NetworkManager completamente e usando o wpa_supplicant diretamente. Funciona da maneira oposta - você tem um arquivo de configuração com todas as redes às quais deseja se conectar automaticamente e uma GUI que pode substituí-lo durante o tempo de execução (e se conectar a uma rede diferente) ou alterar o arquivo de configuração .

Eu usei este tutorial para configurar meu Debian e não tive muitos problemas com ele (é o mesmo que Ubuntu): http://svn.debian.org/wsvn/pkg-wpa/wpasupplicant/branches/unstable/ debian / README.Debian? op = arquivo & rev = 0 & sc = 0

Grzenio
fonte
1

Eu usei o método de Andrew Wagner no Fedora 22 para uma conexão com a segurança WPA.

  1. Crie a conexão "demo" us usual usando a GUI.

  2. Como root, crie um arquivo / etc / NetworkManager / wifipw com a entrada de uma linha:

    802-11-wireless-security.psk:wpa-pw 
    

onde wpa-pwestá a senha do wifi.

  1. Adicione a seguinte linha ao crontabroot:

    @reboot sleep 10; /usr/bin/nmcli conn up id demo passwd-file etc/NetworkManager/wifipw
    

O sono 10 foi necessário no meu sistema para dar tempo ao dispositivo para inicializar antes de tentar conectar.

john w
fonte
0

Pode não ser uma opção para você, mas você pode configurar a rede via arquivos de configuração, como no tutorial . É para o Ubuntu, mas não percebi a diferença. A rede seria ligada durante o processo de inicialização do SO.

Kirill V. Lyadvinsky
fonte
Esta é uma boa solução, mas também existem ressalvas. O NetworkManager e os serviços de rede não devem ser executados ao mesmo tempo; os dois tentam controlar o hardware sem fio ao mesmo tempo e fazem coisas estranhas. O que você pode fazer é ativar o serviço de rede por padrão e ativar o gerenciador de rede somente quando necessário.
31909 Babu
Isso é verdade.
214 Kirill V. Lyadvinsky
0

Aqui está o que eu fiz (em uma placa de braço odroid executando o Ubuntu 14.04):

Configure a conexão de rede usando, por exemplo, nm-applet, como seu usuário normal, dê um nome, por exemplo, "Decktop Demo". Você provavelmente precisa marcar a caixa Geral -> "Todos os usuários podem se conectar a esta rede".

Edite "o cron" como superusuário:

sudo crontab -e

selecione seu editor de escolha, se solicitado, e adicione uma linha na parte inferior:

@startup / usr / bin / nmcli ID de conexão "Desktop Demo"

sacrifique um pequeno animal aos deuses do gerenciamento de redes e reinicie.

Este método tem a vantagem de fazer tudo através do gerenciador de rede; portanto, ele deve ser bom nos applets de gerenciamento de rede GUI para vários desktops, como o applet nm.

Andrew Wagner
fonte