web-dev-qa-db-fra.com

Comment supprimer les entrées réseau obsolètes de l'applet de connexion réseau

Je vois que je peux supprimer des réseaux que ma machine "se souvient" de nm-applet en cliquant sur l'icône sans fil dans le panneau et en sélectionnant "modifier les connexions" -> "sans fil". Cependant, parfois, je clique sur la mauvaise connexion sans fil par accident dans la liste déroulante. Si la connexion est sécurisée, bien sûr, la machine ne se connecte jamais correctement, mais elle semble toujours mémoriser l’ESSID. Chaque fois que je suis à portée de ce réseau sans fil, il essaie maintenant de se connecter.

Pire encore, s'il n'est connecté à aucun autre réseau, il me demande à plusieurs reprises de me connecter à ce réseau. Si je ne le fais pas, il est possible que je trouve des dizaines de copies de la fenêtre qui m’invitent à me connecter à ce réseau erroné. Il doit exister un fichier quelque part qui enregistre cet ID de connexion, mais je ne le trouve pas. Les seules connexions apparaissant dans les "modifications de connexion" mentionnées ci-dessus sont celles auxquelles je me suis connecté. Comment trouver le fichier et supprimer la ligne correspondant au réseau "mémorisé" incriminé?

EDIT Je recherche une solution pour supprimer ces réseaux de la liste à laquelle ils sont ajoutés lors de ma première sélection. Il semble que ce comportement soit un bogue du gestionnaire de réseau (?)

16
cboettig

avez-vous essayé de supprimer les fichiers du répertoire /etc/NetworkManager/system-connections/?

Vous devriez avoir 1 fichier pour chaque réseau auquel vous avez essayé de vous connecter, ouvrir un terminal et utiliser les commandes:

Sudo ls -l /etc/NetworkManager/system-connections/

Pour répertorier tous les fichiers, une fois que vous avez trouvé le réseau que vous souhaitez supprimer, supprimez-les à l'aide de la commande suivante:

Sudo rm /etc/NetworkManager/system-connections/NETWORK_NAME
21
ricciocri

Vous pouvez supprimer des connexions en utilisant nmcli con delete (CONNECTION_NAME)

Pour supprimer toutes les connexions jamais utilisées (aucune racine requise)

nmcli --fields UUID,TIMESTAMP-REAL con show | grep never |  awk '{print $1}' | while read line; do nmcli con delete uuid  $line;    done
5
Postadelmaga

Si vos problèmes majeurs sont ces invites gênantes vous invitant à vous connecter à un réseau, vous pouvez simplement désactiver l'option Désactiver le réseau sans fil en cliquant sur l'entrée Enable Wireless dans le menu Indicateur de réseau.

1
Hashken

Ajoutant plus de flexibilité à la réponse précédente de @Postadelmaga, j'ai déployé des efforts supplémentaires pour imprimer le nom du SSID à supprimer. Cela a ajouté une difficulté: nous devons maintenant éviter la possibilité qu'un nom SSID contenant le mot "jamais" corresponde accidentellement à l'horodatage contenant "jamais".

J'ai également créé une autre fonction qui supprime une connexion par son nom.

Sources à: https://github.com/frgomes/debian-bin/blob/master/bash_20nm.sh

#!/bin/bash

function nmcli_list {
  nmcli --pretty --fields NAME,UUID,TIMESTAMP-REAL con show
}

function nmcli_remove {
  if [ ! -z "$1" ] ;then
    nmcli --fields NAME con show | \
      grep "$@" | \
        while read name ;do 
          echo Removing SSID "$name"
          nmcli con delete "$name"
        done
  fi
}

##################################################################################
# The intent here is avoid that a connection named "never drive after you drink" #
# matches a timestamp "never". So, we have to make sure that we match colon      #
# followed by "never" followed by spaces and/or tabs and finally an end of line. #
#                                                                                #
# WARNING: However, I didn't get a chance to test this scenario.                 #
#          So, I provide this code the way it is, in the hope that I've covered  #
#          well the behavior from some other simulations I did.                  #
##################################################################################

function nmcli_remove_never_used {
  nmcli --terse --fields NAME,TIMESTAMP-REAL con show | \
    egrep -e ':never[ \t]*$' | \
      sed -r 's/:never[ \t]*$//' | \
        while read name ;do
          echo Removing SSID "$name"
          nmcli con delete "$name"
        done
}

Ensuite, vous pouvez supprimer une connexion spécifique comme indiqué ci-dessous:

$ nmcli_remove ScalaX
$ nmcli_remove "My WiFi @ Home"
$ nmcli_remove "never drive after you drink"
0
Richard Gomes