Как удалить устаревшие записи в сети из приложения Network Connection Applet

Я вижу, что я могу удалить сети, которые моя машина «запоминает» из nm-апплета, щелкнув значок беспроводной сети на панели и выбрав «редактировать соединения» -> «беспроводной». Однако иногда я случайно нахожу неправильное беспроводное соединение в раскрывающемся списке. Если соединение безопасно, машина, конечно, никогда не соединяется успешно, но почему-то все же кажется, что запоминает ESSID. Всякий раз, когда я нахожусь в диапазоне этой беспроводной сети, он теперь пытается подключиться.

Хуже того, если он не подключен к какой-либо другой сети, он несколько раз предлагает мне подключиться к этой сети. Если оставить без присмотра, я могу найти десятки копий окна, предлагая мне войти в эту ошибочную сеть. Должен быть файл где-то, который записывает этот идентификатор соединения, но я не могу его найти. Единственные соединения, появляющиеся в «редактируемых соединениях», о которых я упоминал выше, это те, к которым я действительно подключился. Как найти файл и удалить строку, соответствующую оскорбительной «запомненной» сети?

EDIT Я ищу решение для удаления этих сетей из любого списка, к которому они добавляются, когда я их сначала выбираю. Похоже, это поведение является ошибкой в ​​сетевом менеджере (?)

1
задан 25 February 2015 в 16:56

3 ответа

Вы можете удалить соединения с помощью nmcli con delete (CONNECTION_NAME)

Чтобы удалить все неиспользуемые соединения (не требуется корень)

nmcli --fields UUID,TIMESTAMP-REAL con show | grep never |  awk '{print $1}' | while read line; do nmcli con delete uuid  $line;    done
5
ответ дан 25 May 2018 в 03:31

Если ваша основная проблема связана с теми неприятными подсказками, в которых вы хотите войти в сеть, то всякий раз, когда вы не используете Wireless, вы можете просто отключить Wireless, щелкнув запись Enable Wireless в меню Network Indicator.

1
ответ дан 25 May 2018 в 03:31
  • 1
    Да, это мое текущее решение в плохой области подключения. Тем не менее, я обычно не получаю запрос, если только я не пытался подключиться к этой сети раньше. Если я успешно подключился, я могу удалить его из списка и не получить запрос об этом. Мой вопрос о том, где найти запись для сетей, которые не отображаются там, но хорошо запоминаются машиной. Файл записи должен существовать где-то – cboettig 10 December 2012 в 23:45

Добавив большую гибкость в предыдущий ответ @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
ответ дан 25 May 2018 в 03:31

Другие вопросы по тегам:

Похожие вопросы: