Windows 10에 WSL2를 설치하고 난 후, 리브레오피스의 소프트웨어 번역을 어떻게 설명을 할까 난관에 빠지게 됩니다.

그냥, "CAT(Computer Aided Translation)도구인 weblate에 번역하세요 하면 성의가 없어 보일것 같이 보여서, 원리에 대하여는 GNU Hello 프로젝트의 예를 들어서 이야기할 예정입니다.

GNU Hello는 hello라고 터미널에서 입력하면 문자열로 영어 설정으로는 Hello, World!, 한국어 설정으로는 안녕하세요, 여러분!을 출력해주는 프로그램입니다.

아래는 GNU Hello 홈페이지 링크입니다.

GNU Hello Project - https://www.gnu.org/software/hello/

여기서 WSL2으로 우분투Ubuntu를 사용해보겠습니다 (저는 개인적으로 오픈수세openSUSE를 사용하지만, 많은 한국의 리눅스 사용자들은 우분투Ubuntu를 사용하니, 많은 이들이 리눅스에서 테스트할 수 있게 우분투 기준으로 설명합니다.)

일단, Ubuntu에서 GNU Hello를 설치해봅니다

$ sudo apt -y install hello

설치가 완료되면, GNU Hello를 실행해봅시다.

$ hello
Hello, world!

여기서, WSL2를 최초로 설치하면 기본이 영어로 되어 있습니다.
동아시아(CJK) 문자가 출력된 번역된 문장을 보려면, 언어팩을 설치해야합니다.

참고, 우분투(Ubuntu) 언어 팩 목록

  • 한국어 언어 팩 language-pack-ko
  • 일본어 언어 팩 language-pack-ja
  • 중국어(간체) 언어팩 language-pack-zh-hans
  • 중국어(번체) 언어팩 language-pack-zh-hant
$ sudo apt -y install language-pack-ko language-pack-ja language-pack-zh-hans language-pack-zh-hant

우분투 및 오픈수세 등 리눅스 배포판에서 언어 설정 패키지를 설치후, 터미널에서 언어 별 환경설정을 하고 실행하면 다음과 같이 나옵니다.

$ LANG=en_US.UTF-8 hello
Hello, world!
$ LANG=ko_KR.UTF-8 hello
안녕하세요, 여러분!
$ LANG=ja_JP.UTF-8 hello
こんにちは、世界!
$ LANG=zh_CN.UTF-8 hello
世界你好!
$ LANG=zh_TW.UTF-8 hello
哈囉,大家好!

자유오픈소스 소프트웨어(FLOSS)의 번역은 po파일의 번역(飜譯, Translation)입니다.

GNU의 gettext 라이브러리를 이용하여 po파일에 들어간 번역문을 출력하는 것입니다.

GNU프로젝트의 하나인 hello는 로케일(Locale)설정에 따라서 로케일에 맞는 po파일 내용을 출력하는 것입니다.

그래서, KDE, GNOME, 리브레오피스등 소프트웨어의 번역은 po파일 내용을 번역하여 보여주는 것이라고 보면 됩니다.

상세한 내용은 아래의 슬라이드쉐어 링크 참조하면 됩니다.

오픈소스 번역 기여하기 v3

https://www.slideshare.net/changwoo/v3-114830838

 

오픈소스 번역 기여하기 v3

오픈소스 번역 기여하기 그놈 3.30 번역 모임 류창우 <cwryu@debian.org></cwryu@debian.org>

www.slideshare.net

 

Buy me a coffeeBuy me a coffee

제가 사용하는 2011년도산 삼성 노트북에는 i7 쿼드코어(Quad core)에 Intel 기본 그래픽 카드에 Nvidia 그래픽카드도 탑재되어 있습니다. 이 노트북은 그 당시에 제일 잘나가던 사양으로 만든 노트북입니다.

이 노트북은 아직도 현역으로 잘 굴릴 만큼, 아직도 성능이 나쁘지 않습니다.

(그 이유는 제가 엄청나게 개조를 했기 때문이죠. 램(RAM)을 4GB에서 16GB로, 하드디스크를 SSD로 교체 등등)

그러나, 오픈수세(openSUSE)를 설치한 제 노트북에 딥러닝을 위한 GPU를 사용하려니 Nvidia드라이버가 활성화가 안되어 있더군요.

이를 계기로, 저는 오픈수세(openSUSE)에서 노트북에 있는 Nvidia 드라이버를 활성화 시켜보겠습니다.

우선 아래 링크의 글을 보고 따라했습니다.

openSUSE Wiki: NVIDIA Drivers

 

SDB:NVIDIA drivers - openSUSE Wiki

Warning: If you plan to replace your card with a more recent one, it's recommended that you uninstall the driver (reverting back to nouveau) before upgrading your hardware. Situation Installing the official NVIDIA drivers using ZYpp (YaST, YaST2, or Zypper

en.opensuse.org

일단 루트(Root)권한으로 들어갑니다.

첫번째로, Nvidia 드라이버 저장소를 오픈수세(openSUSE) 리눅스에 추가합니다.

# zypper addrepo --refresh https://download.nvidia.com/opensuse/tumbleweed NVIDIA
'NVIDIA' 리포지토리 추가 중 ...................................................................................................................................[완료]
'NVIDIA' 리포지토리가 추가되었습니다.

URI            : https://download.nvidia.com/opensuse/tumbleweed
활성화됨       : 예
GPG 확인       : 예
자동 새로 고침 : 예
우선순위       : 99 (기본 우선순위)

저장소는 우선순위가 없습니다. 모든 저장소는 같은 우선순위를 공유합니다.

이후, 설치된 하드웨어의 정보를 다음의 명령어 lspcilscpu로 확인합니다.

비디오카드 정보 확인은 다음의 명렁어 lspci로 확인합니다.

# lspci | grep VGA
00:02.0 VGA compatible controller: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller (rev 09)

CPU아키텍처 정보 확인은 다음의 명령어 lscpu로 확인합니다.

# lscpu | grep Arch   
Architecture:                    x86_64

그리고, 명령어 lspcilscpu를 다음의 명령어 hwinfo로 대체할 수 있습니다.

비디오카드 정보 확인은 다음의 명령으로 확인합니다.

# hwinfo --gfxcard | grep Model
  Model: "nVidia GF119M [GeForce GT 520MX]"
  Model: "Intel 2nd Generation Core Processor Family Integrated Graphics Controller"

CPU아키텍처 정보 확인은 다음의 명령으로 확인합니다.

# hwinfo --arch
Arch: X86_64/grub                                               

정보를 확인하고, 적당한 Nvidia 드라이버 패키지를 찾습니다.

# zypper se x11-video-nvidiaG0*
Retrieving repository 'NVIDIA' metadata --------------------------------------------------------------------------------------------------------------------------[|]

New repository or package signing key received:

  Repository:       NVIDIA
  Key Name:         NVIDIA Corporation <linux-bugs@nvidia.com>
  Key Fingerprint:  9B763D49 D8A5C892 FC178BAC F5113243 C66B6EAE
  Key Created:      Fri Jun 16 01:13:18 2006
  Key Expires:      (does not expire)
  Subkey:           F016EEAA03224CDD 2006-06-16 [does not expire]
  Rpm Name:         gpg-pubkey-c66b6eae-4491871e


Do you want to reject the key, trust temporarily, or trust always? [r/t/a/?] (r): a
Retrieving repository 'NVIDIA' metadata .......................................................................................................................[done]
Building repository 'NVIDIA' cache ............................................................................................................................[done]
Loading repository data...
Reading installed packages...

S | Name                | Summary                                                 | Type
--+---------------------+---------------------------------------------------------+--------
  | x11-video-nvidiaG04 | NVIDIA graphics driver for GeForce 400 series and newer | package
  | x11-video-nvidiaG05 | NVIDIA graphics driver for GeForce 600 series and newer | package

이제, Nvidia 드라이버 패키지를 설치합니다.

# zypper in x11-video-nvidiaG04
Loading repository data...
Reading installed packages...
Resolving package dependencies...

The following 13 NEW packages are going to be installed:
  Mesa-libGLESv1_CM1 Mesa-libGLESv2-2 libX11-6-32bit libXau6-32bit libXext6-32bit libglvnd-32bit libxcb1-32bit nvidia-computeG04 nvidia-gfxG04-kmp-default
  nvidia-glG04 plasma5-applet-suse-prime suse-prime x11-video-nvidiaG04

The following 4 recommended packages were automatically selected:
  Mesa-libGLESv1_CM1 Mesa-libGLESv2-2 nvidia-glG04 x11-video-nvidiaG04

13 new packages to install.
Overall download size: 79.2 MiB. Already cached: 0 B. After the operation, additional 366.0 MiB will be used.
Continue? [y/n/v/...? shows all options] (y): y
Do you agree with the terms of the license? [yes/no] (no): yes

설치가 완료되었으면 재부팅 합니다.

재부팅 후에도 Intel 그래픽카드로 사용되는걸 확인할 수 있습니다.
openSUSE에서 Nvidia 그래픽카드 사용 활성화를 하려면 아래의 명령어로 활성화합니다

$ sudo prime-select nvidia
Logout to switch graphics

위의 내용처럼 로그아웃을 하고 난 후 새로 로그인 하면 변경되는 걸 확인할 수 있습니다.

ps. 이제 이 노트북으로 Nvidia GPU를 이용한 AI연산, 딥러닝을 사용할수 있다.

Buy me a coffeeBuy me a coffee

우분투(Ubuntu)에서 리브레오피스(LibreOffice)의 소스코드를 빌드할 수 있게 의존성 있는 패키지를 가져오도록 하는 선택하는 옵션으로 의존성있는 패키지 설치를 진행해보았습니다.

$ sudo apt build-dep libreoffice
[sudo] password for ***:
Reading package lists... Done
E: You must put some 'deb-src' URIs in your sources.list

아... deb-src URI가 sources.list에 없다고 sources.listdeb-src를 채워놓으라고 하군요.

그럼, sources.listdeb-src URI를 채워넣어야죠.

sources.list 파일을 수정해봅니다.

$ sudo vi /etc/apt/sources.list

이미 deb-src는 있으나 #으로 주석처리되어 있습니다. 그럼, 저장소 목록에 있는 deb-src 앞의 # 주석을 해제합니다.

그리고, 저장소 목록을 다시 업데이트 합니다.

$ sudo apt update

그리고 다시 아래의 명령어로 libreoffice에 대해 빌드할수 있게 의존성있는 패키지를 설치해봅니다.

