nordvpn di que non chega ao demo: socket, grupo ou unidade?
O túnel pode estar perfectamente ben; a CLI só perdeu o seu socket cara a nordvpnd. Vai do comando á unidade, despois aos permisos do socket, e detente no primeiro fallo.
Executar nordvpn e recibir unha mensaxe sobre un demo inalcanzable é unha queixa estreita que adoita chegar cando xa vas tarde. Non di nada sobre se o túnel funciona, porque a CLI só é unha interface: fala cun proceso en segundo plano a través dun socket de Unix, e a mensaxe significa que esa conversa non ocorreu. Camiña dende o comando cara a fóra e detente na primeira cousa que resulte falsa.
Comeza onde aparece o erro
Hai dous procesos implicados, e confundilos é o que fai que isto pareza misterioso. O demo posúe o túnel e escoita nun socket baixo /run/nordvpn/. O comando que escribiches conecta con ese socket en lugar de tocar as interfaces por si mesmo.
Cando o socket falta ou rexeita a conexión, a CLI non ten a quen preguntar, así que informa da variante «demo de usuario» ou «demo de sistema» da mesma queixa. Unha desas variantes nomea a ruta directamente, e é a frase máis útil de todo o intercambio.
Comproba a unidade antes ca nada
Pregunta ao xestor de servizos se o demo está en execución e, se non, iníciao e habilítao nun só paso:
systemctl status nordvpnd
sudo systemctl enable --now nordvpnd
nordvpn version
Se a unidade existe pero está inactiva, enable --now iníciaa e prepara o seguinte arrinque á vez. Se a unidade non existe, o paquete non é o que supós, e o nome instalado importa máis ca o nome das túas notas. Iso soa a distinción pedante ata que pasas vinte minutos habilitando un servizo que nunca se instalou con esa etiqueta. Le o que hai e actúa en consecuencia.
Listar os ficheiros de unidade resólveo cun só comando, e paga a pena facelo antes de concluír nada sobre a instalación:
systemctl list-unit-files 'nordvpn*'
service --status-all
As versións enviaron o servizo baixo máis dun nome de unidade, así que unha compilación que usa nordvpn en lugar de nordvpnd producirá unha copia perfecta deste erro mentres un servizo san se executa xusto ao lado.
O socket e o seu grupo deciden o acceso
Incluso co demo en marcha, a conexión pode rexeitarse por permisos. O instalador crea un grupo nordvpn, e o socket é propiedade en consecuencia, así que un usuario fóra dese grupo queda denegado mentres o servizo está perfectamente san.
sudo usermod -aG nordvpn "$USER"
newgrp nordvpn
A pertenza ao grupo lese cando comeza unha sesión, e por iso o cambio parece non funcionar no terminal onde o fixeches. Fai falta un shell de inicio de sesión novo ou newgrp antes de que a sesión en curso vexa o grupo novo. Proba nun shell novo, non no que acaba de executar o comando. Se non, concluirás que o arranxo fallou cando en realidade aínda non se aplicou.
A propiedade do socket en si é a segunda metade desa comprobación. Compara o grupo do socket cos grupos que informa o shell que executa a CLI, e a cuestión dos permisos queda respondida nun paso en lugar de reinstalando:
ls -l /run/nordvpn
id
Un proceso vivo non é proba do socket correcto. Un demo lanzado por outro xestor, ou un paquete antigo que vinculou un socket con outro nome, informan igual. A listaxe do directorio distingue eses casos nunha liña, e por iso supera a reinstalación.
O proceso por usuario en empaquetados antigos
Algúns empaquetados executan un segundo proceso no contexto do usuario conectado, que a integración de escritorio espera atopar. Se un script de inicio do sistema o lanza sen baixar a esa conta, a CLI busca un demo que ningunha sesión posúe.
Nun init que non é systemd, a disposición documentada reparte os papeis: o servizo do sistema execútase baixo un nome e o proceso do lado do usuario baixo a conta obxectivo con chpst -u <user>. Comproba que disposición usa realmente a túa instalación antes de engadir un script de arrinque que presupoña a outra.
Como saber que remataches
A actualización é o desencadeante habitual, porque o binario novo espera un estado do servizo que o vello nunca deixou. Deter, volver habilitar e arrincar nesa orde límpao:
sudo systemctl stop nordvpnd
sudo systemctl enable --now nordvpnd
sudo systemctl start nordvpnd
nordvpn version
Ese último comando é a proba de aceptación. Unha versión impresa significa que o socket responde, o que move calquera fallo restante ao terreo do inicio de sesión, o plan ou a conectividade e o saca deste artigo. Se responde, deixa de ler aquí e vai mirar a conta.
Se o socket segue faltando, le o rexistro da unidade para ver por que rematou, e despois comproba que /run/nordvpn existe e que a conta do servizo pode escribir alí. Un proceso que arrinca e morre de inmediato rexistra o seu motivo nese rexistro, e unha liña lese máis rápido do que se realiza unha reinstalación.