Executar o nordvpn e receber uma mensagem sobre um daemon inalcançável é uma queixa estreita que costuma chegar quando você já está atrasado. Ela não diz nada sobre se o túnel funciona, porque a CLI é apenas uma frente: fala com um processo em segundo plano por um socket Unix, e a mensagem significa que essa conversa não aconteceu. Caminhe do comando para fora e pare na primeira coisa que se revelar falsa.

Comece onde o erro aparece

Dois processos estão envolvidos, e é confundi-los que torna isto misterioso. O daemon é dono do túnel e escuta num socket sob /run/nordvpn/. O comando que você digitou liga-se a esse socket em vez de tocar nas interfaces ele mesmo.

Quando o socket falta ou recusa a conexão, a CLI não tem a quem perguntar, então relata a variante «daemon de usuário» ou «daemon de sistema» da mesma queixa. Uma dessas variantes nomeia o caminho diretamente, e é a frase mais útil de toda a troca.

Verifique a unit antes de tudo

Pergunte ao gerenciador de serviços se o daemon está em execução e, se não estiver, inicie-o e habilite-o num único passo:

systemctl status nordvpnd
sudo systemctl enable --now nordvpnd
nordvpn version

Se a unit existe mas está inativa, enable --now a inicia e prepara o próximo boot ao mesmo tempo. Se a unit não existe, o pacote não é o que você supõe, e o nome instalado importa mais do que o nome nas suas notas. Isso soa como distinção pedante até você passar vinte minutos habilitando um serviço que nunca foi instalado sob esse rótulo. Leia o que existe e aja conforme isso.

Listar os arquivos de unit resolve isso com um único comando, e vale a pena antes de concluir qualquer coisa sobre a instalação:

systemctl list-unit-files 'nordvpn*'
service --status-all

As versões entregaram o serviço sob mais de um nome de unit, então uma compilação que usa nordvpn em vez de nordvpnd produzirá uma cópia perfeita deste erro enquanto um serviço saudável roda logo ao lado.

O socket e o seu grupo decidem o acesso

Mesmo com o daemon em execução, a conexão pode ser recusada por permissões. O instalador cria um grupo nordvpn, e o socket pertence em conformidade, então um usuário fora desse grupo é recusado enquanto o serviço está perfeitamente saudável.

sudo usermod -aG nordvpn "$USER"
newgrp nordvpn

A associação ao grupo é lida quando uma sessão começa, e é por isso que a mudança parece não funcionar no terminal onde você a fez. É preciso um shell de login novo ou newgrp antes que a sessão em curso veja o novo grupo. Teste num shell novo, não naquele que acabou de executar o comando. Caso contrário, você concluirá que a correção falhou quando ela simplesmente ainda não foi aplicada.

A posse do próprio socket é a segunda metade dessa verificação. Compare o grupo no socket com os grupos relatados no shell que executa a CLI, e a questão das permissões é respondida num passo em vez de reinstalando:

ls -l /run/nordvpn
id

Um processo vivo não é prova do socket correto. Um daemon iniciado por outro gerenciador, ou um pacote antigo que vinculou um socket com outro nome, relatam da mesma forma. A listagem do diretório distingue esses casos numa linha, e é por isso que supera a reinstalação.

O processo por usuário em empacotamentos antigos

Alguns empacotamentos executam um segundo processo no contexto do usuário conectado, que a integração de desktop espera encontrar. Se um script de init do sistema o iniciar sem descer para essa conta, a CLI procura um daemon que nenhuma sessão possui.

Num init sem systemd, a disposição documentada divide os papéis: o serviço do sistema roda sob um nome e o processo do lado do usuário sob a conta de destino com chpst -u <user>. Verifique qual disposição a sua instalação realmente usa antes de adicionar um script de arranque que pressupõe a outra.

Como saber que você terminou

A atualização é o gatilho habitual, porque o novo binário espera um estado de serviço que o antigo nunca deixou. Parar, reabilitar e iniciar nessa ordem limpa isso:

sudo systemctl stop nordvpnd
sudo systemctl enable --now nordvpnd
sudo systemctl start nordvpnd
nordvpn version

Esse último comando é o teste de aceitação. Uma versão impressa significa que o socket responde, o que move qualquer falha restante para o território de login, plano ou conectividade e a retira deste artigo. Se responder, pare de ler aqui e vá olhar a conta.

Se o socket ainda falta, leia o journal da unit para ver por que ela terminou, e depois verifique se /run/nordvpn existe e se a conta do serviço pode escrever ali. Um processo que sobe e morre logo registra o seu motivo nesse journal, e uma linha lê-se mais depressa do que se executa uma reinstalação.

Artigos relacionados