$ sudo apt-get build-dep libreoffice
Reading package lists... Done
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following NEW packages will be installed:
  acl ant ant-optional autoconf automake autopoint autotools-dev binutils binutils-common binutils-x86-64-linux-gnu
  bison build-essential ca-certificates-java comerr-dev cpp cpp-9 dctrl-tools debhelper default-jdk
  default-jdk-headless default-jre default-jre-headless default-libmysqlclient-dev devscripts dh-apparmor
  dh-autoreconf dh-python dh-strip-nondeterminism doxygen dpkg-dev dwz evolution-data-server-common fakeroot
  firebird-dev firebird3.0-common firebird3.0-common-doc firebird3.0-server-core flex fontforge-common fontforge-nox
  fonts-crosextra-carlito fonts-dejavu fonts-dejavu-extra fonts-liberation2 fonts-urw-base35 g++ g++-9 gcc gcc-9
  gcc-9-base gdb gettext ghostscript gir1.2-atk-1.0 gir1.2-atspi-2.0 gir1.2-camel-1.2 gir1.2-ebackend-1.2
  gir1.2-ebook-1.2 gir1.2-ebookcontacts-1.2 gir1.2-edatabook-1.2 gir1.2-edataserver-1.2 gir1.2-freedesktop
  gir1.2-gdkpixbuf-2.0 gir1.2-gst-plugins-base-1.0 gir1.2-gstreamer-1.0 gir1.2-gtk-3.0 gir1.2-harfbuzz-0.0
  gir1.2-langtag-0.6 gir1.2-pango-1.0 gir1.2-secret-1 gir1.2-soup-2.4 gobject-introspection gperf graphviz
  hyphen-en-us icu-devtools imagemagick imagemagick-6-common imagemagick-6.q16 intltool-debian java-common javahelper
  junit4 krb5-multidev libabw-0.1-1 libabw-dev libamd2 libann0 libapache-pom-java libarchive-zip-perl libasan5
  libassuan-dev libatk-bridge2.0-dev libatk1.0-dev libatomic1 libatspi2.0-dev libavahi-client-dev libavahi-common-dev
  libb-hooks-op-check-perl libbabeltrace1 libbinutils libblas-dev libblas3 libblkid-dev libbluetooth-dev libbluetooth3
  libboost-atomic1.71-dev libboost-atomic1.71.0 libboost-chrono1.71-dev libboost-chrono1.71.0 libboost-date-time-dev
  libboost-date-time1.71-dev libboost-date-time1.71.0 libboost-dev libboost-filesystem-dev libboost-filesystem1.71-dev
  libboost-filesystem1.71.0 libboost-iostreams-dev libboost-iostreams1.71-dev libboost-iostreams1.71.0
  libboost-locale-dev libboost-locale1.71-dev libboost-locale1.71.0 libboost-regex1.71-dev libboost-regex1.71.0
  libboost-serialization1.71-dev libboost-serialization1.71.0 libboost-system1.71-dev libboost-system1.71.0
  libboost-thread1.71-dev libboost-thread1.71.0 libboost1.71-dev libbrotli-dev libbsh-java libbtf1 libc-dev-bin
  libc6-dev libcairo-script-interpreter2 libcairo2-dev libcamd2 libcamel-1.2-62 libcamel1.2-dev libcc1-0 libccolamd2
  libcdr-0.1-1 libcdr-dev libcdt5 libcgraph6 libcholmod3 libclang1-10 libclass-method-modifiers-perl
  libclucene-contribs1v5 libclucene-core1v5 libclucene-dev libcmis-0.5-5v5 libcmis-dev libcolamd2
  libcommons-logging-java libcommons-parent-java libcppunit-1.15-0 libcppunit-dev libcroco3 libcrypt-dev libctf-nobfd0
  libctf0 libcups2-dev libcupsimage2 libcupsimage2-dev libcurl4-gnutls-dev libcxsparse3 libdatrie-dev libdbus-1-dev
  libdconf-dev libdebhelper-perl libdevel-callchecker-perl libdpkg-perl libdw1 libdynaloader-functions-perl
  libe-book-0.1-1 libe-book-dev libebackend-1.2-10 libebackend1.2-dev libebook-1.2-20 libebook-contacts-1.2-3
  libebook-contacts1.2-dev libebook1.2-dev libedata-book-1.2-26 libedata-book1.2-dev libedataserver-1.2-24
  libedataserver1.2-dev libegl-dev libegl1-mesa-dev libel-api-java libemf1 libencode-locale-perl libeot-dev libeot0
  libepoxy-dev libepubgen-0.1-1 libepubgen-dev libetonyek-0.1-1 libetonyek-dev libexif12 libexpat1-dev
  libexttextcat-2.0-0 libexttextcat-data libexttextcat-dev libfakeroot libfbclient2 libffi-dev libfftw3-double3
  libfile-homedir-perl libfile-listing-perl libfile-stripnondeterminism-perl libfile-which-perl libfontconfig1-dev
  libfontforge3 libfreehand-0.1-1 libfreehand-dev libfreetype-dev libfreetype6-dev libfribidi-dev libgcc-9-dev
  libgck-1-0 libgcr-base-3-1 libgcrypt20-dev libgd3 libgdata-common libgdata22 libgdk-pixbuf2.0-dev libgdraw6
  libgfortran5 libgif7 libgirepository1.0-dev libgl-dev libgl1-mesa-dev libgles-dev libgles1 libgles2
  libgles2-mesa-dev libglib2.0-dev libglib2.0-dev-bin libglm-dev libglu1-mesa libglu1-mesa-dev libglvnd-dev libglx-dev
  libgmp-dev libgmpxx4ldbl libgnutls-dane0 libgnutls-openssl27 libgnutls28-dev libgnutlsxx28 libgoa-1.0-0b
  libgoa-1.0-common libgomp1 libgpg-error-dev libgpgme-dev libgpgmepp-dev libgphoto2-6 libgphoto2-port12 libgraphblas3
  libgraphite2-dev libgs9 libgs9-common libgssrpc4 libgstreamer-gl1.0-0 libgstreamer-plugins-base1.0-0
  libgstreamer-plugins-base1.0-dev libgstreamer1.0-dev libgtk-3-dev libgts-0.7-5 libgvc6 libgvpr2 libhamcrest-java
  libharfbuzz-dev libharfbuzz-gobject0 libharfbuzz-icu0 libhsqldb1.8.0-java libhtml-parser-perl libhtml-tagset-perl
  libhtml-tree-perl libhttp-cookies-perl libhttp-date-perl libhttp-message-perl libhttp-negotiate-perl libhunspell-dev
  libhyphen-dev libhyphen0 libib-util libice-dev libicu-dev libidn11 libidn2-dev libieee1284-3 libijs-0.35
  libimport-into-perl libio-html-perl libio-pty-perl libio-socket-ssl-perl libipc-run-perl libisl22 libitm1
  libixion-0.15-0 libjbig-dev libjbig2dec0 libjpeg-dev libjpeg-turbo8-dev libjpeg8-dev libjsp-api-java
  libkadm5clnt-mit11 libkadm5srv-mit11 libkdb5-9 libkf5attica-dev libkf5auth-dev libkf5auth-dev-bin libkf5auth5
  libkf5bookmarks-dev libkf5codecs-dev libkf5completion-dev libkf5config-dev libkf5config-dev-bin
  libkf5configwidgets-dev libkf5coreaddons-dev libkf5coreaddons-dev-bin libkf5dbusaddons-dev libkf5globalaccel-dev
  libkf5guiaddons-dev libkf5i18n-dev libkf5iconthemes-dev libkf5itemviews-dev libkf5jobwidgets-dev libkf5kio-dev
  libkf5kiofilewidgets5 libkf5service-dev libkf5solid-dev libkf5sonnet-dev libkf5sonnet-dev-bin libkf5textwidgets-dev
  libkf5widgetsaddons-dev libkf5windowsystem-dev libkf5xmlgui-dev libklu1 liblab-gamut1 liblangtag-common
  liblangtag-dev liblangtag-gobject0 liblangtag1 liblapack-dev liblapack3 liblcms2-dev libldap2-dev libldl2 libllvm10
  liblpsolve55-dev liblqr-1-0 liblsan0 libltdl-dev liblwp-mediatypes-perl liblwp-protocol-https-perl liblzma-dev
  libmagick++-6.q16-8 libmagickcore-6.q16-6 libmagickwand-6.q16-6 libmdds-dev libmetis5 libmhash2
  libmodule-runtime-perl libmongoose2 libmoo-perl libmount-dev libmpc3 libmspub-0.1-1 libmspub-dev libmwaw-0.3-3
  libmwaw-dev libmysqlclient-dev libmysqlclient21 libmythes-1.2-0 libmythes-dev libneon27-gnutls libneon27-gnutls-dev
  libnet-http-perl libnet-ssleay-perl libnspr4 libnspr4-dev libnss3 libnss3-dev libodbc1 libodfgen-0.1-1 libodfgen-dev
  libopengl-dev libopengl0 libopenjp2-7 liborc-0.4-0 liborc-0.4-dev liborc-0.4-dev-bin liborcus-0.15-0 liborcus-dev
  liborcus-spreadsheet-model-0.15-0 libp11-kit-dev libpagemaker-0.0-0 libpagemaker-dev libpango1.0-dev
  libpangoxft-1.0-0 libpaper1 libparams-classify-perl libpathplan4 libpcre16-3 libpcre2-32-0 libpcre2-dev
  libpcre2-posix2 libpcre3-dev libpcre32-3 libpcrecpp0v5 libpcsclite1 libphonenumber7 libpixman-1-dev libplot2c2
  libpng-dev libpoppler-cpp-dev libpoppler-cpp0v5 libpoppler-dev libpoppler-private-dev libpoppler97 libpq-dev libpq5
  libprotobuf17 libpsl-dev libpstoedit0c2a libpthread-stubs0-dev libpython3-dev libpython3.8-dev libqgpgme7
  libqt5concurrent5 libqt5script5 libqt5scripttools5 libqt5sql5 libqt5x11extras5-dev libquadmath0 libraptor2-0
  libraptor2-dev librasqal3 librasqal3-dev librbio2 librdf0 librdf0-dev librevenge-0.0-0 librevenge-dev
  librole-tiny-perl libsane libsane-common libsane-dev libsecret-1-0 libsecret-1-dev libsecret-common libselinux1-dev
  libsepol1-dev libservlet-api-java libservlet3.1-java libsm-dev libsnmp-base libsnmp35 libsoup2.4-dev libspiro1
  libspqr2 libsqlite3-dev libssl-dev libstdc++-9-dev libstrictures-perl libsub-override-perl libsub-quote-perl
  libsuitesparse-dev libsuitesparseconfig5 libtasn1-6-dev libthai-dev libtiff-dev libtiffxx5 libtimedate-perl
  libtommath1 libtool libtry-tiny-perl libtsan0 libubsan1 libumfpack5 libunbound8 libuninameslist1 liburi-perl
  libvisio-0.1-1 libvisio-dev libvulkan-dev libwayland-bin libwayland-dev libwebpmux3 libwebsocket-api-java
  libwpd-0.10-10 libwpd-dev libwpg-0.3-3 libwpg-dev libwps-0.4-4 libwps-dev libwww-perl libwww-robotrules-perl
  libx11-dev libx11-xcb-dev libxapian30 libxau-dev libxaw7-dev libxcb-icccm4-dev libxcb-render0-dev libxcb-shm0-dev
  libxcb1-dev libxcomposite-dev libxcursor-dev libxdamage-dev libxdmcp-dev libxext-dev libxfixes-dev libxft-dev
  libxi-dev libxinerama-dev libxkbcommon-dev libxkbfile-dev libxml2-dev libxml2-utils libxmlsec1-dev libxmlsec1-gcrypt
  libxmlsec1-gnutls libxmlsec1-nss libxmu-dev libxmu-headers libxpm-dev libxrandr-dev libxrender-dev libxslt1-dev
  libxt-dev libxtst-dev libyajl-dev libyajl2 libzip5 linux-libc-dev lp-solve m4 make maven-repo-helper mysql-common
  nettle-dev odbcinst odbcinst1debian2 openjdk-11-jdk openjdk-11-jdk-headless openjdk-11-jre openjdk-11-jre-headless
  pango1.0-tools patchutils perl-openssl-defaults pkg-config po-debconf poppler-data pstoedit python3-dev python3-lxml
  python3-mako python3-markdown python3-packaging python3-pyparsing python3.8-dev qt5-qmake qt5-qmake-bin qtbase5-dev
  qtbase5-dev-tools qtchooser qtscript5-dev rdfind symlinks ucpp unixodbc-dev unzip uuid-dev wayland-protocols wdiff
  x11proto-core-dev x11proto-dev x11proto-input-dev x11proto-randr-dev x11proto-record-dev x11proto-xext-dev
  x11proto-xinerama-dev xorg-sgml-doctools xsltproc xtrans-dev zip zlib1g-dev
