윈도우10(Windows 10)에서 WSL2설정 후 우분투(Ubuntu) 20.04를 설치하였습니다. 윈도우10에서 우분투를 설치했으니 어디에 활용을 해볼까 고민하던 찰나, 아래의 2개의 글을 보게 됩니다.

이 글을 보고, WSL2에서 GPU도 지원되는데, 설마 리브레오피스(LibreOffice) 실행도 당연히 지원 하겠지? 란 생각으로
WSL2환경에 설치한 우분투(Ubuntu) 20.04에 리브레오피스 빌드 및 실행을 해보았습니다. (결국 실행은 되더군요)

WSL2의 우분투(Ubuntu) 20.04에 리브레오피스(LibreOffice)를 빌드 하는 내용은 아래의 내용을 참조하였습니다.
Building LibreOffice on Linux and *BSD systems: Tips and Tricks

일단 리브레오피스(libreoffice)에 의존성을 가진 패키지 모두 설치를 아래의 명령어로 해보았습니다.

$ sudo apt build-dep libreoffice

의존성 있는 패키지 모두 설치후, 리브레오피스(LibreOffice)저장소를 복제합니다.

$ git clone https://gerrit.libreoffice.org/core libreoffice

libreoffice 디렉토리에 복제를 하였으면. libreoffice디렉토리로 이동합니다.

$ cd libreoffice

libreoffice디렉토리로 이동하였으면 아래와 같이 빌드환경 설정을 해주는 스크립트를 아래와 같은 명령어로 실행하였습니다.

./autogen.sh --with-locales="ko" --with-vendor="me" --disable-werror --with-build-version="Built by me" --with-lang="ko" --enable-dbgutil

빌드 실행시 아래와 같이 오류가 나오면 libkrb5-dev 패키지를 설치햅니다

checking for library containing krb5_sendauth... no
configure: error: could not find function 'krb5_sendauth' required for Kerberos 5
Error running configure at ./autogen.sh line 299.

libkrb5-dev 패키지는 아래와 같은 명령어로 설치합니다.

$ sudo apt install libkrb5-dev

설치후, 다시 빌드 환경 스크립트 autogen.sh를 실행해줍니다.

****************************************************************************

To build, run:
/usr/bin/make

To view some help, run:
/usr/bin/make help

After the build has finished successfully, you can immediately run what you built using the command:
instdir/program/soffice

If you want to run the smoketest, run:
/usr/bin/make check

*************************************
* WARNING : no suitable nasm (Netwide Assembler) found for internal libjpeg-turbo

빌드 환경이 구성되었으면 make로 빌드를 해줍니다.

빌드는 2013년도에 생산된 i5 듀얼코어 4세대 하스웰+램16GB이면 아마 반나절 정도 오랫동안 걸릴겁니다. 자기전에 빌드하고 컴퓨터를 켜보면 빌드가 되었을겁니다.

빌드가 완료되면 아래와 같은 화면이 뜹니다.

[CMP] sw/util/sw
[DEP] LNK:Library/libswuilo.so
[LNK] Library/libswuilo.so
[DEP] LNK:Library/libvbaswobjlo.so
[LNK] Library/libvbaswobjlo.so
[CMP] sw/util/vbaswobj
[DEP] LNK:Library/libmswordlo.so
[LNK] Library/libmswordlo.so
[DEP] LNK:Library/libsclo.so
[LNK] Library/libsclo.so
[CMP] sw/util/msword
[BIN] sw
[MOD] sw
[CMP] sc/util/sc
[DEP] LNK:Library/libvbaobjlo.so
[LNK] Library/libvbaobjlo.so
[DEP] LNK:Library/libscuilo.so
[LNK] Library/libscuilo.so
[DEP] LNK:Library/libscfiltlo.so
[LNK] Library/libscfiltlo.so
[CMP] sc/util/vbaobj
[CMP] sc/util/scfilt
[RDB] services
[BIN] sc
[MOD] sc
[BIN] postprocess
[GAL] backgrounds
[GAL] sounds
[MOD] postprocess
[ULF] /home/dhsung/libreoffice/workdir/Gallery/sounds/sounds.ulf
[STR] sounds/sounds
[PKG] Gallery/sounds
[ULF] /home/dhsung/libreoffice/workdir/Gallery/backgrounds/backgrounds.ulf
[STR] backgrounds/backgrounds
[PKG] Gallery/backgrounds
[BIN] extras
[MOD] extras
[MOD] libreoffice
[BIN] top level modules: libreoffice
[ALL] top level modules: build-non-l10n-only build-l10n-only

진짜 빌드가 끝났습니다. 그럼 실행을 해볼까요?

빌드한 리브레오피스(LibreOffice(를 실행하려면 아래와 같이 실행해줍니다.

$ ./instdir/program/soffice

WSL2의 Ubuntu+Xming으로 리브레오피스 화면을 띄어보니 진짜 리브레오피스가 빌드 및 실행됨을 확인하였습니다!!!

그러나, 옵션에서 한국어 설정한 후 다시 실행해보니 아직 한글이 뜨지 않고 깨져나옵니다. 그건 한글 글꼴이 나오도록 설정을 하지 않았기 때문이죠. (확인해보니 WSL2에 Ubuntu 20.04설치하면 기본 로케일 설정이 'C.UTF-8'입니다.)

아래는 WSL2에 설치한 Ubuntu 20.04 배포판의 기본 로케일 설정확인 명령입니다.

$ 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이라니... @.@)

윈도우의 WSL2에 설치한 리눅스 배포판에서 리브레오피스(Linux)를 실행하여 한글 정상적으로 나오게 하는 부분은 추후에 추가하여 공유를 하겠습니다.

실행 후, 빌드에 대한 옵션이 제대로 들어갔는지 확인해봅니다.

역시, 위에 벤더이름(me)가 잘 들어갔습니다.

상세하게 Build version 설정을 확인해보니 "Built by me"옵션도 제대로 들어갔구요. 그러나 로케일은 우분투(Ubuntu)기본 설치할때 들어가는 C.UTF-8이 들어가는 것이 아쉽더군요.

간단하게 실 사용을 해보겠습니다.

MS사의 워드격인 리브레오피스 라이터(Writer)에서 영어낱말은 잘 작성되는데, WSL2의 내부 Xwindow글꼴 설정에 한국어 설정한 것이 없으니 한글이 깨져나옵니다. WSL2의 기능에서 배포판에서 사용자 언어에 맞게 설정이 안되고, Xwindow설정에서도 당연히 사용자 언어에 맞게 설정되지 않은 문제라보니 이건 아쉽군요.

WSL2의 우분투(Ubuntu)에서 실제로 리브레오피스(LibreOffice)를 빌드 및 실행을 해보았습니다. 실행후 가볍게 사용해보니 불안정한 문제는 없고 리눅스위에 실행한 것과 동일한 경험을 제공하였습니다. 다만 "한글"이 나오지 않은건 "한국어" 글꼴 렌더링 설정이 안되어서 입니다. 뭐 기본 로케일이 C.UTF-8이니 Xwindow설정에 한글 글꼴 관련 렌더링이 없어 한글 당연히 깨집니다.

MS사의 리눅스(Linux)지원 행보를 보면, 예전과 다르게 오픈소스 친화적으로 변하면서 여러 리눅스에서 돌아가는 응용프로그램을 윈도우에서 실 사용할수 있게 지원함을 알수 있습니다.

여기서 좀 더 확장해가면 MS사가 윈도우 자체 기술은 가지되, 실제 커널 부분을 리눅스(Linux)로 옮겨서 리눅스용 응용프로그램을 품지 않을까란 생각이 들긴 하더군요. (이건 저의 뇌내 망상이라 흘려 들으시기 바랍니다)

앞으로 WSL2가 발전되어 윈도우 언어에 맞게 리눅스 설정이 자동으로 되면 리눅스 개발도 윈도우에서 하는 재미있는 상황이 생기지 않을까란 생각을 해봅니다.

WSL2에 GPU지원한다길래, WSL2에서 리브레오피스(LibreOffice)를 실행할수 있을까에 대한 궁금증으로 시작한 주말의 삽질기는 여기까지입니다.

실제 사용이 가능한지는, 제가 직장인이라 윈도우를 집에서 항상 쓸일이 없어서, 다음 주말에 실행해봐야겠군요. (당연 Xwindow에 한글 글꼴 설정 및 입력 관련으로 삽질을 해봐야 할것 같구요.) ㅎㅎ

제가 2011년 이후부터 주로 Mac OSX와 openSUSE 랩탑 2개로 집에서 작업하다보니, 집에서 윈도우를 네이티브(Native)로 실사용을 거의 오랜만(9~10년)에 해보았습니다. :)

button.like.co/studioego

 

Like DaeHyun Sung's work

Reward Creativity, powered by LikeCoin

button.like.co

www.buymeacoffee.com/dhsung

 

DaeHyun Sung is Free/Libre Open source contributor such as LibreOffice, KDE, GNOME,etc

Hey 👋 I just created a page here. You can now buy me a coffee!I’m Korean Open Source Contributor & Developer, such as LibreOffice, KDE, GNOME, etc.My hobby is Learning...

www.buymeacoffee.com

 

Buy me a coffeeBuy me a coffee

이번 2020년 NIPA에서 진행하는 컨트리뷰톤LibreOffice 한국어 사용성 향상 및 공헌자 양성 프로젝트 멘토링을 위해서, Windows 빌드를 어떻게 할까 고민을 하였습니다.

고민 끝에, 이전에 새로 분양을 받은 HP 랩탑을 Windows를 쓰는 걸로 결론을 내렸습니다.

그래서, 새로 받은 HP 랩탑에 Windows 10설정을 하였고 이제 리브레오피스(LibreOffice)를 빌드하도록 진행을 하였습니다.

저는 여태껏 리눅스(Linux)와 맥OSX(Mac OSX)에서만 리브레오피스(LibreOffice)빌드를 하였습니다.
주로 리눅스와 맥을 사용하는 사람이라 보니, 윈도우(Windows)에서 리브레오피스 빌드는 아주 생소하게 느껴집니다.

