설치및설정

wsl삭제, wsl설치, wsl메모리제한, wsl-GUI연동, wsl 자동실행끄기

봄다온 2024. 8. 20. 14:09

wsl삭제

1.윈도우 + r 후 cmd 실행
2.현재 설치된 목록 확인 wsl -l -v
3.등록된 배포판 제거 wsl --unregister Ubuntu
4.프로그램추가/제거에서 ubuntu제거
5.프로그램 추가제거에서 "Linux용 Windows 하위 시스템"과 "Windows Subsystem for Linux" 제거
6.드라이브 programfiles에서 wsl폴더 제거, 몇개 안되는건 서비스에서 wsl 뭐시기 종료 후 제거
7.윈도우 눌러서 검색 후 "기능" 입력, 아래의 체크기능 2개를 꺼준후 재부팅

wsl설치

1.wsl활성화 명령어2개 날리기(윈도우 파워쉘 관리자권한 실행)

dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

2.윈도우 눌러서 검색 후 "기능" 입력, 아래의 체크기능 2개를 켜준후 재부팅

(만약 Hyper-V 칸이 안보인다면 내 pc의 메인보드 회사를 확인 후 해당 회사 메인보드의 바이오스 셋업에서 hyper-v 설정 켜는 법을 구글링하여 켜준다.)
3.WSL리눅스 커널 업데이트(cmd --> wmic os get osarchitecture 하면 os 종류 알수 있음)
https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi
https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_arm64.msi
이후 시작 누르고 방금 설치된 목록보면 펭귄아이콘과 Wsl Settings라고 있는데 해당아이콘을 클릭하면 뭐가 설치된다.
4.ms store에서 ubuntu 검색후 원하는 버전을 설치한다. 설치 후 실행하면 user와 pw를 등록한다. 만약 잘못설치했다면 powershell에서 wsl --list --all로 현재까지 설치된 버전 확인 후 wsl --unregister <삭제할 버전이름> 으로 삭제한다. ex) wsl --unregister Ubuntu
5.윈도우 파워쉘 관리자권한 실행후 wsl --update
6.내 깃허브의 Scripts/linux_scripts/remove_package.sh를 이용하여 python,cuda등 불필요한거 다 지워줌
7.파워쉘 터미널 어디서든 wsl로 실행 exit로 종료 wsl --shutdown으로 완전종료
8.윈도우 탐색기 창에서 \\wsl$ 를 입력후 검색하면 wsl 디렉터리가 나온다.
9.해당 wsl디렉터리 우클릭 후 네트워크 드라이브 연결해주면 내pc에 들어가서 손쉽게 접근가능하다

wsl메모리제한

1.도커와 wsl2 이용하는 경우, 윈도 시작시부터 꽤 많은 메모리를 할당하기 때문에 64G 메모리가 시스템에서도 메모리 사용율이 90%를 넘어가는 문제가 발생했다.
메모리 할당량을 조절할려면 윈도 유저 디렉토리에 .wslconfig 텍스트파일을 만들어주고 직접 사용햘 메모리량을 적어 두면된다.
2.Win+R 키로 실행창을 열어서 다음 환경 변수를 입력하면 유저 프로파일 디렉토리를 탐색기로 열어준다.
%userprofile%
3.그 후 다음의 이름으로 텍스트 파일을 만들어서 해당 옵션을 넣어준다.
.wslconfig <-- 파일이름

아래 내용 기록후 저장
[wsl2]
memory=8GB <-- 원하는 할당 메모리양
4.이후 powershell에서 wsl --shutdown으로 종료

전체옵션은 다음과 같다.

GUI연동

xrdp를 사용하여 wsl을 gui환경 구현할려고 한다.

xrdp란...
xrdp는 마이크로소프트 RDP 서버의 자유-오픈 소스 구현체이며 마이크로소프트 윈도우 외의 운영 체제들이 온전히 기능하는 RDP 호환 원격 데스크톱 경험을 제공할 수 있게 한다. -- 출처 위키백과

xfce란...
Xfce는 리눅스의 GUI 환경이다. 1996년 올리비에 푸르당(Olivier Fourdan)이 발표한 이래 현재까지 개발되고 있으며, 현재 안정 버전은 2022년 12월에 발표된 4.18이다. Xfce는 freedesktop.org 표준의 구현을 최우선 목표로 삼고 있다. -- 출처 나무위키

1.wsl 실행 후 ubuntu 환경에 gui 배포판 설치(10분정도 걸림)

sudo apt update && apt -y upgrade
sudo apt install -y ubuntu-desktop

2.xfce4 및 xrdp 설치

sudo apt -y install xfce4
sudo apt-get install xfce4-goodies
sudo apt-get install xrdp
sudo cp /etc/xrdp/xrdp.ini /etc/xrdp/xrdp.ini.bak
sudo sed -i 's/3389/3390/g' /etc/xrdp/xrdp.ini
sudo sed -i 's/max_bpp=32/#max_bpp=32nmax_bpp=128/g' /etc/xrdp/xrdp.ini
sudo sed -i 's/xserverbpp=24/#xserverbpp=24nxserverbpp=128/g' /etc/xrdp/xrdp.ini
echo xfce4-session > ~/.xsession

3.vim /etc/xrdp/startwm.sh 파일수정

아래에서 마지막 2줄 위쪽에 unset DBUS_SESSION_BUS_ADDRESS unset XDG_RUNTIME_DIR 코드를 넣어준다.

4.xrdp 활성화

sudo /etc/init.d/xrdp start

5.그 후 원격데스크톱을 켜고 localhost:3390으로 접속하면 gui환경에서 리눅스를 사용할 수 있다.

wsl 자동실행끄기

1.시작메뉴에서 작업 스케줄러 실행

작업 스케줄러 라이브러리를 클릭해서 펼친다.

2.작업 스케줄러 라이브러리에서 우클릭ㅡ>새폴더ㅡ>WSL 폴더를 만든다.
3.WSL폴더안에서 작업 만들기를 클릭하여 새 작업을 만든다.
4.작업 이름을 지어주고 구성대상에서 현재 자신의 os를 골라준다.

5.트리거ㅡ>새로 만들기ㅡ>작업 시작: 시작할 때ㅡ>작업 지연 시간 : 30초 설정
6.동작ㅡ>새로 만들기ㅡ>동작 : 프로그램 시작ㅡ>프로그램/스크립트 : powershellㅡ>인수 추가 : -command "& wsl --shutdown"
7.조건ㅡ>컴퓨터의 AC 전원이 켜져... 체크해제
8.설정ㅡ>다음 시간 이상 작업이 실행되면 중지, 요청할 때 실행 중인 작업이 끝나지... 체크해제
9.재부팅후 작업관리자의 프로세스 탭에서 Vmmem 없는것 확인


참고

https://dev.to/darksmile92/linux-on-windows-wsl-with-desktop-environment-via-rdp-522g