0 upgraded, 593 newly installed, 0 to remove and 0 not upgraded.
Need to get 499 MB of archives.
After this operation, 1707 MB of additional disk space will be used.
Do you want to continue? [Y/n]

이제, 리브레오피스(LibreOffice)를 빌드(Build)할 준비가 되었습니다.

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

GNOME 프로젝트의 어떤 파일 빌드 중

/home/dhsung/Projects/gnome-hello/configure: line 11964: syntax error near unexpected token `maximum'
/home/dhsung/Projects/gnome-hello/configure: line 11964: `GNOME_COMPILE_WARNINGS(maximum)'

위의 메세지를 띄우며 빌드가 안될때 해결책.
'gnome-common'라이브러리( Common Files to Build GNOME )이 없어서 나오는 문제.

그래서 아래와 같이 'gnome-common'라이브러리를 설치해면 해결됨.

openSUESE에서
sudo zypper install gnome-common

Ubuntu에서
sudo apt install gnome-common

위의 패키지 설치가 끝나면 해결됨.

출처: GNOME_COMPILE_WARNINGS(maximum) – Syntax Error in configure

Buy me a coffeeBuy me a coffee

(English follow Korean. 영어는 한국어 뒤에 나옵니다.)

GNOME - GNU Network Object Model Environment

한국어 소개: 그놈(GNOME) 프로젝트는 사용자를 위한 완전히 자유롭고 사용하기 쉬운 데스크탑 환경과 동시에 소프트웨어 개발자를 위한 강력한 어플리케이션 프레임워크를 만들고 있습니다.그놈은 GNU 프로젝트의 일부이며, 자유 소프트웨어입니다(흔히, 오픈 소스 소프트웨어라고 불립니다). 그놈은 많은 BSD와 GNU/리눅스에 포함되어 배포되고 있으며, 다른 여러 UNIX 시스템에서도 작동합니다.

GNOME Homepage - https://www.gnome.org/

GNOME Korea Homepage - http://www.gnome.or.kr/

GNOME Korea Blog - http://gnome-kr.blogspot.kr/

gucharmap - the GNOME Character Map, based on the Unicode Character Database.

gucharmap Homepage - https://wiki.gnome.org/Gucharmap

gucharmap GitHub - https://github.com/GNOME/gucharmap


GNOME gucharmap (그놈 문자표)

GNOME 문자표(gucharmap)  ScreenshotGNOME 문자표(gucharmap)


시작하며

저는 한자(漢字/汉字)에 관심이 많은 개발자이며, 취미로 중국어(中國語,漢語,汉语, Chinese)와 일본어(日本語, Japanese)를 배우고 있습니다.

저는 어릴때 중국어에서 사용하는 한자(漢字·汉字,hànzì,ㄏㄢˋㄗˋ)와, 일본어에서 사용하는 한자(漢字・かんじ, kanji), 그리고 한국어에서 사용하는 한자(漢字, hanja)가 다르다는 것을 깨닫고, 어릴때부터 한자에 대하여 관심을 갖게 되었습니다.


