본문 바로가기
서버/윈도우 서버

WSL2 설치 및 그래픽 테스트 해보기

by ㅋㅋ잠자 2021. 12. 3.
반응형

안녕하세요? Win11 에서 WSL2 그래픽 가속이 해결이 되었다고 해서 신나는 마음으로 설치를 진행해보았습니다.

 

마소 공식 문서는 하기와 같습니다.

https://docs.microsoft.com/ko-kr/windows/wsl/tutorials/gui-apps

 

빌드 22000 이상이여야 동작한다고 합니다. Win11 정식배포가 22000.194 였기 때문에 거의 모든 분이 현재 상태로 구동이 될 것이라고 생각합니다.

 

1. GPU 드라이버 설치하기

를 설치해야한다고 하네요.

https://developer.nvidia.com/cuda/wsl

 

저는 NVIDIA 그래픽 사용해서 nvidia 링크로 설치해 보았습니다.

머신러닝할거 아니라서 필요없는데 거의 패키지로 뭉땅 설치하네요.

드라이버 사이즈가 ㄷㄷ 하네요.. 896MB ...

 

아예 드라이버를 새로 설치하는 겪이네요..

 

2. wsl2 설치

하기와 같이 관리자 권한으로 powershell 을 실행하여 진행합니다.

우분투로 진행해 보겠습니다.

PS C:\Windows\system32> wsl --install -d Ubuntu
설치 중: Linux용 Windows 하위 시스템
Linux용 Windows 하위 시스템이(가) 설치되었습니다.
다운로드 중: WSL 커널
설치 중: WSL 커널
WSL 커널이(가) 설치되었습니다.
다운로드 중: GUI 앱 지원
[========                  14.4%                           ]
GUI 앱 지원이(가) 설치되었습니다.
다운로드 중: Ubuntu
[=============             23.3%                           ]
요청한 작업이 잘 실행되었습니다. 시스템을 다시 시작하면 변경 사항이 적용됩니다.

와우.. 이전 보다 설치가 매우 쉬워졌네요.. 좋습니다.

재시작 해보겠습니다.

 

재시작 이후, 이어서 계정 설정이 진행되네요.

설치가 완료 되었습니다.

 

3. 기초 설정 및 테스트

일단 apt 리스트를 갱신하고 gui 앱을 하나 실행해보겠습니다.

# 작업하기 용이하게 root 계정으로 접근합니다.
djjproject@DESKTOP-NF6EM3L:~$ sudo su
[sudo] password for djjproject:

# 패키지 리스트를 갱신합니다.
root@DESKTOP-NF6EM3L:/home/djjproject# apt update
Get:1 http://security.ubuntu.com/ubuntu focal-security InRelease [114 kB]
Get:2 http://archive.ubuntu.com/ubuntu focal InRelease [265 kB]
Get:3 http://security.ubuntu.com/ubuntu focal-security/main amd64 Packages [1062 kB]
Get:4 http://archive.ubuntu.com/ubuntu focal-updates InRelease [114 kB]
Get:5 http://archive.ubuntu.com/ubuntu focal-backports InRelease [108 kB]
Get:6 http://archive.ubuntu.com/ubuntu focal/main amd64 Packages [970 kB]
Get:7 http://security.ubuntu.com/ubuntu focal-security/main Translation-en [196 kB]
Get:8 http://security.ubuntu.com/ubuntu focal-security/main amd64 c-n-f Metadata [9076 B]
Get:9 http://security.ubuntu.com/ubuntu focal-security/restricted amd64 Packages [560 kB]
Get:10 http://security.ubuntu.com/ubuntu focal-security/restricted Translation-en [80.2 kB]
Get:11 http://security.ubuntu.com/ubuntu focal-security/restricted amd64 c-n-f Metadata [528 B]
Get:12 http://security.ubuntu.com/ubuntu focal-security/universe amd64 Packages [663 kB]
Get:13 http://security.ubuntu.com/ubuntu focal-security/universe Translation-en [111 kB]
Get:14 http://security.ubuntu.com/ubuntu focal-security/universe amd64 c-n-f Metadata [12.9 kB]
Get:15 http://security.ubuntu.com/ubuntu focal-security/multiverse amd64 Packages [21.9 kB]
Get:16 http://security.ubuntu.com/ubuntu focal-security/multiverse Translation-en [4948 B]
Get:17 http://security.ubuntu.com/ubuntu focal-security/multiverse amd64 c-n-f Metadata [540 B]
Get:18 http://archive.ubuntu.com/ubuntu focal/main Translation-en [506 kB]
Get:19 http://archive.ubuntu.com/ubuntu focal/main amd64 c-n-f Metadata [29.5 kB]
Get:20 http://archive.ubuntu.com/ubuntu focal/universe amd64 Packages [8628 kB]
Get:21 http://archive.ubuntu.com/ubuntu focal/universe Translation-en [5124 kB]
Get:22 http://archive.ubuntu.com/ubuntu focal/universe amd64 c-n-f Metadata [265 kB]
Get:23 http://archive.ubuntu.com/ubuntu focal/multiverse amd64 Packages [144 kB]
Get:24 http://archive.ubuntu.com/ubuntu focal/multiverse Translation-en [104 kB]
Get:25 http://archive.ubuntu.com/ubuntu focal/multiverse amd64 c-n-f Metadata [9136 B]
Get:26 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages [1386 kB]
Get:27 http://archive.ubuntu.com/ubuntu focal-updates/main Translation-en [281 kB]
Get:28 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 c-n-f Metadata [14.6 kB]
Get:29 http://archive.ubuntu.com/ubuntu focal-updates/restricted amd64 Packages [606 kB]
Get:30 http://archive.ubuntu.com/ubuntu focal-updates/restricted Translation-en [86.8 kB]
Get:31 http://archive.ubuntu.com/ubuntu focal-updates/restricted amd64 c-n-f Metadata [528 B]
Get:32 http://archive.ubuntu.com/ubuntu focal-updates/universe amd64 Packages [877 kB]
Get:33 http://archive.ubuntu.com/ubuntu focal-updates/universe Translation-en [190 kB]
Get:34 http://archive.ubuntu.com/ubuntu focal-updates/universe amd64 c-n-f Metadata [19.6 kB]
Get:35 http://archive.ubuntu.com/ubuntu focal-updates/multiverse amd64 Packages [24.8 kB]
Get:36 http://archive.ubuntu.com/ubuntu focal-updates/multiverse Translation-en [6928 B]
Get:37 http://archive.ubuntu.com/ubuntu focal-updates/multiverse amd64 c-n-f Metadata [616 B]
Get:38 http://archive.ubuntu.com/ubuntu focal-backports/main amd64 Packages [41.2 kB]
Get:39 http://archive.ubuntu.com/ubuntu focal-backports/main Translation-en [9732 B]
Get:40 http://archive.ubuntu.com/ubuntu focal-backports/main amd64 c-n-f Metadata [516 B]
Get:41 http://archive.ubuntu.com/ubuntu focal-backports/restricted amd64 c-n-f Metadata [116 B]
Get:42 http://archive.ubuntu.com/ubuntu focal-backports/universe amd64 Packages [18.9 kB]
Get:43 http://archive.ubuntu.com/ubuntu focal-backports/universe Translation-en [7524 B]
Get:44 http://archive.ubuntu.com/ubuntu focal-backports/universe amd64 c-n-f Metadata [644 B]
Get:45 http://archive.ubuntu.com/ubuntu focal-backports/multiverse amd64 c-n-f Metadata [116 B]
Fetched 22.7 MB in 7s (3026 kB/s)
Reading package lists... Done
Building dependency tree
Reading state information... Done
251 packages can be upgraded. Run 'apt list --upgradable' to see them.

다음으로 gui 앱을 하나 올려보겠습니다.

root@DESKTOP-NF6EM3L:/home/djjproject# apt install xterm
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
  xbitmaps
Suggested packages:
  xfonts-cyrillic
The following NEW packages will be installed:
  xbitmaps xterm
