Wie entferne ich veraltete Netzwerkeinträge aus dem Network Connection Applet?

17

Ich sehe, dass ich Netzwerke, an die sich mein Computer "erinnert", aus dem nm-applet löschen kann, indem ich auf das WLAN-Symbol im Bedienfeld klicke und "Verbindungen bearbeiten" -> "WLAN" auswähle. Manchmal klicke ich jedoch versehentlich auf die falsche Funkverbindung in der Dropdown-Liste. Wenn die Verbindung sicher ist, verbindet sich die Maschine natürlich nie erfolgreich, aber irgendwie scheint sie sich die ESSID immer noch zu merken. Immer wenn ich in Reichweite dieses Funkgeräts bin, versucht es jetzt, eine Verbindung herzustellen.

Schlimmer noch, wenn keine Verbindung zu einem anderen Netzwerk besteht, werde ich wiederholt aufgefordert, eine Verbindung zu diesem Netzwerk herzustellen. Wenn ich unbeaufsichtigt bleibe, werden möglicherweise Dutzende Kopien des Fensters angezeigt, die mich auffordern, mich bei diesem fehlerhaften Netzwerk anzumelden. Es muss irgendwo eine Datei geben, die diese Verbindungs-ID aufzeichnet, aber ich kann sie nicht finden. Die einzigen Verbindungen, die in den oben genannten "Verbindungen bearbeiten" angezeigt werden, sind diejenigen, mit denen ich tatsächlich verbunden bin. Wie finde ich die Datei und lösche die Zeile, die dem störenden "gespeicherten" Netzwerk entspricht?

BEARBEITEN Ich suche nach einer Lösung, um diese Netzwerke aus der Liste zu entfernen, zu der sie hinzugefügt wurden, als ich sie zum ersten Mal auswählte. Es scheint, dass dieses Verhalten ein Fehler im Netzwerkmanager ist (?)

cboettig
quelle

Antworten:

23

Haben Sie versucht, die Dateien im Verzeichnis zu löschen /etc/NetworkManager/system-connections/?

Sie sollten 1 Datei für jedes Netz haben, das Sie versucht haben, eine Verbindung herzustellen, ein Terminal öffnen und die folgenden Befehle verwenden:

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

Um alle Dateien aufzulisten, nachdem Sie das Netzwerk gefunden haben, das Sie löschen möchten, entfernen Sie sie mit dem Befehl:

sudo rm /etc/NetworkManager/system-connections/NETWORK_NAME
Ricciocri
quelle
Super, danke! Ich frage mich, warum sich diese Liste von der Liste in der Benutzeroberfläche des Netzwerk-Applets unterscheidet.
Cboettig
Dieser Mann arbeitete.
Jerric Lyns John
2
Nach dem Neustart werden diese Namen wieder angezeigt!
Anwar
6

Sie können Verbindungen mit löschen nmcli con delete (CONNECTION_NAME)

So löschen Sie alle noch nie verwendeten Verbindungen (kein Root erforderlich)

nmcli --fields UUID,TIMESTAMP-REAL con show | grep never |  awk '{print $1}' | while read line; do nmcli con delete uuid  $line;    done
Postadelmaga
quelle
Gute Antwort. Um alle Verbindungen zu entfernen, gehen Sie wie folgt vor: nmcli --fields UUID, TIMESTAMP-REAL con show | awk '{print $ 1}' | während die Zeile gelesen wird; do nmcli con delete uuid $ line; erledigt
Nadav B
1

Wenn Ihr Hauptproblem die lästigen Eingabeaufforderungen sind, die Sie auffordern, sich bei einem Netzwerk anzumelden, können Sie Wireless deaktivieren, indem Sie auf den Enable WirelessEintrag in Ihrem Netzwerkanzeigemenü klicken .

Hashken
quelle
Ja, das ist meine aktuelle Lösung in einem Gebiet mit schlechten Verbindungen. Normalerweise werde ich jedoch nicht dazu aufgefordert, es sei denn, ich habe zuvor versucht, eine Verbindung zu diesem Netzwerk herzustellen. Wenn ich eine Verbindung hergestellt habe, kann ich sie aus der Liste löschen und werde nicht dazu aufgefordert. Meine Frage ist, wo die Aufzeichnung für Netzwerke zu finden ist, die dort nicht angezeigt werden, aber von der Maschine klar auswendig gelernt werden. Die Akte muss irgendwo
10.12.12
0

Um die vorherige Antwort von @Postadelmaga flexibler zu gestalten, habe ich mir mehr Mühe gegeben, den Namen der zu entfernenden SSID auszudrucken. Dies fügte eine Schwierigkeit hinzu: Wir müssen jetzt die Möglichkeit vermeiden, dass ein SSID-Name, der das Wort "never" enthält, versehentlich mit dem Zeitstempel übereinstimmt, der "never" enthält.

Ich habe auch eine andere Funktion erstellt, die eine Verbindung mit dem Namen entfernt.

Quellen unter: 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
}

Dann können Sie eine bestimmte Verbindung wie folgt löschen:

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

Alle Verbindungen löschen:

nmcli --pretty --fields UUID,TYPE con show | grep wifi | awk "{print $1}" | while read line; do nmcli con delete uuid  $line; done
user3377121
quelle