어릴때 집에서 구독하는 조선일보 기사를 보면 나라 국(國)에 대한 한자를 国로 사용하고, 더불, 줄 여(與)에 대한 한자 与를 쓰는 경우를 보았습니다.

조선일보에서 한자를 표준에 안맞게 쓸까 궁금했습니다. 여기에 대하여 아버지에게 여쭤보면 "조선일보가 일본의 기계로 찍어내서 약자를 쓴다"라고 하시며 "한자 쓸때에는 약자를 쓰면 안된다"라면서 정자체[正字體,일본에서는 구자체(舊字體,旧字体),중국에서는 번자체(繁字體)로 부름]를 배워야 한다고 강조한 적이 있습니다.

조선일보(朝鮮日報,The Chosun Ilbo) 1986년 12월 10일 3면 - 小康정국…与・野의 「対話異夢」(소강정국…여・야의 「대화이몽」, 小康정국…與・野의 「對話異夢」)

동아일보(東亞日報,The Dong-a Ilbo) 1986년 12월 9일 1면 - 與野 代表회담 적극추진(여야 대표회담 적극추진, 與野 代表會談 積極推進)

위의 조선일보에서 여(與)를 "与"로 표기를 하였고, 동아일보에서 여(與)를 "與"를 표기하였습니다.


이후,  고등학교때에 제2외국어로 중국어를 배우고, 대학교때에도 중국어 수업을 들었습니다. 중국 대륙에는 한자를 간체자(簡體字,简体字)로 바꿔서 일상생활에 사용한다 것을 알게 되곤, 한자의 모양이 다양해지고 파편화되고 있구나를 깨달았습니다.


예를 들어 차례, 버금 차(次)에 대한 한자 표기는 각 나라마다 다릅니다.

次차례, 버금 차(次)에 대한 다양한 표기 - 중국, 홍콩, 대만, 일본, 한국, 베트남 순으로 표기가 각기 다르다는 걸 확인할 수 있습니다. 次 - Variant Glyphs in China(Mainland), Hong Kong, Taiwan, Japan, Korea, Vietnam.


Table 3-99 that was excerpted from page 174 of CJKV Information Processing (Second Edition) that provides examples of CJK Unified Ideographs whose shapes may be different depending on the locale or region. Reference: Genuine Han Unification https://blogs.adobe.com/CCJKType/2012/01/genuine-han-unification.html

순서대로 일(一), 여(与,與), 판(判), 기(器), 자(字), 해(海), 일(逸), 골(骨)로 읽습니다.

(각 나라의 한자 모양을 보면, 현재의 Android OS탑재 단말기들이 제조사마다 다르게 구현되어 파편화 되고 있다는 것과 비슷한 느낌으로 받아들이면 될것 같습니다.)


그놈(GNOME)을 처음 접할때...

대학교 입학때, 리눅스 데스크탑을 접하게 되면서 문자표(GNOME gucharmap, KDE kcharselect)를 접하게 되었습니다.

위의 문자표에서 여러가지 한자가 나오면서, 한자에 대한 한국어 표기가 나옵니다만, 영어로 나와서 실망했고, 로마자표기법이 현재 대한민국에서 사용하고 있는 로마자 표기법이 아닌 것이 나와 당황한 기억이 납니다.


시간이 지나며, 중국어 수업을 들으며 간체(简体字)와 번체(繁体字)의 차이에 대하여 관심을 많이 가지게 되었지만, 컴퓨터로 어떻게 처리할지는 그 당시에 생각을 하지 않았습니다.


이후 대학원 다닐때, 저는 CJKV Information Processing이란 책을 알게 되었습니다.

이 CJKV책은 Perl 사용자 모임의 yongbin님께서 주신 책입니다.

저는 이 책을 쭉 훑어보다 머릿속에 충격을 받는 다는 표현이 어떤 것인지에 대하여 알게 되었습니다.

앞부분에는 동아시아 국가에서 사용하는 언어에 대한 인문환경, 표준에 대한 내용이기때문에 기본적인 한자, 중국어와 일본어를 알고 있어서 읽는 것에 그렇게 큰 어려움이 없었습니다.

컴퓨터로 일본어, 중국어, 한국어를 어떻게 처리할지에 대하여 정리한 책인데, 책의 저자가 미국인이라는 것에 놀라도, 한국에서 한국어로 이런 책이 나온 적이 없는데, 미국인이 작성했다는걸 보고 충격을 아주 쎄게 받았습니다.

이 책을 보면서, 미국인이 동아시아문자처리에 대한 정리를 너무 잘했다는 생각이 들면서, 한국어에 대한 처리에 대한 책을 쓰고 싶단 생각을 예전부터 하였습니다.


이후 2012년도 한국 펄 워크샵(Korea Perl Workshop)에서 운이 좋게 "동아시아 문자 처리"라는 주제로 발표를 하게 되었습니다.

(2012년도에는 얼떨결에 한국 펄 워크샵에서 발표를 하면서, 2012년 펄 크리스마스 달력에 글 "열네번째 날: 동아시아 언어의 로마자 변환에 도전해보자!"를 작성하게 되었습니다)


Perl워크샵에서 발표를 하게되면서 Unicode Consortium에서 정리한 한자에 대한 사전을 만들어 볼까하는 생각을 했습니다.


이후 시간이 지나, 대만(臺灣,Taiwan)의 해커집단G0V에서 나온 Moedict(萌典)을 보고는 충격을 많이 받았지요.

 

어튼, 서론(序論)이 길었습니다.


한자 관련 정보는 어디서?

저는 웹상에서 한자(漢字)에 대한 정보에 대한 웹사이트 만들어야겠다는 생각을 했습니다.

그런데 한자 정보에 대한 사이트를 어떻게 만들어야 할까? 이런 고민을 쭉 하게 되었지요.


유니코드 컨소시엄(Unicode Consortium)에서 공개한 유니한 데이터베이스(Unihan database, 한자정보가 정리된 데이터베이스) 정보를 조사해봤습니다.

The Unicode® Standard Version 9.0 – Core Specification http://www.unicode.org/versions/Unicode9.0.0/UnicodeStandard-9.0.pdf

The Unicode Standard, Version 9.0 - Code Charts - http://www.unicode.org/Public/UCD/latest/charts/CodeCharts.pdf

UAX #38: Unicode Han Database (Unihan) - http://unicode.org/reports/tr38/

UAX #44: Unicode Character Database - http://www.unicode.org/reports/tr44/

Unicode® Standard Annex #41 COMMON REFERENCES FOR UNICODE STANDARD ANNEXES -  http://unicode.org/reports/tr41/tr41-19.html 

