Microsoft MVP성태의 닷넷 이야기
Linux: 48. Windows 11 + WSL 우분투 GUI 환경에서 한글 출력 [링크 복사], [링크+제목 복사],
조회: 16769
글쓴 사람
정성태 (techsharer at outlook.com)
홈페이지
첨부 파일
 

Windows 11 + WSL 우분투 GUI 환경에서 한글 출력

Windows 11에서는 다음과 같이 리눅스 GUI 프로그램이 별다른 설정 없이도 UI를 가진 윈도우로 실행이 됩니다.

wsl_gui_win11_1.png

하지만, 한글 파일을 열면 이렇게 한글이 깨져 나옵니다.

wsl_gui_win11_2.png

이때의 locale을 확인해 보면,

$ locale
LANG=C.UTF-8
LANGUAGE=
LC_CTYPE="C.UTF-8"
LC_NUMERIC="C.UTF-8"
LC_TIME="C.UTF-8"
LC_COLLATE="C.UTF-8"
LC_MONETARY="C.UTF-8"
LC_MESSAGES="C.UTF-8"
LC_PAPER="C.UTF-8"
LC_NAME="C.UTF-8"
LC_ADDRESS="C.UTF-8"
LC_TELEPHONE="C.UTF-8"
LC_MEASUREMENT="C.UTF-8"
LC_IDENTIFICATION="C.UTF-8"
LC_ALL=

C.UTF-8로 되어 있는데, 재미있는 것은 콘솔 화면에서는 한글 출력이 정상적으로 됩니다.

$ cat hangul_utf8.txt
안녕하세요.

이상하군요, 폰트도 그럼 있다는 것인데... 어떤 체계인지는 알 수 없으나 어쨌든 다음의 폰트를 추가 설치해 주면 됩니다.

$sudo apt-get install fonts-nanum fonts-nanum-coding fonts-nanum-extra

이후 다시 gedit를 실행해 보면 한글 출력이 잘 나옵니다.

wsl_gui_win11_3.png




[이 글에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]







[최초 등록일: ]
[최종 수정일: 2/2/2022]

Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
by SeongTae Jeong, mailto:techsharer at outlook.com

비밀번호

댓글 작성자
 




... 106  107  108  109  110  111  112  113  114  115  116  117  118  [119]  120  ...
NoWriterDateCnt.TitleFile(s)
11041정성태9/10/201623499.NET Framework: 605. CLR4 보안 - yield 구문 내에서 SecurityCritical 메서드 사용 불가 - 2번째 이야기
11040정성태9/10/201631152.NET Framework: 604. C# Windows Forms - Drag & Drop 예제 코드 [2]파일 다운로드1
11039정성태9/9/201625644오류 유형: 355. Visual Studio 빌드 오류 - error CS0122: '__ComObject' is inaccessible due to its protection level
11038정성태9/9/201629476VC++: 99. 서로 다른 프로세스에서 WM_DROPFILES 메시지를 전송하는 방법파일 다운로드1
11037정성태9/8/201632679.NET Framework: 603. socket - shutdown 호출이 필요한 사례파일 다운로드1
11036정성태8/29/201627726개발 환경 구성: 297. 소스 코드가 없는 닷넷 어셈블리를 디버깅할 때 지역 변숫값을 확인하는 방법
11035정성태8/29/201623552오류 유형: 354. .NET Reflector - PDB 생성 화면에서 "Clear Store"를 하면 "Index and length must refer to a location within the string" 예외 발생
11034정성태8/25/201627602개발 환경 구성: 296. .NET Core 프로젝트를 NuGet Gallery에 배포하는 방법 [2]
11033정성태8/24/201625715오류 유형: 353. coreclr 빌드 시 error C3249: illegal statement or sub-expression for 'constexpr' function
11032정성태8/23/201624887개발 환경 구성: 295. 최신의 Visual C++ 컴파일러 도구를 사용하는 방법 [1]
11031정성태8/23/201620561오류 유형: 352. Error encountered while pushing to the remote repository: Response status code does not indicate success: 403 (Forbidden).
11030정성태8/23/201624654VS.NET IDE: 111. Team Explorer - 추가한 Git Remote 저장소가 Branch에 보이지 않는 경우
11029정성태8/18/201632302.NET Framework: 602. Process.Start의 cmd.exe에서 stdin만 redirect 하는 방법 [1]파일 다운로드1
11028정성태8/15/201624007오류 유형: 351. Octave 설치 시 JRE 경로 문제
11027정성태8/15/201626528.NET Framework: 601. ElementHost 컨트롤의 메모리 누수 현상
11026정성태8/13/201627735Math: 19. 행렬 연산으로 본 해밍코드
11025정성태8/12/201627339개발 환경 구성: 294. .NET Core 프로젝트에서 "Copy to Output Directory" 처리 [1]
11024정성태8/12/201625744오류 유형: 350. "nProtect GameMon" 실행 중에는 Visual Studio 디버깅이 안됩니다! [1]
11023정성태8/10/201627426개발 환경 구성: 293. Azure 구독 후 PaaS 서비스 만들어 보기
11022정성태8/10/201627891개발 환경 구성: 292. Azure Cloud Service 배포시 사용자 정의 작업을 추가하는 방법
11021정성태8/10/201625270오류 유형: 349. System.Runtime.Remoting.RemotingException - Type '..., ..., Version=..., Culture=neutral, PublicKeyToken=null' is not registered for activation [2]
11020정성태8/10/201628210VC++: 98. 원본과 대상 버퍼가 같은 경우 memcpy, wmemcpy 주의점
11019정성태8/10/201645051기타: 60. 도서: 시작하세요! C# 6.0 프로그래밍: 기본 문법부터 실전 예제까지 (2쇄 정오표)
11018정성태8/9/201628854.NET Framework: 600. 단일 메서드 내에서의 할당으로 알아보는 자바와 닷넷의 GC 차이점 [1]
11017정성태8/9/201629647웹: 33. HTTP 쿠키에 한글 값을 설정하는 방법
11016정성태8/7/201628008개발 환경 구성: 291. Windows Server Containers 소개
... 106  107  108  109  110  111  112  113  114  115  116  117  118  [119]  120  ...