0 upgraded, 2 newly installed, 0 to remove and 251 not upgraded.
Need to get 793 kB of archives.
After this operation, 2557 kB of additional disk space will be used.
Do you want to continue? [Y/n]
Get:1 http://archive.ubuntu.com/ubuntu focal/main amd64 xbitmaps all 1.1.1-2 [28.1 kB]
Get:2 http://archive.ubuntu.com/ubuntu focal-updates/universe amd64 xterm amd64 353-1ubuntu1.20.04.2 [765 kB]
Fetched 793 kB in 2s (332 kB/s)
Selecting previously unselected package xbitmaps.
(Reading database ... 31836 files and directories currently installed.)
Preparing to unpack .../xbitmaps_1.1.1-2_all.deb ...
Unpacking xbitmaps (1.1.1-2) ...
Selecting previously unselected package xterm.
Preparing to unpack .../xterm_353-1ubuntu1.20.04.2_amd64.deb ...
Unpacking xterm (353-1ubuntu1.20.04.2) ...
Setting up xbitmaps (1.1.1-2) ...
Setting up xterm (353-1ubuntu1.20.04.2) ...
update-alternatives: using /usr/bin/xterm to provide /usr/bin/x-terminal-emulator (x-terminal-emulator) in auto mode
update-alternatives: using /usr/bin/lxterm to provide /usr/bin/x-terminal-emulator (x-terminal-emulator) in auto mode
Processing triggers for man-db (2.9.1-1) ...
Processing triggers for mime-support (3.64ubuntu1) ...

실행해봅니다.

root@DESKTOP-NF6EM3L:/home/djjproject# xterm
xterm: cannot load font "-misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso10646-1"

오.. 하기와 같이 앱이 뜨네요.

크롬 브라우저 바로 올려보겠습니다.

# 사용자 계정 홈폴더가 더러워지면 안되어서, root 계정의 홈폴더로 이동합니다.
root@DESKTOP-NF6EM3L:/home/djjproject# cd ~

# 파일을 받습니다.
root@DESKTOP-NFEM3L:~# wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb

# 설치를 진행합니다.
root@DESKTOP-NF6EM3L:~# dpkg -i google-chrome-stable_current_amd64.deb
Selecting previously unselected package google-chrome-stable.
(Reading database ... 31959 files and directories currently installed.)
Preparing to unpack google-chrome-stable_current_amd64.deb ...
Unpacking google-chrome-stable (96.0.4664.45-1) ...
dpkg: dependency problems prevent configuration of google-chrome-stable:
 google-chrome-stable depends on fonts-liberation; however:
  Package fonts-liberation is not installed.
 google-chrome-stable depends on libatk-bridge2.0-0 (>= 2.5.3); however:
  Package libatk-bridge2.0-0 is not installed.
 google-chrome-stable depends on libatk1.0-0 (>= 2.2.0); however:
  Package libatk1.0-0 is not installed.
 google-chrome-stable depends on libatspi2.0-0 (>= 2.9.90); however:
  Package libatspi2.0-0 is not installed.
 google-chrome-stable depends on libcairo2 (>= 1.6.0); however:
  Package libcairo2 is not installed.
 google-chrome-stable depends on libcups2 (>= 1.6.0); however:
  Package libcups2 is not installed.
 google-chrome-stable depends on libgbm1 (>= 8.1~0); however:
  Package libgbm1 is not installed.
 google-chrome-stable depends on libgtk-3-0 (>= 3.9.10) | libgtk-4-1; however:
  Package libgtk-3-0 is not installed.
  Package libgtk-4-1 is not installed.
 google-chrome-stable depends on libnspr4 (>= 2:4.9-2~); however:
  Package libnspr4 is not installed.
 google-chrome-stable depends on libnss3 (>= 2:3.22); however:
  Package libnss3 is not installed.
 google-chrome-stable depends on libpango-1.0-0 (>= 1.14.0); however:
  Package libpango-1.0-0 is not installed.
 google-chrome-stable depends on libxkbcommon0 (>= 0.4.1); however:
  Package libxkbcommon0 is not installed.
 google-chrome-stable depends on xdg-utils (>= 1.0.2); however:
  Package xdg-utils is not installed.

dpkg: error processing package google-chrome-stable (--install):
 dependency problems - leaving unconfigured
Processing triggers for mime-support (3.64ubuntu1) ...
Processing triggers for man-db (2.9.1-1) ...
Errors were encountered while processing:
 google-chrome-stable

상기 에러는 하기와 같이 해결합니다.

root@DESKTOP-NF6EM3L:~# apt-get -f install
Reading package lists... Done
Building dependency tree
Reading state information... Done
Correcting dependencies... Done
The following additional packages will be installed:
  adwaita-icon-theme at-spi2-core cpp cpp-9 fontconfig fonts-liberation gcc-9-base
  gtk-update-icon-cache hicolor-icon-theme humanity-icon-theme libatk-bridge2.0-0