CJK Unified Ideographs -  http://www.unicode.org/charts/PDF/U4E00.pdf

Unicode 최신 정보 FTP - http://www.unicode.org/Public/UCD/latest/

[Wikipedia] CJK Unified Ideographs - https://en.wikipedia.org/wiki/CJK_Unified_Ideographs


Python의 유니코드(Unicode) 관련 자료도 참조하게 되었습니다.

http://farmdev.com/talks/unicode/

Pragmatic Unicode http://nedbatchelder.com/text/unipain.html


유니코드 컨소시엄에서 정의된 파일과 가이드를 봐도 어떻게 만들지 감이 잡히지 않았습니다.


일단, 자유 소프트웨어(Free Software)로 구현된 GNOME gucharmap, KDE kcharselect가 후보군으로 떠오르군요.

위의 구현물의 소스코드를 보고 어떻게 한자 정보에 대한 사이트를 만들어볼까 고민을 해보게 됩니다.

KDE 문자표 kCharSelect - a tool to select special characters from all installed fonts and copy them into the clipboard on KDE 

https://utils.kde.org/projects/kcharselect/



GNOME 문자표 gucharmap - the GNOME Character Map, based on the Unicode Character Database. https://wiki.gnome.org/action/show/Apps/Gucharmap



오픈소스 프로젝트에 소스코드 분석해볼까?

저는 자유 소프트웨어인 KDE kcharselect, GNOME gucharmap의 git mirror를 forked했습니다.

GNOME gucharmap git mirror - https://github.com/GNOME/gucharmap

KDE kcharselect git mirror - https://github.com/KDE/kcharselect

이후 KDE kcharselect의 소스코드와 GNOME gucharmap의 소스코드를 일단 확인했습니다.


KDE kcharselect의 소스코드는 C++(QT Library), Python 스크립트로 구성되어 있습니다.

Python 스크립트로 Unicode 관련 txt파일[UnicodeData.txt, NamesList.txt, Blocks.txt, Unihan_Readings.txt (you need to uncompress it from Unihan.zip)]을 읽고, 자체적으로 사용하는 구조체를 이용하여 데이터베이스 파일 생성하는걸 확인하였습니다.


GNOME gucharmap의 소스코드는 C(GTK+ Library), Perl 스크립트로 구성되어 있습니다.

gucharmap에서는 Unicode Consortium에서 정의한 파일 Blocks.txt, NamesList.txt, Scripts.txt, UnicodeData.txt, Unihan.zip 파일을 이용한다고 나와 있습니다.

Perl 스크립트로 Unicode 관련 txt파일을 읽어 들인후  여러 C언어 파일을 생성하는 것이 인상적이였습니다.


 Unicode Consortium에서 제공하는 파일중 어떤 파일을 사용하는가? 

 GNOME gucharmap  

 KDE kcharselect

 UnicodeData.txt

 NamesList.txt 

 Blocks.txt

 Scripts.txt

 Unihan.zip  

 UnicodeData.txt

 NamesList.txt

 Blocks.txt

 Unihan_Readings.txt 


GNOME gucharmap, KDE kcharselect에서는 한자(漢字/汉字, CJK Unified Ideographs)에 대한 내용은 Unihan.zip파일 내부의 Unihan_Readings.txt의 내용을 참조하는 것을 확인 하였습니다.


저는 유니코드 컨소시엄에서 정의한 Unihan.zip 내부의 한자를 읽는 방법을 정의한 Unihan_Readings.txt파일을 읽고, 내부구조를 확인해보았습니다.


내부 구조를 확인해보니 한자에 대하여 여러가지 읽는 방법에 대한 정의가 나와 있습니다.

kCantonese, kDefinition, kHangul, kHanyuPinlu, kHanyuPinyin, kJapaneseKun, kJapaneseOn, kKorean, kMandarin, kTang, kVietnamese, kXHC1983

위의 정의 중에 한자에 대한 한글 표기(kHangul) 및 베트남어 발음표기(kVietnamese)가 존재함을 확인하였습니다. 


예제) 사람 인(人)에 대한 유니코드 컨소시엄(Unicode Consortium)의 읽는 방법 정의 



그런데 GNOME gucharmap, KDE kcharselect에서는 한국어의 로마자 표기가 지금은 주로 사용하지않은 방식인 예일대 표기법을 사용하고 있었으며, 베트남어의 발음표기가 추가 되지 않은 것을 확인하였습니다.


오픈소스 프로젝트에 소스코드 추가해보자!


저는 GNOME gucharmap, KDE kcharselect 2개의 프로젝트에서 Unihan_Readings.txt파일을 읽어들이는 소스코드를 분석후, 한글과 베트남어 발음 표기를 추가하게 되었습니다.


GNOME gucharmap에서는 Unihan_Readings.txt파일을 읽어들이는 C, Perl코드를 수정하였습니다.

버그질라 보고: https://bugzilla.gnome.org/show_bug.cgi?id=773380

추가한 소스코드: https://github.com/GNOME/gucharmap/commit/b3614d114bc2158f8e5c4b98797019f3a71d0ba7 


KDE kcharselect에서는 Unihan_Readings.txt파일을 읽어들이는 python코드를 수정하였습니다

수정한 소스코드

1) kcharselect - https://github.com/studioego/kcharselect/commit/470b8ac5ad2bdf646a64abdfd4297ad2fd9148e0

2) kwidgetsaddon -  https://github.com/studioego/kwidgetsaddons/commit/0ff990d063d8ba1f6d4a15c1144e0064fd844f9c


오픈소스 프로젝트에 소스코드 제출해보기 

저는 KDE kcharselect, GNOME gucharmap 소스코드를 github에 커밋하였고, 이후 KDE 개발자와 GNOME 번역자(GNOME Korean Translator)에게 소스코드 커밋 요청을 했습니다.


Pull Request요청한 GNOME gucharmap github 소스코드 https://github.com/studioego/gucharmap 

Pull Request요청한 KDE kcharselect github 소스코드 https://github.com/studioego/kcharselect


KDE쪽에서는 코드 충돌의 우려 및 기존 데이터파일의 배포 중단을 이유로 커밋이 거절되었습니다.


그러나 GNOME쪽에서는 GNOME Asia에서 활동하는 한국인 번역가 조성호(Seong-ho Cho)님의 도움으로 운이 좋게 커밋 성공하였습니다.

Reference: http://osdir.com/ml/commits.gnome/2016-11/msg01983.html

Subject: [gucharmap] Created tag 9.0.2 

The unsigned tag '9.0.2' was created.

Tagger: Christian Persch <chpe@xxxxxxxxxxxxx>
Date: Mon Nov 7 19:20:01 2016 +0100

Version 9.0.2

