如何从网络连接小程序中删除过时的网络条目


17

我看到可以通过单击面板中的无线图标并选择“编辑连接”->“无线”,从nm-applet删除计算机“记住”的网络。但是,有时我偶然在下拉列表中单击了错误的无线连接。如果连接是安全的,则计算机当然永远不会成功连接,但是以某种方式它似乎仍可以记住ESSID。只要我在该无线范围内,它就会立即尝试连接。

更糟糕的是,如果未连接到任何其他网络,它会反复提示我连接到该网络。如果无人看管,我可能会发现数十个窗口副本,提示我登录到此错误的网络。在某处必须有一个记录此连接ID的文件,但我找不到它。我上面提到的“编辑连接”中出现的唯一连接是我实际连接的那些连接。如何找到文件并删除与有问题的“已存储”网络相对应的行?

编辑我寻求一种解决方案,以从首次选择它们时将它们添加到的任何列表中删除这些网络。看来此行为是网络管理器中的错误(?)

Answers:


23

您是否尝试删除目录中的文件/etc/NetworkManager/system-connections/

您尝试连接的每个网络都应该有一个文件,打开一个终端并使用以下命令:

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

要列出所有文件,请在找到要删除的网络后,使用以下命令将其删除:

sudo rm /etc/NetworkManager/system-connections/NETWORK_NAME

很好,谢谢!我想知道为什么此列表与Network Applet GUI中提供的列表不同?
cboettig

这个工作的人。
杰里克·约翰·约翰

2
重新启动后,这些名称再次出现!
安华2015年

6

您可以使用以下方式删除连接 nmcli con delete (CONNECTION_NAME)

删除所有从未使用过的连接(无需root)

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

好答案。要删除所有连接,请执行以下操作:nmcli --fields UUID,TIMESTAMP-REAL con show | awk'{print $ 1}'| 边读边;执行nmcli con删除uuid $ line; 完成
Nadav B

1

如果您的主要问题是那些烦人的提示,要求您登录网络,那么无论何时不使用无线,都可以通过单击Enable Wireless网络指示器菜单中的条目来禁用无线。


是的,这是我目前在连通性较差的地区的解决方案。但是,除非我以前尝试连接到该网络,否则通常不会收到提示。如果连接成功,则可以将其从列表中删除,而不会提示您。我的问题是关于在哪里可以找到未出现在网络中但机器清楚记住的网络记录。记录文件必须存在于某处
cboettig 2012年

0

为@Postadelmaga的上一个答案增加了更多灵活性,我花了更多的精力来打印要删除的SSID的名称。这增加了一个困难:现在我们必须避免包含单词“ never”的SSID名称与包含“ never”的时间戳意外匹配的可能性。

我还创建了另一个函数,该函数按名称删除连接。

资料来源: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
}

然后,您可以删除特定的连接,如下所示:

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

0

删除所有连接:

nmcli --pretty --fields UUID,TYPE con show | grep wifi | awk "{print $1}" | while read line; do nmcli con delete uuid  $line; done
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.