Як видалити застарілі записи мережі з аплету підключення до мережі


17

Я бачу, що я можу видалити мережі, які моя машина "запам'ятовує" з nm-applet, натиснувши на піктограму бездротового зв'язку на панелі та вибравши "редагувати з'єднання" -> "бездротовий". Однак іноді я випадково натискаю неправильне бездротове з'єднання випадково у спадному списку. Якщо з'єднання надійне, машина, звичайно, ніколи не успішно з'єднується, але якимось чином все одно запам'ятовує ESSID. Щоразу, коли я перебуваю в діапазоні цього бездротового зв'язку, він зараз намагається підключитися.

Гірше, якщо він не підключений до будь-якої іншої мережі, він неодноразово підказує мені підключитися до цієї мережі. Якщо залишити без нагляду, я можу знайти десятки копій цього вікна, що підкажуть мені увійти в цю помилкову мережу. Десь має бути файл, який записує цей ідентифікатор з'єднання, але я не можу його знайти. Єдині з'єднання, які з'являються у "редагуванні з'єднань", про який я згадував вище, - це ті, до яких я фактично підключився. Як знайти файл та видалити рядок, що відповідає порушеній мережі "запам'ятовується"?

EDIT Я шукаю рішення про видалення цих мереж із будь-якого списку, до якого вони додаються, коли я вперше вибираю їх. Здається, ця поведінка є помилкою в мережевому менеджері (?)

Відповіді:


23

ви намагалися видалити файли в каталозі /etc/NetworkManager/system-connections/?

У вас повинен бути 1 файл для кожної мережі, яку ви намагалися підключити, відкрийте термінал і використовуйте команди:

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

Щоб перерахувати всі файли, знайшовши мережу, яку ви хочете видалити, видаліть їх за допомогою команди:

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

Дивовижне, дякую! Цікаво, чому цей список відрізняється від наведеного в інтерфейсі GUI Network Applet?
cboettig

Це працювала людина.
Джерік Лінс Джон

2
Після перезавантаження ці назви знову з’являються!
Анвар

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}' | під час читання рядка; do nmcli con видалити uuid $ line; виконано
Надав Б

1

Якщо вашою основною проблемою є ті дратівливі підказки, які просять вас увійти в мережу, тоді, коли ви не користуєтесь бездротовим зв’язком, ви можете просто відключити бездротовий доступ, натиснувши Enable Wirelessзапис у меню "Мережний індикатор".


Так, це моє поточне рішення в поганій зоні зв'язку. Однак, як правило, мене не вимагають, якщо я раніше не намагався підключитися до цієї мережі. Якщо я успішно підключився, я можу його видалити зі списку і не отримати запит про нього. Моє запитання про те, де знайти запис для мереж, які не відображаються там, але чітко запам’ятовуються машиною. Файл записів повинен десь
cboettig

0

Додавши більшої гнучкості до попередньої відповіді від @Postadelmaga, я витратив більше зусиль, надрукувавши назву видаленого SSID. Це додало труднощів: тепер нам доводиться уникати можливості імені SSID, що містить слово "ніколи", випадково не відповідає часовій позначці, що містить "ніколи".

Я також створив ще одну функцію, яка видаляє з'єднання на ім'я.

Джерела за адресою: 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
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.