........................................................
  libwayland-egl1 libwayland-server0 libwebp6 libwww-perl libwww-robotrules-perl
  libx11-protocol-perl libxcb-render0 libxcb-shm0 libxcursor1 libxkbcommon0
  libxml-parser-perl libxml-twig-perl libxml-xpathengine-perl perl-openssl-defaults
  ubuntu-mono x11-xserver-utils xdg-utils
0 upgraded, 102 newly installed, 0 to remove and 251 not upgraded.
1 not fully installed or removed.
Need to get 26.8 MB of archives.
After this operation, 111 MB of additional disk space will be used.
Do you want to continue? [Y/n]

그리고 크롬브라우저를 no sandbox 옵션으로 root 계정에서 실행할 수 있지만, 일반 계정으로 다시 돌아가서 실행해봅니다.

# root 계정에서 나갑니다.
root@DESKTOP-NF6EM3L:~# exit
exit

# 크롬 브라우저를 실행해봅니다.
djjproject@DESKTOP-NF6EM3L:~$ google-chrome
[3532:3532:1203/190716.048051:ERROR:browser_dm_token_storage_linux.cc(94)] Error: /etc/machine-id contains 0 characters (32 were expected).
[3532:3589:1203/190716.210375:ERROR:bus.cc(393)] Failed to connect to the bus: Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory
[3532:3564:1203/190716.211580:ERROR:bus.cc(393)] Failed to connect to the bus: Could not parse server address: Unknown address type (examples of valid types are "tcp" and on UNIX "unix")
[3532:3564:1203/190716.211612:ERROR:bus.cc(393)] Failed to connect to the bus: Could not parse server address: Unknown address type (examples of valid types are "tcp" and on UNIX "unix")
[3532:3564:1203/190716.216681:ERROR:bus.cc(393)] Failed to connect to the bus: Could not parse server address: Unknown address type (examples of valid types are "tcp" and on UNIX "unix")
[3532:3564:1203/190716.216705:ERROR:bus.cc(393)] Failed to connect to the bus: Could not parse server address: Unknown address type (examples of valid types are "tcp" and on UNIX "unix")
[3532:3643:1203/190716.235401:ERROR:bus.cc(393)] Failed to connect to the bus: Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory
[3532:3643:1203/190716.235428:ERROR:bus.cc(393)] Failed to connect to the bus: Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory
[3532:3643:1203/190716.235686:ERROR:bus.cc(393)] Failed to connect to the bus: Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory
[3532:3643:1203/190716.235730:ERROR:bus.cc(393)] Failed to connect to the bus: Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory
[3532:3643:1203/190716.235762:ERROR:bus.cc(393)] Failed to connect to the bus: Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory
[3596:3596:1203/190716.281251:ERROR:viz_main_impl.cc(161)] Exiting GPU process due to errors during initialization
[3715:3715:1203/190716.306670:ERROR:sandbox_linux.cc(376)] InitializeSandbox() called with multiple threads in process gpu-process.

오 .. 하기와 같이 창이 뜹니다.

창 크기 조절이 안되는 것 같습니다.

일단 네이버 들어가 보았습니다.

역시 폰트가 깨지네요.

폰트 설치해줍니다.

djjproject@DESKTOP-NF6EM3L:~$ sudo apt install fonts-nanum
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following NEW packages will be installed:
  fonts-nanum
0 upgraded, 1 newly installed, 0 to remove and 251 not upgraded.
Need to get 9599 kB of archives.
After this operation, 29.6 MB of additional disk space will be used.
Get:1 http://archive.ubuntu.com/ubuntu focal/universe amd64 fonts-nanum all 20180306-3 [9599 kB]
6% [1 fonts-nanum 711 kB/9599 kB 7%]

다시 실행해봅니다.

창 사이즈 조절은 조금 섬세하게 조정해야 조정되네요.

오우.. 브라우징이 매우 부드럽습니다.. 그래픽 가속이 되는 것 같습니다.

영상 재생 관련하여서는 가속이 되지 않는 것 같습니다.

SW 디코딩에 3D카피만 일어나서 상당히 부하가 많이 차네요. 프레임드롭이 많지는 않지만 중간 중간 생깁니다.

chrome media internals 를 확인하면 VpxVideoDecoder 로 돌아가는데 SW 코덱입니다.

낮은 해상도에 대해서 가속이 되는지 궁금하여 재생을 시도해 보았는데 1080P 는 모두 AV1으로 영상이 제공되네요.

