wsl ubuntu desktop, top bar network icon 과 control panel (policy) 문제

WSL에 Ubuntu-desktop 설치 시, network monitoring icon과 network 설정 문제가 있다.

이것 역시, 실행정책(policy) 관련된 설정문제이며, 문제가 되는 곳과 해결 방법을 안내한다.


아래는, wsl 에 ubuntu-desktop을 설치한 후, Xdmcp(VcXsrv) 접속한 화면이다.

WSL 2, Ubuntu desktop, missing network icon in top bar

top bar 우측에(cursor 위치), 있어야 할 network monitoring icon이 보이지 않는다.

또한, 현재의 network 상태를 보여주지 못하며, control 자체가 비활성화 되어 있다.

이 문제, 역시, 실행권한 및 정책 (policy) 이 설정되지 않은 탓이다.


1. Top-Bar 에서 network monitoring icon

top bar의 network monitoring icon 의 설정 파일은,

/usr/lib/NetworkManager/conf.d/10-globally-managed-devices.conf 이다.

sudo nano /usr/lib/NetworkManager/conf.d/10-globally-managed-devices.conf

gedit 나 다른 editor를 이용해도 된다. 다만, 수정을 위해 admin의 권한이 필요하다.


추가해야 할 부분은 ",except:type:ethernet" 이며, 아래의 code와 같다.

[keyfile]
unmanaged-devices=*,except:type:wifi,except:type:gsm,except:type:cdma,except:type:ethernet

nano editor에서 ctrl-s ( save file, hot-key )를 눌러 저장하고, ctrl-x 로 끝낸다.


network monitoring icon을 적용하려면, WSL을 재 시작해야 한다.

그렇지만, Network Connected 부분을 활성화하여 network을 제어하려면,

다음의 과정과 재 시작이 필요하므로, 모두 끝낸 후에 WSL을 재 시작하자.


2. Network Connected 및 network control panel 실행정책(policy)

만들어야 할 policy file의 위치와 이름은 다음과 같다.

/etc/polkit-1/localauthority/50-local.d/47-allow-net-management.pkla


ubuntu terminal 에서 다음을 입력한다.

sudo nano /etc/polkit-1/localauthority/50-local.d/47-allow-net-management.pkla


nano editor에 다음을 입력한다.

[Modify system settings for network]
Identity=unix-group:sudo;unix-group:admin;unix-group:netdev
Action=org.freedesktop.NetworkManager.*
ResultAny=yes
ResultInactive=no
ResultActive=yes

모두 입력 후, ctrl-s로 저장, ctrl-x로 종료한다.

위의 설정은, NetworkManager 관련 모든 action을 허가한다.

참고로, org.freedesktop.NetworkManager 의 하위 action은 다음과 같다.

  • org.freedesktop.NetworkManager.enable-disable-network
  • org.freedesktop.NetworkManager.enable-disable-wifi
  • org.freedesktop.NetworkManager.enable-disable-wwan
  • org.freedesktop.NetworkManager.enable-disable-wimax
  • org.freedesktop.NetworkManager.sleep-wake
  • org.freedesktop.NetworkManager.network-control
  • org.freedesktop.NetworkManager.wifi.share.protected
  • org.freedesktop.NetworkManager.wifi.share.open
  • org.freedesktop.NetworkManager.settings.modify.system
  • org.freedesktop.NetworkManager.settings.modify.own
  • org.freedesktop.NetworkManager.settings.modify.hostname


세부적인 NetworkManager policy 설정이 필요한 경우, 참고하여 작성하면 된다.


3. wifi scan 권한, policy 추가 ( option )

WSL은 Virtual Machine이며, windows 의 내부 network과 연결된다.

따라서, WSL이나 Virtual Machine에서는 크게 필요한 부분은 아니다.


다음과 같이, nano로, wifi scan의 policy file을 만들어 주자.

sudo nano /etc/polkit-1/localauthority/50-local.d/10-network-manager.pkla


file의 내용은 다음과 같이 작성한다.

[Allow wi-fi scans for all users]
Identity=unix-user:*
Action=org.freedesktop.NetworkManager.wifi.scan
ResultAny=yes
ResultInactive=yes
ResultActive=yes

위 설정은, 모든 user에게 wifi scan 권한을 주는 policy이다.

모두 입력 후, ctrl-s 로 저장, ctrl-x 로 종료한다.


마지막으로, 추가,변경된 network policy 를 적용하기 위해, WSL을 재 시작한다.


다음은, 위의 network 설정이 적용된 login 화면이다.

wsl 2, Ubuntu desktop, VcXsrv login screen

top bar에 network monitoring icon이 활성화 되었다.

하지만, login 하지 않았으므로, network 제어권한을 가질 수 없다.

따라서 login 전 상태의 Wired Connected 항목은, 당연히, 비 활성화 상태이다.


아래는, login 후, top-bar의 icon 영역을 click 했을 때, drop-down menu이다.

Ubuntu-desktop,top-bar, network-icon,drop-down menu

drop-down menu를 설명하면,


Wired connection 1은, Ubuntu의 default network 설정이며, dhcp interface이다.

이것을 click하여 선택하면, Xdmcp(VcXsrv) 의 연결이 끊어져, desktop이 멈추게 된다.

( ubuntu 재시작시, WSL이 eth0로 설정하므로, 문제가 되지는 않는다.)


eth0 앞의 dot는, 사용중인 interface임을 표시한다.

eth0ubuntu 시작시, WSL이 추가한 network interface이며,

windows 내부의 virtual network 으로 연결된다.

windows 10의 경우, network adapter control pannel에서 virtual network이 보이지만

window 11의 경우, control panel 에서 숨겨진다.


Turn off는, hacking 등의 긴급한 이유로, network을 전체 중지하는 menu이다.


Wired Settings는, network 설정으로 이동하는 메뉴이다.

click 시, 아래와 같이, settings 의 network 설정이 열리게 된다.

wsl ubuntu-desktop,Settings-Network

모든 NetworkManager policy를 허가했으므로, interface 수정,삭제,추가가 가능하다.

댓글 쓰기

0 댓글