(저, 참고로 첫직장에서 사회생활할때 SI용역으로 MFC 어플리케이션 개발하고, Windows API로 삽질하고, C#, ASP.NET으로 밥벌이한 사람입니다. 그때 Python으로도 개발을 해보고 Java로도 개발을 해보고... 오픈소스 활동한다고 해도 닥치는대로 개발해보는 잡부인생은 사회생활 첫시작부터 ㅎㅎ )

각설하고, 문서재단(The Document Foundation)의 Building LibreOffice on Windows with Cygwin and MSVC: Tips and Tricks 를 보고 리브레오피스(LibreOffice)빌드를 따라해보았습니다.

문서 읽고, 우선 제일 먼저 해야할일

  • MS사의 Visual Studio 2019 설치 (이 글을 쓰는 당시에 최신이 Visual Studio 2019)
  • 빌드를 위한 Windows 10 SDK 설치하기
  • Visual Studio와 Windows 10 SDK 설치후, Visual Studio 언어설정을 무조건 영어(English)로 설정하기
  • 자바(Java)를 빌드할 openJDK버전 설치 AdoptOpenJDK 설치함
  • Cygwin 설치 및 빌드 툴 설치

위의 4가지만 하면 그래도 큰 난관은 돌파합니다.

Linux환경을 모른다면 Cygwin에서 빌드하는건 정말 엄청 어려울듯한?

실제로 윈도우(Windows)환경에서 리브레오피스(LibreOffice)를 빌드해보니, 엄청난 시행착오를 겪어보며, 구글링(Googling)과 IRC문의로 문제를 해결하였습니다.

Cygwin에서 빌드 스크립트 (Visual Studio 2019의 컴파일로로 빌드하도록 설정하였습니다.

 /cygdrive/c/sources/libo-core/autogen.sh \
               --with-external-tar=/cygdrive/c/sources/lo-externalsrc \
               --with-junit=/cygdrive/c/sources/junit-4.10.jar \
               --with-ant-home=/cygdrive/c/sources/apache-ant-1.9.5 \
               --enable-pch --disable-ccache \
               --with-locales=ko -
               -with-vendor=me \
               --with-lang=ko \
               --enable-dbgutil \
                --disable-skia \
               --with-jdk-home="/cygdrive/c/Program Files/AdoptOpenJDK/jdk-14.0.1.7-openj9/" \
               --enable-64-bit \
               --with-visual-studio=2019 \
               --disable-odk

빌드 중 에러, Skia는 Clang(llvm)이 필요하나 현재 cygwin에서 설치를 했으나 인식을 못하는듯
그래서 빌드시 skia 미지원으로 빌드하도록 변경

checking whether to build Skia... yes checking for clang-cl... no configure: error: Clang compiler not found. The Skia library needs to be built using Clang. Error running configure at /cygdrive/c/sources/libo-core/autogen.sh line 299.

안티바이러스 끄기를 해야 빌드 설정이 진행되더군요.

cat: 'C:/sources/libo-core/eicar': Permission denied configure: error: Exclude the build and source directories associated with LibreOffice in the following Antivirus software: *Windows Defender Error running configure at /cygdrive/c/sources/libo-core/autogen.sh line 299.
Windows10에서 안티바이러스 끄기는 업데이트 및 보안선택 -> Windows 보안선택 -> 바이러스 및 위협방지 클릭

실시간 감지를 끕니다. 그래야 빌드를 시도할 수 있습니다.

빌드 설정이 끝나면 아래와 같은 메세지를 확인할 수 있습니다.

To build, run:
C:/cygwin64/opt/lo/bin/make

To view some help, run:
C:/cygwin64/opt/lo/bin/make help

이제, 아래의 명령어로 빌드를 진행해봅니다

$ /opt/lo/bin/make clean gb_COLOR=1

이후, 빌드를 하려니 또 오류가 나오더군요.

아래 오류를 보니, 왜 빌드가 안되지 하며 이해가 안되어 머리가 아팠습니다.
msvcprtd.lib(MSVCP100D.dll) : fatal error LNK1112: module machine type 'X86' conflicts with target machine type 'x64'

구글링을 한 결과 아래의 글을 확인하였습니다.

MSVC 2015's broken static initializer_list causing build failure

http://document-foundation-mail-archive.969070.n3.nabble.com/MSVC-2015-s-broken-static-initializer-list-causing-build-failure-td4202928.html

 

Dev - MSVC 2015's broken static initializer_list causing build failure

On Sun, 2017-02-19 at 20:53 +0000, Luke Benes wrote: > config_host.mk: > export UCRTSDKDIR=C:/PROGRA~2/WI3CF2~1/10/ > export UCRTVERSION=10.0.10240.0 > > Looking at the creation date of that folder, it matches the creation >  date of C:\Program Files (x86

document-foundation-mail-archive.969070.n3.nabble.com

확인 결과, Windows10 OS에 Visual Studio 2019 설치 및 cygwin으로 빌드 설정만 하였지, 정작 빌드를 위한 Windows 10 SDK 가 설치가 되지 않아 생기던 버그더군요.

아래 링크로 Windows 10 SDK를 설치합니다

https://developer.microsoft.com/ko-kr/windows/downloads/windows-10-sdk/

 

Windows 10 SDK - Windows 앱 개발

Windows 10 SDK Windows 10, 버전 2004용 Windows 10 SDK(10.0.19041.0)는 Windows 10 앱을 빌드하는 데 필요한 최신 헤더, 라이브러리, 메타데이터 및 도구를 제공합니다. 이 SDK를 사용하여 Windows 10, 버전 2004 및 이�

developer.microsoft.com

설치가 완료되면 이제 제대로 빌드가 진행됩니다.

리브레오피스(LibreOffice)빌드하는데 꽤 시간 걸리니, 자기전에 돌리는 것이 속이 편합니다.

만약에, Visual Studio와 Windows 10 SDK 설치후, Visual Studio 언어설정을 무조건 영어(English)로 설정하기를 하지 않으면 nss 라이브러리 컴파일하다 오류가 납니다.

만약, cl.exe를 실행하여 한글이 나온다고 하면

C:\Users\****>"C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.26.28801/bin/Hostx64/x64/cl.exe"
Microsoft (R) C/C++ 최적화 컴파일러 버전 19.26.28806(x64)
Copyright (c) Microsoft Corporation. All rights reserved.

사용법: cl [ option... ] filename... [ /link linkoption... ]

다음과 같이, Visual Studio의 언어설정을 영어(English)로 바꿔서, cl.exe가 영어로 나오도록 변경 한후에 LibreOffice빌드를 해야합니다. 

C:\Users\****>"C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.26.28801/bin/Hostx64/x64/cl.exe"
Microsoft (R) C/C++ Optimizing Compiler Version 19.26.28806 for x64
Copyright (C) Microsoft Corporation.  All rights reserved.

usage: cl [ option... ] filename... [ /link linkoption... ]

 

참고로, Visual Studio의 언어설정을 영어(English)로 바꾸려면, Visual Studio Installer를 실행 후 "영어"언어팩을 설치해야합니다.

아래는 러시아어(Russian Language)에서 Visual Studio 언어팩 설정 화면입니다.

https://imgur.com/PnNB7Li

 

Imgur

 

imgur.com

 

위의 빌드 오류 이슈에 대해서 LibreOffice의 #libreoffice-dev채널에서 아래의 링크를 이용하여 문의를 하였습니다.

Friday, June 12th, 2020
Hello 12:30 AM I have a question for windows build. 12:31 AM Now, I build LibreOffice on Windows. After setting building environment (Cygwin). During building, It shows error message 12:31 AM [coreconf/rules.mk:44: lib] Error 2 12:31 AM out\nssutil3.lib □□□̺귯□□ □□ out\nssutil3.exp 12:32 AM [C:/sources/libo-core/external/nss/ExternalProject_nss.mk:21: C:/build/workdir/ExternalProject/nss/build] Error 1
mst___: please use pastebin

dhsung: https://pastebin.com/7s2GXkxL
https://pastebin.com/7s2GXkxL

 

[Bash] LibreOffice build error on Windows & Cygwin - Pastebin.com

Not a member of Pastebin yet? Sign Up, it unlocks many cool features! /cygdrive/c/build $   /cygdrive/c/sources/libo-core/autogen.sh --with-external-tar=/cygdrive/c/sources/lo-externalsrc  --with-junit=/cygdrive/c/sources/junit-4.10.jar  --with-ant-home

pastebin.com

mst___: it looks like when building nss, /FS parameter is missing in the command line for pkix_pl_pk11certstore.c
dhsung: Hmm, How to add the /FS parameter at autogen.sh?
mst___: can you pastebin the command line that invokes cl.exe on pkix_pl_pk11certstore.c ?
https://pastebin.com/nSx0sKkw

 

[Bash] LibreOffice compile error msg about nss build - Pastebin.com

 

pastebin.com

mst___: ah... probably the cause is the syntax error in /usr/bin/sh: -c: line 0: `expr Microsoft(R) \> 1600 \| Microsoft(R) = 1600 \& C/C++ \>= 40219'

dhsung: hmm, I checked the env, It shows LANG=ko_KR.UTF-8@cjknarrow

mikekaganski: out of interest: what does 'C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.26.28801/bin/Hostx64/x64/cl.exe' output for you in the console? 1:21 AM you might want to file a bug against NSS with that information ;-) 1:21 AM — mikekaganski used his path to cl.exe, naturally dhsung_ might need to adjust

cl.exe (Korean)

https://pastebin.com/XNRVYfiy

 

cl.exe (Korean version) - Pastebin.com

Not a member of Pastebin yet? Sign Up, it unlocks many cool features! C:\Users\dhsung>"C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.26.28801/bin/Hostx64/x64/cl.exe" Microsoft (R) C/C++ 최적화 컴파일러 버전 19.26.2

pastebin.com

— mikekaganski has "Microsoft (R) C/C++ Optimizing Compiler Version 19.26.28806 for x64" in the first line
mikekaganski: anyway, I'd suggest you to re-run VS installer, and only select en-US UI 1:42 AM no need to reinstall 1:42 AM just run its installer and modify install set 1:44 AM dhsung_: https://imgur.com/PnNB7Li
https://imgur.com/PnNB7Li

 

Imgur

 

imgur.com

참고: nss library

https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS/Building

 

Building NSS

This page has detailed information on how to build NSS. Because NSS is a cross-platform library that builds on many different platforms and has many options, it may be complex to build. Please read these instructions carefully before attempting to build.

developer.mozilla.org

리브레오피스에서 윈도우(Windows)환경의 Visual Studio 2019에서 빌드 하기 

https://wiki.documentfoundation.org/Development/BuildingOnWindows#Visual_Studio_2019

 

Building LibreOffice on Windows with Cygwin and MSVC: Tips and Tricks - The Document Foundation Wiki

Build dependencies Before you can start hacking LibreOffice on Windows, you need to follow these instructions to set up a build environment. Do also read our generic building hints. Install Visual Studio You need the Microsoft compiler/development suite Vi

wiki.documentfoundation.org

아래 영어에 적힌 내용처럼, cygwin 쉘에서는 인코딩 집합과 맞지 않아 빌드 오류인 경우가 많으니, 리브레오피스를 윈도우환경의 cygwin에서 빌드시, Visual Studio설정을 영어로 된 UI로 설정을 해야 한다고 나와 있습니다.
Note: Visual Studio command-line tools use system OEM codepage to output messages to console, when corresponding UI language is installed as part of Visual Studio installation. The OEM codepage on Windows depends on system locale defined using "Language for non-Unicode programs" in intl.cpl applet (description of the setting), and is often incompatible with encoding set in cygwin shell (typically UTF-8). This garbles the output from the tools in the build log. You might want to make sure that you only install English UI when installing Visual Studio to avoid that problem.

빌드가 완료되면 아래와 같은 메세지가 뜹니다.

[RDB] services
[BIN] sc
[MOD] sc
[BIN] postprocess
[GAL] backgrounds
[GAL] sounds
[MOD] postprocess
[ULF] C:/build/workdir/Gallery/sounds/sounds.ulf
[STR] sounds/sounds
[PKG] Gallery/sounds
[ULF] C:/build/workdir/Gallery/backgrounds/backgrounds.ulf
[STR] backgrounds/backgrounds
[PKG] Gallery/backgrounds
[BIN] extras
[MOD] extras
[MOD] libreoffice
[BIN] top level modules: libreoffice
[ALL] top level modules: build-non-l10n-only build-l10n-only

리브레오피스(LibreOffice) 윈도우 빌드가 완료되었으니 실행을 해봐야겠지요?

아래의 명령어로 실행을 해봅니다!

$ ./instdir/program/soffice.exe

리브레오피스(LibreOffice) 실행을 하면 아래와 같은 시작 스플레쉬(Splash) 화면이 나오면서 프로그램이 로딩됩니다.

리브레오피스(LibreOffice) 로딩이 되며 시작 스플레시가 꺼지면 다음과 같이 시작화면이 나옵니다.

리브레오피스(LibreOffice)의 정보를 확인하면 아래와 같이 나타납니다.

그리고, 한글(HWP)와 MS워드 격인 리브레오피스(LibreOffice)의 라이터(Writer)를 실행해보았습니다.

글이 제대로 써지는지 확인하였습니다.

엄청난 시행착오를 겪은 후에, 결국은 빌드 및 실행을 해보았습니다.

이제부터, 소프트웨어 번역(飜譯, Translation)와 Wiki 번역 (飜譯, Translation)을 해봐야겠습니다.

Buy me a coffeeBuy me a coffee

MS Windows에서 Visual Studio(비주얼 스튜디오)로 리브레오피스(LibreOffice) 개발하기 동영상

Developing LibreOffice in Visual Studio

https://www.youtube.com/watch?v=Xn3CtIrMpIA

 

Buy me a coffeeBuy me a coffee

이번에 Windows 10에서 공식적으로 WSL2 공개 및 Xwindow를 쉽게 사용할 수 있는 WSL2가 공개되었습니다.

이번 WSL2지원 버전은 Windows 10 Home까지 지원하기때문에 Windows 10 최신 업데이트를 진행하였습니다.

 

만약에, Windows 10 빌드버전이 2004가 나오지 않으면 아래의 링크로 강제 업데이트를 하면 됩니다.

https://www.microsoft.com/ko-kr/software-download/windows10

 

Windows 10 다운로드

Windows 10용 ISO 파일을 다운로드한 경우, 해당 파일은 선택한 위치에 로컬로 저장됩니다.컴퓨터에 타사 DVD 굽기 프로그램이 설치되어 있으며 해당 프로그램을 사용하여 설치 DVD를 만들려는 경우,

www.microsoft.com

 

자, Windows 10 빌드버전 2004로 직접 업데이트 해보았습니다. 

 

다행히, 다른 사람에게 물려받은 2013년도산 HP랩탑은 Windows 10 최신버전 업데이트가 적용가능함을 확인하였습니다.

이제 Windows 10 빌드버전 2004가 적용되었습니다!

설치 완료!

이후, BIOS설정으로 가상화 설정을 하였고, WSL2설치 및 Ubuntu 20.04 LTS를 설치하였습니다

설치는 아래와 같이 진행하였습니다.

docs.microsoft.com/ko-kr/windows/wsl/install-win10

 

Windows 10에 WSL(Linux용 Windows 하위 시스템) 설치

Linux용 Windows 하위 시스템을 Windows 10에 설치하는 방법에 대한 지침입니다.

docs.microsoft.com

설치 후, xming 설치를 하였고, Xwindow 패키지를 설치하여 xeye를 띄워보았습니다.

이제, Windows에서 간단한 Linux개발 및 docker, container, kubernetes 환경설정등 여러가지 작업을 할수 있을 것 같더군요 

참고1. WSL2 소개 영상

WSL2: Code faster on the Windows Subsystem for Linux! | Tabs vs Spaces

www.youtube.com/watch?v=MrZolfGm8Zk

참고2. WSL2 will be generally available in Windows 10, version 2004

devblogs.microsoft.com/commandline/wsl2-will-be-generally-available-in-windows-10-version-2004/

 

WSL2 will be generally available in Windows 10, version 2004 | Windows Command Line

WSL2 will soon be officially available as part of Windows 10, version 2004! As we get ready for general availability, we want to share one additional change: updating how the Linux kernel inside of WSL2 is installed and serviced on your machine.

devblogs.microsoft.com

참고3. What’s new for IT pros in Windows 10, version 2004 

techcommunity.microsoft.com/t5/windows-it-pro-blog/what-s-new-for-it-pros-in-windows-10-version-2004/ba-p/1419764#wsl

 

What’s new for IT pros in Windows 10, version 2004

Windows 10, version 2004, officially known as the Windows 10 May 2020 Update, is now available through Windows Server Update Services (WSUS) and Windows Update for Business, and can be downloaded from Visual Studio Subscriptions, the Software Download Cent

techcommunity.microsoft.com

 

Buy me a coffeeBuy me a coffee

2013년 8월 29일 목요일 늦은 오후.

며칠전에, 맥북프로를 사용하면서 Bootcamp파티션을 실행한 Parallels Desktop를 끄지 않고 모니터로 덮고는 리줌을 여러번 했고, 이후에 며칠 방치하였습니다.

맥북프로 덮개를 열고 나서 다시 부트캠프에 설치된 Windows를 사용하려고 하니...

Bootcamp파티션에 있는 Windows폴더가 날아가는 엄청난 사태가 발생합니다 -_-;;

부트캠프에 설치된 Windows8이 날라가니 황당하더군요.

뭐 Windows에서 사용하던 중요한 파일들은 Dropbox같은 클라우드 서비스에 항상 저장 및 백업하던 습관때문에, Bootcamp파티션이 당장 날아가도 문제가 없었습니다. 


부트캠프에 설치된 Windows에서 사용하던 기능은 아래와 같습니다.

1) "병무청"사이트가 VM(Parallels)위에 작동되는 윈도우에서 로그인 못하게 막아놓아서, 서류 발급받을때마다 부트캠프로 윈도우 부팅후에 병무청 로그인 (Bootcamp에서 윈도우 부팅후 사용)

2) 은행,증권등 금융기관에서 공인인증서로 금융업무를 볼때  (Parallels에서 사용 및 Bootcamp에서 윈도우 부팅후 사용)

3) 국세청 업무볼때  (Bootcamp에서 윈도우 부팅후 사용)

4) Office 실행 (Parallels에서 사용 및 Bootcamp에서 윈도우 부팅후 사용)

5) 동영상 강의 보기(Parallels에서 사용 및 Bootcamp에서 윈도우 부팅후 사용)


아직도 맥에서 한국 인터넷 환경에서 금융결제 및 관공서업무등을 사용하려면 ActiveX때문에, 어쩔수 없이 Windows를 사용해야하더군요. -_-

특정 사이트는 Parallels위에 올라간 윈도우 사용을 막아서 아예 부트캠프로 윈도우 부팅후에야 사용합니다.


몇년간 멀쩡히 Bootcamp에 Windows8 설치하고 맥에서 Parallels를 이용하여 Windows를 쓰다 갑자기 Bootcamp파티션 일부가 날라가니깐 황당하더군요. (이건 제가 패러럴즈 실행하다 바로 덮고를 반복해서란 생각이 들더군요 패러럴즈에서 잘 쓰던 Windows8이 며칠간 리줌 계속한다고 에러가 생긴건지?)

근데 일부러 Bootcamp로 써야할 이유가 "병무청"의 서류발급인데, "병무청"서류발급같은 경우는 당분간 필요가 없으니 (병무청에서 서류발급은 군인 신분 확인하기, 해외여행 신고 같은겁니다.) -_-


어튼, 부트캠프 파티션 삭제하고, 하드디스크 이상있는지 확인했습니다. 하드디스크 이상은 전혀 없었습니다. 참 이상하지요? -_- 


결국엔 주말내내 Parallels에서 예전에 부트캠프에서  Windows8 설치하던것 대신 부트캠프 파티션을 나누지 않고, 그대로 Windows7을 설치했습니다.

Windows8을 쓰다 Windows7을 쓰니, 뭐 맥북프로가 뭐 잘 견디네요. Windows8을 사용했을 시절엔 맥북프로의 팬이 엄청 돌면서 느릿느릿하게 돌아갔었는데, 역시나 Windows8이 메트로 UI이 뭐니로 Windows7보다 무거운건 사실.


근데 공공기관 사이트들 중에 "병무청"의 경우는 VM(Parallels)위에 Windows실행한 상태에서 로그인 하려면 로그인 자체를 막던데, 이럴경우엔 병무청 서류발급이 어려워지는 문제가 발생합니다.

이건 Bootcamp 파티션 만든후에 Windows XP설치하고는 XP상에서 병무청 서류 발급를 해야할듯 합니다 ㅠㅠ.


ps. 회사에서 맥북에어로 부트캠프 파티션 안나누고 Parallels로 윈도우7 띄우고 쓰는 것 같이 집의 맥북프로도 똑같이 쓰니깐 회사에서 업무보는 환경과 똑같이 설정되더군요.

ps2. Windows를 쓸수 있는 세컨 노트북이 필요하다고 느껴지군요. 맥북프로에서 VM으로 Windows를 띄우는건  뭔가 부족해요. (그건 제 맥북프로 사양이 조금 노후화된게 -_-;;)

Buy me a coffeeBuy me a coffee

요즘 작업하는데 Windows 기반으로 프로그래밍을 하게 되덥니다.
Linux 또는 BSD기반으로 웹 프로그래밍 또는 시스템 프로그래밍을 하기엔 그리고 아이폰 및 아이패드용 어플과 안드로이드 기반 어플 개발할때엔 순정 맥북프로가 좋지만 Windows 기반 프로그래밍을 하려면 어쩔 수 없이 Windows 을 설치해서 사용해야되더군요. ㅠㅠ

제 맥북프로(MacBook Pro)는 부트캠프(BootCamp)를 이용하여 Windows 7를 설치하였습니다.

내가 M$사의 노예가 되다니... OTL
Buy me a coffeeBuy me a coffee

출처: http://ie6countdown.com/ 


세계 각국의 Internet Explorer 6 점유율 지도입니다.

2011년 2월 28일자 통계수치를 이용하여 표시한 지도입니다.

지도를 보니 2001년도 8월달에 나온 Internet Explorer 6를 중국과 한국등 동아시아권에서 많이 사용한다는 걸 알 수 있습니다.

아직도 Internet Explorer 6를 고수하는 건 뭘까요? ActiveX때문 아님 불법복제로 일부로 익스플로러를 업그레이드를 못하는 경우일지도? (XP SP2로 업그레이드 하기 전까진 XP SP1이하 사용자들은 IE7을 설치할 수 없습니다.)

프랑스와 독일은 보안 취약점이 있는 Internet Explorer 때문에 자국민들에게 인터넷 익스플로러 사용을 자제하라고 권고한 바 있었고, 구글은 G메일과 구글 독스(Docs), 캘린더 등 자사 서비스가 2010년 3월 1일부터 IE 6에 대한 지원을 중단하였습니다. 이유는 IE 6가 웹표준을 지키지 않는데다 보안이 취약하다는 것이지요. 

구글이 아예 IE 6에 대한 지원중단을 한 직접적인 계기는 중국에서 벌여진 구글 중국지사에서의 지메일 해킹 사건 때문입니다. 해킹을 당한 컴퓨터가 Internet Explorer 6이 깔려 있었기 때문이라고 합니다.(보안이 철저한 구글에서도 이 사건을 계기로 직원들에게 Windows 사용 금지령이 떨어졌으며 업무용 컴퓨터를 지급해도 Linux 또는 맥 중 하나를 선택하라고 하지요)  

출처: Google ditches Windows on security concerns 

구글에서는  “최근 중국으로부터 브라우저의 취약점을 파고든 정교한 사이버 공격으로 문제가 발생했고 향후 비슷한 사건의 방지를 위해서도 사용자들이 브라우저를 업그레이드할 것을 권장한다”고 밝혔습니다.

구글은 인터넷 익스플로러7 버전 이상, 파이어폭스 3.0 이상, 구글 크롬 4.0 이상, 애플 사파리 3.0 이상의 브라우저를 사용해 줄 것을 당부했었지요.

이렇다 보니 외국에선 IE6를 많이 사용하지 않습니다. 주로 쓰는 동네는 위의 지도에서 보듯 불법복제가 만연하며, ActiveX 기술을 흔하게 쓰는 중국, 한국등 동아시아 국가들...



Buy me a coffeeBuy me a coffee

출처: http://dri.sourceforge.net/doc/dri_control_flow.html


보통의 Linux에서 GUI를 구성하는 X Window의 어플들이 모니터 화면으로 보여주는 지(Rendering)에 대한 구조도입니다.

아래 그림에선 XFree86기준으로 설명하였지만 X-org도 비슷한 구성을 합니다.


This low level diagram provide details not shown in the overview diagram.


자세한 설명은  http://dri.sourceforge.net/doc/dri_control_flow.html

그래픽 데이터가 하드웨어로 보내는 과정을 간략히 설명한 구조도 
Buy me a coffeeBuy me a coffee

Ubuntu 10.04를 쓰고 있다 외부 서버의 Xwindow를 봐야할 때가 있습니다.

그렇지만 보안상의 이유로 외부 서버의 Xserver접속을 차단해서 원격으로 Xwindow를 못보는 경우가 있습니다.

이 경우엔 아래와 같이 작업을 해주면 됩니다.


맨 처음 Xserver의 TCP 옵션에서 -nolisten으로 지정되어 있는지 확인을 해야합니다.

studioego@studioego-laptop:~$ ps -elf | grep X

4 S root       987   857  4  80   0 - 13318 poll_s Sep21 tty7     00:08:11 /usr/bin/X :0 -nr -verbose -auth /var/run/gdm/auth-for-gdm-pojawd/database -nolisten tcp vt7

studioego@studioego-laptop:~$ 


여기서 -nolistern option을 제거를 해야 외부 서버의 Xwindow 데이터를 받을수 있습니다.


맨 처음 

/etc/gdm/gdm.conf.dpkg-bak

에서 DisallowTCP=true --> true를 false로 바꿉니다.


DisallowTCP=false

로 변경

/etc/X11/xinit/xserverrc 

xserverrc 파일을 수정합니다.

#!/bin/sh

exec /usr/bin/X -nolisten tcp "$@"

-nolisten tcp 부분을 삭제합니다,

exec /usr/bin/X  "$@"

위와 같이 변경하시면 됩니다.


그 후 X server를 재시작을 합니다.


이후 Terminal에 접속할 IP주소를 control list에 추가를 해주시면 됩니다.

studioego@studioego-laptop:~$ xhost 127.0.0.1


이후엔 터미널에서 ssh접속을 한 후 Xwindow 응용 프로그램을 실행하면 원격 실행이 됩니다.

ssh -Y -l 접속할계정명 접속할서버 

접속할계정명@접속할서버's password: 

[studioego@localhost ~]$ xeye &


아래와 같이 실행이 됩니다.


Buy me a coffeeBuy me a coffee



우리은행 오픈뱅킹


우리은행에서 국내 최초 멀티 OS, 멀티 웹브라우저 오픈뱅킹 출시를 하였다고 합니다.


- 매킨토시와 리눅스에서도 인터넷뱅킹이 가능한 -
우리은행,『우리오픈뱅킹』서비스 실시
- 국내 금융기관 최초로 멀티 운영체제 및 웹브라우저를 지원하는 인터넷뱅킹 서비스
  - OTP발생기 사용 의무화와 가상키보드 도입 등으로 인터넷뱅킹 보안 더욱 강화시켜 
  - 주요 서비스 이미지를 최소화한 텍스트 뱅킹서비스 구현으로 빠른 서비스 제공

우리은행에서 선보이는 우리 오픈 뱅킹은 아래와 같이 OS에 종속되지도 않고, 멀티 OS지원, 멀티 웹 브라우저를 지원한다고 합니다.

  1. W3C인증을 획득한 웹표준 인터넷뱅킹입니다.
  2. 윈도/맥/리눅스 환경에서 IE/Safari/Firefox/Chrome/Opera 등 다양한 웹브라우저를 지원합니다.
  3. 텍스트 기반이라 빠르며, 주요 화면 키보드 단축키 적용으로 편리한 이동이 가능합니다.
  4. 이체 거래시 OTP발생기 필수사용으로 보안이 더욱 강화되었습니다.

참고로 OTP가 있어야 인터넷 뱅킹이 가능합니다. 대한민국에서 SSL기반의 뱅킹이라는건 혁명입니다.


우리은행 직원분이 클리앙에서 우리은행 오픈뱅킹(웹표준) 7월 9일 출시 에 사람들이 궁금해하는 내용을 아래와 같이 정리를 하였습니다.

1. 오픈뱅킹은 100% 웹 기반으로, 사용하시는 웹브라우저로 접속하시면 됩니다.
2. 공인인증서 사용을 원치 않으실 경우 아이디/패스워드로 로그인 후 조회는 가능하나 이체가 불가능합니다. ㅠㅠ
3. 현재 법규상 '접속 시 우선적으로 방화벽, 키보드 보안 프로그램 등을 설치'하도록 되어 있습니다.

4. 보안 프로그램 사용을 원치 않으시는 경우 간단히 해제 및 삭제하실 수 있습니다.
5. 스마트폰에서의 직접 접속은 앞서 말씀드린 '보안 프로그램 우선 설치' 때문에 아직 논의 중입니다.


Windows에서 IE의 ActiveX기술을 이용한 공인인증서와 nProtect를 꼭 사용해야하는 인터넷 뱅킹이 아닌 외국처럼 어느 플랫폼에서 어느 웹브라우저를 쓰든 SSL+OTP로 인터넷 뱅킹을 할수 있게 되었습니다^^

Windows XP + Ubuntu 10.04 (Linux)에서 주로 Firefox와 Chrome을 쓰고 있는 저로서는 정말 반가운 소식입니다.

이제 은행 업무를 하기 위해 Ubuntu에 virtual box에 Windows XP를 까는 일을 하지 않아도 되겠군요.


ps. 스마트폰(hTC Desire)용 모바일 뱅킹때문에 하나은행으로 쭉 썼는데, Ubuntu를 쓰고 있는 저로선 우리은행으로 주거래 은행을 바꿔야할지 고민입니다.^^ 

ps2. 당장 우리은행에 가서 OTP발급을 받아야되겠습니다^^

Buy me a coffeeBuy me a coffee

+ Recent posts