그래서 AV1 을 블록하는 애드온을 설치하였습니다.

https://chrome.google.com/webstore/detail/not-yet-av1/dcmllfkiihingappljlkffafnlhdpbai

결국 avc 로 선택되게 하고 다시 확인해 보았습니다.

역시 SW 디코딩입니다.

혹시 방법이 없나 찾아보아도 딱히 그런것은 없네요.

그리고 오랜만에 아쿠아리움 돌려 보았는데 역시 CPU 빨로 됩니다.

네이티브에서는 3만마리로도 60프레임이 나오는데 아직 GPU가속은 완벽하지 않은것 같습니다.

실제로 /dev/dxg path는 존재하나, 아직 잘 안되는것 같습니다. 추후에 정리를 조금 해봐야겠네요.

몇가지 찾아보니 chrome 에서 gpu 항목을 보라고 나와 있습니다.

하기와 같이 나오는데요.

about:flags 에서 하기를 Enable 하면 된다는 이야기가 있어서 시도해 보았습니다.

오 좀 바뀌었습니다.

500마리에서 20프레임 가량 상승하였지만, CPU가 100프로로 차는건 동일하네요.

비디오는 안되는 것 같습니다.

 

일단은 NVIDIA 최신 드라이버에서 NVENC 가 작동한다는 소문이 있고, 대부분 이 플랫폼을 머신러닝으로 사용하는 것 같습니다. 머신러닝은 되는것 같네요.

 

그래픽 구조가 wayland --> weton (wslg) --> rdp --> native windows 로 화면이 오는 것 같습니다.

마찬가지로 pulse audio 를 통해 소리가 나가며, 출력은 RDP Sink 를 사용하는 것 같습니다.

 

4. glxinfo 

열심히 검색한 결과, glxinfo 를 하면 실제로 NVIDIA 그래픽 카드가 나와야 한다는데 실제로는 그렇지 않아서 삽질을 조금 진행해 보았습니다.

djjproject@DESKTOP-NF6EM3L:~$ glxinfo -B
name of display: :0
display: :0  screen: 0
direct rendering: Yes
Extended renderer info (GLX_MESA_query_renderer):
    Vendor: VMware, Inc. (0xffffffff)
    Device: llvmpipe (LLVM 9.0.1, 128 bits) (0xffffffff)
    Version: 20.0.4
    Accelerated: no
    Video memory: 7907MB
    Unified memory: no
    Preferred profile: core (0x1)
    Max core profile version: 3.3
    Max compat profile version: 3.1
    Max GLES1 profile version: 1.1
    Max GLES[23] profile version: 3.1
OpenGL vendor string: VMware, Inc.
OpenGL renderer string: llvmpipe (LLVM 9.0.1, 128 bits)
OpenGL core profile version string: 3.3 (Core Profile) Mesa 20.0.4
OpenGL core profile shading language version string: 3.30
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile

OpenGL version string: 3.1 Mesa 20.0.4
OpenGL shading language version string: 1.40
OpenGL context flags: (none)

OpenGL ES profile version string: OpenGL ES 3.1 Mesa 20.0.4
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.10

오... 이게 apt-get upgrade 하고 wsl --shutdown 하고 난 뒤에 하기와 같이 동작하네요..

djjproject@DESKTOP-NF6EM3L:~$ glxinfo -B
name of display: :0
display: :0  screen: 0
direct rendering: Yes
Extended renderer info (GLX_MESA_query_renderer):
    Vendor: Microsoft Corporation (0xffffffff)
    Device: D3D12 (NVIDIA GeForce GTX 1060 6GB) (0xffffffff)
    Version: 21.0.3
    Accelerated: yes
    Video memory: 14196MB
    Unified memory: no
    Preferred profile: core (0x1)
    Max core profile version: 3.3
    Max compat profile version: 3.1
    Max GLES1 profile version: 1.1
    Max GLES[23] profile version: 3.0
OpenGL vendor string: Microsoft Corporation
OpenGL renderer string: D3D12 (NVIDIA GeForce GTX 1060 6GB)
OpenGL core profile version string: 3.3 (Core Profile) Mesa 21.0.3
OpenGL core profile shading language version string: 3.30
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile

OpenGL version string: 3.1 Mesa 21.0.3
OpenGL shading language version string: 1.40
OpenGL context flags: (none)