Git-EVTag-v0-SHA512: 
d889842de54cd9e5bbf253a098c13a7da91257c945b010b2d21d3f3607487d8ab47b4ba91548f9f65bf4cf70f14bece37e24907639428e6bba5b940acacfdc1e

Changes since the last tag '9.0.1':

Christian Persch (2):
Post release version bump
build: Pass --with-unicode-data down to distcheck configure

DaeHyun Sung (1):
charmap: Add korean hangul and vietnamese pronunciations

Marek Černocký (1):
Updated Czech translation

Piotr Drąg (1):
Update Polish translation

Sveinn í Felli (1):
Update Icelandic translation
_______________________________________________
commits-list mailing list (read only)
https://mail.gnome.org/mailman/listinfo/commits-list


드디어 저는 오픈소스 개발자가 되었으며 GNOME Contributor가 되었습니다.


원래는 웹상에서 한자에 대한 정보 보여주는 개발을 시작하려고 했고, 개발 시작전에 KDE kcharmap, GNOME gucharmap에 대한 소스 분석으로 하다보니, GNOME 개발에 기여를 하게 되었습니다. 운좋게 자유소프트웨어 개발자로 얻어걸린 격입니다.

 

GNOME 문자표(GNOME gucharmap)에 한자(漢字)의 한글 표기 및 베트남어 표기를 진행하다보니, 웹 상에서 한자 정보를 보여주는 서비스 구현에 대한 많은 성찰을 하게 되었습니다.


올해 안에 한자(漢字, Chinese Character)에 대한 정보 보여주는 서비스를 만든다고 도메인을 구입 및 배포하려던 계획들이 이번 GNOME gucharmap의 한글 및 베트남어 지원를 계기로, 내년에 한자 정보 서비스 사이트를 개발하기로 하였습니다.


계획은 미뤄졌지만, 리눅스 생태계의 자유 소프트웨어에 기여를 하였다는 것에 큰 의의를 둡니다.


