네트워크 연결 애플릿에서 사용되지 않는 네트워크 항목을 제거하는 방법


17

패널에서 무선 아이콘을 클릭하고 "연결 편집"-> "무선"을 선택하여 nm- 애플릿에서 내 컴퓨터가 "기억하는"네트워크를 삭제할 수 있습니다. 그러나 때로는 드롭 다운 목록에서 실수로 잘못된 무선 연결을 클릭합니다. 연결이 안전한 경우, 컴퓨터는 물론 성공적으로 연결되지 않지만 어떻게 든 ESSID를 기억하는 것 같습니다. 무선 범위 내에있을 때마다 연결을 시도합니다.

더 나쁜 것은 다른 네트워크에 연결되어 있지 않으면이 네트워크에 연결하라는 메시지가 반복적으로 나타납니다. 무인 상태로 방치하면이 잘못된 네트워크에 로그인하라는 창 사본이 수십 개 있습니다. 이 연결 ID를 기록하는 파일이 어딘가에 있지만 찾을 수 없습니다. 위에서 언급 한 "연결 편집"에 나타나는 유일한 연결은 실제로 연결된 연결입니다. 파일을 찾고 문제가있는 "암기 된"네트워크에 해당하는 줄을 어떻게 삭제합니까?

편집 처음 네트워크를 선택할 때 추가되는 목록에서 해당 네트워크를 제거하는 솔루션을 찾고 있습니다. 이 동작은 네트워크 관리자의 버그 인 것 같습니다 (?)

답변:


23

디렉토리에서 파일을 삭제하려고 /etc/NetworkManager/system-connections/했습니까?

연결을 시도한 모든 네트마다 파일이 하나 있어야하고 터미널을 열고 다음 명령을 사용해야합니다.

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

모든 파일을 나열하려면 삭제하려는 네트워크를 찾은 후 다음 명령으로 해당 파일을 제거하십시오.

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

정말 고마워요! 이 목록이 왜 Network Applet GUI에 제공된 것과 다른지 궁금합니다.
cboettig

이 사람을 일했다.
Jerric Lyns John

2
다시 부팅하면 해당 이름이 다시 나타납니다!
Anwar

6

다음을 사용하여 연결을 삭제할 수 있습니다 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

좋은 대답입니다. 모든 연결을 제거하려면 다음을 수행하십시오. nmcli --fields UUID, TIMESTAMP-REAL con show | awk '{print $ 1}'| 줄을 읽는 동안; nmcli con uuid $ line을 삭제합니까; 완료
Nadav B

1

주요 문제가 네트워크에 로그인하라는 성가신 메시지 인 경우 무선을 사용하지 않을 때마다 Enable Wireless네트워크 표시기 메뉴 의 항목 을 클릭하여 무선을 비활성화 할 수 있습니다 .


예, 연결 상태가 좋지 않은 내 솔루션입니다. 그러나 이전에 해당 네트워크에 연결을 시도하지 않으면 일반적으로 메시지가 표시되지 않습니다. 연결에 성공하면 목록에서 삭제해도 프롬프트가 표시되지 않습니다. 내 질문은 거기에 표시되지 않지만 기계에 의해 명확하게 기억되는 네트워크의 레코드를 어디에서 찾을 수 있는지에 관한 것입니다. 기록 파일이 존재해야 어딘가에
cboettig

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
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.