OpenGL ES profile version string: OpenGL ES 3.0 Mesa 21.0.3
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.00

다시 테스트를 해봐야겠습니다.

다시 아쿠아리움 한번 했습니다.

음.. 1000마리 60프레임까지 가능하네요.

성능이 많이 떨어지는 편입니다. 이럴 꺼였으면 아무래도 GPU를 사용하는 무언갈 하려면 네이티브 우분투를 깔고 사용하는게 맞아보입니다.

 

한편, GPU 인터페이스 관련으로 리눅스 오픈소스의 GPU 를 바로 액세스하는 DRM 인터페이스는 존재하지 않으며, 그에 따라 VAAPI 도 사용할 수 없습니다.

 

5. 마치며..

일단 그래픽이 완벽하지 않더라도, 프로그래밍이나 기본 UI가 있는 앱들이 xpra 나 xming 혹은 X11 forwarding 등을 사용하는 것 대비, 거의 네이티브 앱이 돌아가는 것 처럼 작동합니다.

 

그래서 아마도 리눅스 생태계 앱을 통해 작업을 하는데에는 충분해 보이며, 로컬 디스크 또한 하기 처럼 마운트 되어 있기 때문에 컴파일 용도로도 사용이 가능할 것으로 보입니다.

그러나 NTFS 에 ACL 이 리눅스에 어떻게 적용되는지는 정확하게 알아봐야할 것으로 보이고, 네트워크 관련으로 HyperV 가상 네트워크를 사용하기 때문에 로컬호스트와 어떻게 통신하는지도 추후에 필요하면 알아봐야할 것으로 보이네요.

djjproject@DESKTOP-NF6EM3L:~$ df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sdc        251G  2.4G  236G   1% /
none            3.9G   14M  3.9G   1% /mnt/wslg
none            3.9G  4.0K  3.9G   1% /mnt/wsl
tools           466G   54G  412G  12% /init
none            3.9G     0  3.9G   0% /dev
none            3.9G     0  3.9G   0% /run
none            3.9G     0  3.9G   0% /run/lock
none            3.9G   81M  3.8G   3% /run/shm
none            3.9G     0  3.9G   0% /run/user
tmpfs           3.9G     0  3.9G   0% /sys/fs/cgroup
drivers         466G   54G  412G  12% /usr/lib/wsl/drivers
lib             466G   54G  412G  12% /usr/lib/wsl/lib
none            3.9G  1.6M  3.9G   1% /mnt/wslg/versions.txt
none            3.9G  1.6M  3.9G   1% /mnt/wslg/doc
drvfs           466G   54G  412G  12% /mnt/c
drvfs           299G  141G  158G  48% /mnt/d

djjproject@DESKTOP-NF6EM3L:~$ ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 172.30.130.81  netmask 255.255.240.0  broadcast 172.30.143.255
        inet6 fe80::215:5dff:fee1:6cd5  prefixlen 64  scopeid 0x20<link>
        ether 00:15:5d:e1:6c:d5  txqueuelen 1000  (Ethernet)
        RX packets 45440  bytes 62936159 (62.9 MB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 6179  bytes 844504 (844.5 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

한편, docker 의 경우 어차피 HyperV 가상머신이기 때문에 리눅스 커널의 온전한 기능을 모두 가지고 있어서 구동에 문제가 없습니다. 다만, 가상머신에 컨테이너라서 성능이 조금 떨어질 것으로 보이네요.

 

다음으로 시스템 부팅 자체가 sysv-init 으로 사용되고 있기 때문에 따로 systemd를 돌리려면 가상머신 설정을 조금 바꾸면 되지만, 개발용도로는 꼭 systemd가 필요한 것은 아닙니다.

 

그리고, 하기 안드로이드 부분인 WSA / 그리고 본문의 WSL이 생각보다 윈도우와 Integration이 괜찮은 편입니다.

https://blog.djjproject.com/777

안드로이드의 경우, 앱이 시작에 표시되고, 알림또한 윈도우 알림센터와 연동됩니다.

그리고 리눅스앱도 하기와 같이 표기가 됩니다.

당연 클립보드 공유되고, 다만 한글입력은 조금 삽질을 해야할 것으로 보이네요.

 

차후에 시간이 된다면 한글 입력까지 시도해 보도록 하겠습니다.

 

 

 

감사합니다.

반응형

댓글