이전에도 오픈소스(gwibber - https://code.launchpad.net/~sungdh86/gwibber/urlshorter-durl )에 기여를 한 적이 있었으나, 리눅스 배포판 설치할때마다 들어가는 문자표에 제 이름을 남기고 기여하기는 처음입니다.


아래는 GNOME gucharmap에 제가 작성한 소스가 포함된 부분에 대한 정보화면입니다.

Unihan_Readings.txt에 있는 한국어 발음, 베트남어 발음 추가

Copyright ⓒ 2016 DaeHyun Sung


"Copyright ⓒ 2016 DaeHyun Sung"이 추가되니 정말 기쁩니다.


정리하며

"소 뒷걸음질 하다 쥐잡은 격"과 같이 우연히 C, C++, Perl, Python코드를 확인하다보니 오픈소스 프로젝트인 GNOME gucharmap에 한글 표기와 베트남어발음표기를 추가하게 되었습니다.

GNOME gucharmap, KDE kcharselect소스코드를 분석하다보니, 제가 원래 목표로 한 Python, Perl용 한중일월(中日韓越, Chinese-Japanese-Korean-Vietnamese) 라이브러리를 개발을 하는데 많은 도움이 되었습니다.

내년도에 더욱 더 성장을 하여 제가 목표로 하는 한자 정보 라이브러리(Python, Perl, Java, Ruby, etc) 개발 및 한자관련 홈페이지가 나올수 있도록 노력을 하겠습니다.


추가내용(2016.12.18)

GNOME한국(GNOME Korea)에서 번역가로 활동하시는 조성호(Seong-ho Cho)  한국 그놈 커뮤니티 블로그에 제가 GNOME gucharmap의 기능추가 (한글 및 베트남어 발음 지원)에 대한 내용(새로운 그놈 커미터 환영)을 작성하셨습니다. 


앞으로 GNOME Korea의 발전에 많은 노력을 하겠습니다.


ps. 저에 많은 영향을 주신 한국 펄 커뮤니티(#perl-kr)에 감사함을 전합니다. 펄 커뮤니티 덕에 유니코드와 한자처리에 지속적인 관심을 가지게 되었습니다.

ps2. 2010년도쯤? 모 회사에서 CJKV Information Processing책을 보여주셨던 GNOME contributor 차영호(가나초코,ganachoco)님께 감사함을 전합니다. 

ps3. CJKV Information Processing 책을 주신 @y0ngbin 님께도 감사함을 전합니다

ps4. 2013년도에 일찍 하늘나라로 간 Perl Contributor @am0c군께 부채의식을 항상 느끼고 있습니다. (Obituary of Perl release note 5.18.0-RC4)

@am0c군이 펄 크리스마스 달력 2012년 12월 14일자 에  "열네번째 날: 동아시아 언어의 로마자 변환에 도전해보자!"를 편집을 했었습니다.

이후 잠수를 타다 2016년 펄 크리스마스 달력에 2개의 글을 기고 했습니다.

ps5. 박현우 @lqez님께서 한국 파이썬 사용자 모임 2014년 12월 세미나에서 발표한 'Dive into OpenSource'  발표 슬라이드를 보면 정말 공감할 내용이 많이 있어요!

ps6. 오픈소스 프로젝트를 통해 어쩌면 더 나은 개발자가 되고, 더 많은 사람을 만나, 더 나은 인격체가 될지도 모른다고 하던데, 노력을 해야겠죠?

이희승(Trustin Lee, Author of Netty) - 새 오픈 소스 프로젝트 시작하기


----

English post. 


I add GNOME gucharmap's new features.

1. add Korean Alphabet(Hangul, Hangeul, 한글)

2. add Vietnamese Pronunciation


gucharmap based on UNICODE Consortium's specification.

I read Unicode Consortium's Unihan Databases file. (Unihan_readings.txt)

Unihan_readings.txt file includes CJK Ideography's english meanings and pronunciations (such as Chinese, Japanese, Korean, Vietnamese, etc.  East Asian cultural sphere's languages)

 I found lack of Korean Hangul and Vietnamese pronunciation at GNOME gucharmap.

so, I add Korean Hangul, Vietnamese pronunciation in GNOME gucharmap.


Unihan_Readings.txt에 있는 한국어 발음, 베트남어 발음 추가

Copyright ⓒ 2016 DaeHyun Sung


It's amazing. I add my name "Copyright ⓒ 2016 DaeHyun Sung" in GNOME gucharmap.


I'm Open Source Developer and gucharmap contributor! Also GNOME Developer!


The following is My Gucharmap source code commit log.

Unihan_Readings.txt included in Unihan.zip defines the notation and pronunciation of East Asian languages such as Chinese, Japanese, Korean, Vietnamese.
Unihan_Readings.txt’ has some properties.
Such as
kCantonese, kDefinition, kHangul, kHanyuPinlu, kHanyuPinyin, kJapaneseKun, kJapaneseOn, kKorean, kMandarin, kTang, kVietnamese, kXHC1983.

I add Unihan_Readings.txt defined kVietnamese property and kHangul property in this program.

Unihan_Readings.txt’s property kVietnamese describe Vietnamese character(Quốc ngữ) pronunciation. this property defined Unihan version 3.1.1. Now Unihan database version is 9.0.0.
Unihan_Readings.txt’s property kHangul describe Korean character(한글,Hangul) describe Korean pronunciation for this character in hangul.(Hangul is Korean Alphabet) this property defined Unihan version 5.0. Now Unihan database version is 9.0.0.

  1. Why do I add kHangul(Korean Alphabet[Hangul]) property?
    Because, Unicode Consortium presented kHangul property on Unihan version 5.
    Unicode Unihan database document ( http://www.unicode.org/reports/tr38/ ) describe “kKorean” property.
    “kKorean property’s description”
    The Korean pronunciation(s) of this character, using the Yale romanization system. (See http://en.wikipedia.org/wiki/Korean_romanization for a discussion of the various Korean romanization systems.)
    Use of the kKorean field is not recommended. The kHangul field, which is aligned to the KS X 1001 and KS X 1002 standards, is recommended to be used instead.

Now, Revised Romanization of Korean (RR, also called South Korean or Ministry of Culture (MC) 2000) is the most commonly used and widely accepted system of romanization for Korean instead of "Yale romanization system"[kKorean property] in Unihan database.

So, I add kHangul property and add “Korean Alphabet(Hangul)” notation.

  1. Why do i add kVietnamese(Vietnamese pronunciation[Quốc ngữ]) property?
    “Unicode Consortium’s version9 guide chapter18. East Asia shows these paragraph.
    In Vietnam, a set of native ideographs was created for Vietnamese based on the same principles used to create new ideographs for Chinese. These Vietnamese ideographs were used through the beginning of the 20th century and are occasionally used in more recent signage and other limited contexts.

Although the term “CJK”—Chinese, Japanese, and Korean—is used throughout this text to describe the languages that currently use Han ideographic characters, it should be noted that earlier Vietnamese writing systems were based on Han ideographs. Consequently, the term “CJKV” would be more accurate in a historical sense. Han ideographs are still used for historical, religious, and pedagogical purposes in Vietnam. “

So I read Unihan documentation specification, then support Vietnamese language.



Subject: [gucharmap] Created tag 9.0.2 

http://osdir.com/ml/commits.gnome/2016-11/msg01983.html



ps1. Now, I summited KDE kCharSelect's new features. but rejected.

because, kCharselect Committer says "this will break distributions that update the data file separately from the library code." 

Maybe KDE kCharSelect will change some features. 

KDE Committer says "If you have additional ideas which other k* fields from Unihan.txt for CJK languages are useful to be included in KCharSelect, your input is welcome either on kde-utils-devel list, or on kde-frameworks list." to me.

If KDE kCharSelect's new version released, I'll share some East-Asian(CJKV) information processing for committers.





Buy me a coffeeBuy me a coffee

2016년 2월 12일 금요일 및 2016년 2월 13일 토요일 작업내용 정리




1. cjkv.io 도메인을 구입

2. 클라우드 서비스인 conoha  설정

일본 GMO사에서 운영하는 클라우드 서비스인 conoha를 사용하게되었습니다.

採用目的 by GMOペパボ

(日本GMO는 네트워크 회사이면서, YAPC::Asia Tokyo 2015에 갔을때 위의 광고를 통해 알게 된 회사입니다. 이 회사가 conoha 클라우드를 운영하고 있는 회사입니다)


일본에서 시작한 클라우드 플랫폼 "ConoHa" (日本発のクラウドプラットフォーム「ConoHa」)

트래픽 무제한 (일본 VPN을 사용하려고, 추가로 일본쪽 서비스를 결제, 이용하려니 conoha에서 VPN을 사용해야겠다는 생각을 했음), 한국어 대응에도 마음에 들고, 국내 클라우드 서비스보단 속도가 느리지만 외국의 여러 클라우드서비스보다 속도도 빠른편


3. conoha에서 서버 설정

nginx설치, java, python2, python3 설치

VPN설정 그리고 개인 블로그를 설치형으로 설정하고, conoha로 이전할 예정. (conoha가 트래픽 무제한이기 때문에 개인 블로그 운영을 서비스형의 티스토리[Tistory]에서 conoha에서 설치하여 운영하는 설치형 블로그로 떠나갈까 고민됨.)


4. 일본 GMO에서 운영하는 conoha는 아래의 귀여운 캐릭터 美雲このは와 美雲あんず 2개의 캐릭터를 이용하여 클라우드 서비스 홍보를 하니 참 재미있는 회사 같다는 생각을 함.

ConoHa by GMO CM


Buy me a coffeeBuy me a coffee

Ubuntu 14.04에서 Oracle Java JDK 설치 

Ubuntu에서 Java를 설치하려면 Open JDK가 기본 선택을 설치됨. 그러나 Oracle JDK를 설치하려면 아래의 명령어(command)를 입력하여 설치해야함.

sudo apt-get update
sudo apt-get -y install python-software-properties
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get -y install oracle-java8-installer
sudo update-java-alternatives -s java-8-oracle
sudo apt-get install oracle-java8-set-default


Buy me a coffeeBuy me a coffee

FreeBSD가 나온지 이제 21년이 넘었군요

FreeBSD에 대한 슬라이드 

 FreeBSD: The Next 10 Years (MeetBSD 2014)

Buy me a coffeeBuy me a coffee

2014년 10월 23일 

Ubuntu 14.10 Utopic Unicorn이 출시 되었습니다


Ubuntu Linux가 04.10부터 나왔고, 이제 14.10까지 나왔으니 Ubuntu Linux가 나온지 10년이 되는군요.

저는 Ubuntu Linux 05.04부터 사용하였고, 10년동안 UI(User Interface), UX(User eXperience)가 엄청나게 변하였다는 것을 체감합니다.

그리고 종류가 많이 늘어났구요

  • Ubuntu Desktop and Server
  • Ubuntu Cloud Server
  • Ubuntu Netboot
  • Ubuntu Core
  • Kubuntu
  • Lubuntu
  • Ubuntu Studio
  • Ubuntu GNOME
  • UbuntuKylin
  • Xubuntu
  • Mythbuntu


Ubuntu 14.10의 Review 

Review Ubuntu 14.10






아래는 다운로드 링크


Buy me a coffeeBuy me a coffee

+ Recent posts