오랜만입니다.



아마도 대부분 사람들은 이전에 했던 ElementaryOS(http://moordev.tistory.com/189)보다는 이것을 기다리셨을 것으로 생각합니다.


LinuxMint MATE입니다.


사실 LinuxMint는 하모니카(http://hamonikr.org/)의 기반 배포판으로 유명한 버전입니다. 그리고 수준높은 한글화 덕에 리눅스 데스크탑에 많이 유입되었습니다.


하지만 문제는 새로운 버전이 나오지 않고 있습니다. 아무래도 손을 놓은 것이 아닐까 싶습니다. 최소한 게시판이라도 관리해줬으면 좋겠는데...


아쉽지만 없으면 직접 만들면 되겠지요.

어쨌건 시작하겠습니다.


준비물은

1.당연하게도 리눅스 데스크탑이 필요합니다.

2. Customizer(http://moordev.tistory.com/187)

3. LinuxMint MATE ISO

http://ftp.kaist.ac.kr/linuxmint-iso/stable/18.2/linuxmint-18.2-mate-32bit.iso

(32비트 구형 컴퓨터용)


http://ftp.kaist.ac.kr/linuxmint-iso/stable/18.2/linuxmint-18.2-mate-64bit.iso

(64비트 요즘 컴퓨터라면 당연히 이쪽이겠지요. 저도 이것을 쓰겠습니다.)

4. 삽질을 마다하지 않겠다는 굳은 의지

5. 각종 양념(추가할 글꼴이라던가 배경으로 삼을 이미지라던가...)


이번에 커스텀의 목표는 하모니카 기본 테마 버전 같은 수준을 목표로 하겠습니다.


그리고 저번에는 좀 왔다갔다 하는 그런 것이 있었는데 이번에는 터미널 작업이 더 많아 질 예정입니다. 그냥 귀찮아서 터미널 명령으로 때우는 것이 좀 많을 예정입니다.


Customizer를 실행합시다.


이전에도 말씀 드렸듯이 터미널에서

sudo customizer-gui


위 명령으로 실행하면 터미널에 진행 과정이 뜨기 때문에 편리하다고 말씀드렸었지요.

터미널과 함께라면 우린 무서울 것이 없었다

ISO선택 버튼을 누르고 다운로드 받은 LinuxMint 18.2 버전의 ISO 파일을 선택합시다.


그러면 /home에 ISO란 폴더와 FileSystem이란 폴더가 생기면서 ISO파일을 풀어냅니다.


그리고 마찬가지로 세팅 탭에서 위치(로케일이라고 바꾸고 싶네요)에서 ko_KR.UTF8선택


그리고 저장소 주소를 수정해야 하는데 리눅스 민트는 아쉽게도 소스 수정 버튼을 눌러봐야 아무런 소용이 없습니다.


추가 탭에서 파일 시스템 탐색으로 들어가서 저장소를 직접 수정하도록 합시다.

정말 많이 쓰인다 이 버튼

그다음 /home/FileSystem/etc/apt/sources.list.d


이곳으로 들어갑시다. 해당 버튼을 눌렀을 때 뜨는 곳이 /home/FileSystem이므로 etc폴더를 찾아 들어간다음 apt/sources.list.d 순서로 찾아가시면 됩니다.


이놈이 범인이다. 리눅스 민트가 우분투와 다른 몇 가지 중 하나


그러면 official-package-repositories.list 파일이 보이는데 이 녀석이 바로 저장소가 적힌 파일입니다. 이 파일을 텍스트에디터로 열어봅시다.


제일 위에 수동으로 수정하지 말아달라고 써있습니다만 커스텀 하는 중에 소프트웨어 소스를 쓸 수 있을리가 없잖습니까...


그냥 무시하고 수동으로 하겠습니다.




어디서 많이 본 것 같죠? 네 그냥 이전의 ElementaryOS 때의 것을 가져왔습니다.

archive.ubuntu.com 을 ftp.daumkakao.com으로

security.ubuntu.com 을 ftp.daumkakao.com으로 바꿨습니다.


ftp.daumkakao.com 이 마음에 안 드시면 ftp.kaist.ac.kr이나 ftp.neowiz.com도 있습니다.


여기에 한 가지를 더 추가하겠습니다. 바로 리눅스 민트 저장소입니다.

http://packages.linuxmint.com

을 카이스트 서버로 바꾸겠습니다. 카이스트의 리눅스 민트 저장소 주소는

http://ftp.kaist.ac.kr/linuxmint/

이겁니다.


저장하고 텍스트 에디터를 닫도록 합시다.


겸사겸사 파일 매니저를 연 김에 /etc/default/locale과 키보드 레이아웃도 수정하도록 합시다.


/home/FileSystem/etc/default

안에 있는 locale 파일과 keyboard 파일을 수정하겠습니다.





locale 파일은


LANG=ko_KR.UTF8


keyboard 파일은


XKBMODEL="pc105"
XKBLAYOUT="kr"
XKBVARIANT="kr104"
XKBOPTIONS=""
BACKSPACE="guess"


만약 노트북 키보드가 아닌 일반 키보드를 쓰신다면 XKBVARIANT 항목은 비워둬야 한다고 했었죠?


일단 여기까지만 하고 파일 탐색기를 닫읍시다. (나중에 또 열어야 합니다. 한글 입력기 때문에...)


이제 필요한 패키지를 설치하기 위해서 터미널 작업을 시작하겠습니다.


메인 탭의 터미널 버튼을 누릅니다.

그리고 한국어 로케일파일을 생성하기 위해서

locale-gen ko_KR.UTF-8




명령을 내립니다.

로케일 생성이 완료되었다면

그 다음 로케일 세팅을 마무리 짓기 위해


dpkg-reconfigure locales

위 명령을 내립니다.



그리고 이제 update-locale

이제 로케일 설정은 완료하고 (이제 /etc/default/locale 파일이 알아서 해 줄 겁니다.)


혹시 모르니까 /etc/default/locale 파일을 확인해주세요.


LANG=앞에 #이 생기는 경우가 있습니다. 그러면 앞의 #을 다시 지워주셔야 합니다.

keyboard 파일도 마찬가지입니다.


한국어 언어팩을 설치합시다.




패키지를 설치해야 하니 우선 apt-get update


그다음 한국어 언어팩 설치하기 위해서

apt-get install `check-language-support -l ko`


명령을 내립시다.




이 때 고맙게도 추천 패키지에 fcitx가 있어서 fcitx가 동시에 설치가 됩니다. 혹시 모르니 이후에 한 번 더 명령을 내리도록 하지요.


fcitx가 마음에 안 들면

apt-get install --no-install-recommends `check-language-support -l ko`

를 통해서 추천 패키지를 빼면 됩니다. 그리고 다른 한글 입력기를 설치하면 됩니다. 하지만 저는 fcitx를 그대로 쓸 예정입니다.


apt-get fcitx fcitx-hangul fcitx-config-gtk

이미 설치가 되어 있다고 뜨는군요. 좋습니다.


겸사겸사 apt-get upgrade 명령으로 업데이트도 미리 적용해둡시다.


필요한 작업은 다 끝난 것 같고 이제 한글 입력기 설정만 남았군요. elementaryOS때는 파일 시스템 탐색에서 만들었는데 이번에는 터미널에서 한번 만들어보도록 하겠습니다.


nano /etc/skel/.xinputrc


이렇게 하면 터미널에 텍스트 입력기가 딱 뜹니다.


run_im fcitx


이렇게 적읍시다.


Ctrl+O를 누르고 Enter

그리고 Ctrl+X를 눌러서 빠져나오면 /etc/skel폴더에 .xinputrc 파일을 직접 터미널에서 만들어 낸 것입니다.


일명 나노 입력기로 굉장히 메모장스러운 콘솔기반 텍스트 에디터다. 익숙해지면 마우스만 못 쓰는 메모장 취급을 하게 된다.

이걸로 필요한 것은 전부 다 했습니다. 근데 여기서 한 가지만 더 하도록 하지요.


이걸 한번 해보자



하모니카에서는 민트 메뉴의 이름을 윈도스럽게 "시작"이라고 바꿨는데요. 이것을 직접 해보도록 하겠습니다.


터미널은 exit명령을 통해서 빠져나옵시다.

다시 파일 시스템 탐색을 또 사용하도록 합시다.


이번에는

/home/FileSystem/usr/share/glib-2.0/schemas


이곳으로 가도록 합시다. 딱 봤을 때 미쳤다는 느낌이 확 들지 않나요? 여기서 저 시작메뉴를 담당하는 xml 파일을 찾아 수정할 것입니다. 어차피 제가 알려드릴테니 상관은 없습니다.


바로 com.linuxmint.mintmenu.gschema.xml 입니다.


파일명이 많이 헷갈리므로 조심하자


해당 파일을 텍스트 에디터로 열고

applet-text 라는 항목을 찾습니다. 그냥 검색 기능을 쓰면 편하겠지요.


찾았다!


해당 내용을 보시면


    <key type="s" name="applet-text">
      <default>"Menu"</default>
      <summary></summary>
      <description></description>
    </key>


이렇게 쓰여 있는데 눈치 빠르신 분들은 <default></default> 사이에 있는 "Menu"를 "시작"이라고 고치면 되겠다는 것을 아실 겁니다.


그리니까

    <key type="s" name="applet-text">
      <default>"시작"</default>
      <summary></summary>
      <description></description>
    </key>


이렇게 말이지요.


한글 입력이 안 되면 Ctrl+C, Ctrl+V가 있다.



비슷한 방법으로

mint-artwork-common.gschema.override(로그온 화면)과

mint-artwork-mate.gschema.override(데스크탑 배경화면)에서

background 부분을 수정하면 기본 배경 화면을 바꿀 수 있습니다.


정 귀찮으면 저 경로에 있는 파일을 덮어버려도 된다.



하는 김에 이것도 한번 해볼까요?


/home/FileSystem/usr/share/backgrounds


여기에 들어가면 기본 배경 화면이 참 많습니다.

마음에 안 들면 여기다가 더 추가하는 것이지요. 아니면 싹 삭제를 하고 갈아 엎어도 되는데 그랬다간 lightdm의 배경 화면도 설정 해야하는 문제가 생길 수 있으니 그건 참도록 합시다.


여기에 mybackground란 폴더를 하나 만들어봅시다.


이제 여기에 원하는 배경 화면을 한 번 추가한 뒤에 기본 배경화면으로 바꿔보도록 하겠습니다.


제가 쓸 배경 화면은...


이겁니다. 우분투 8.04 기본 배경 화면인데, 제가 굉장히 좋아하는 스타일의 배경 화면입니다.

해상도가 좀 낮다는 느낌이지만 저는 만족하니까요.


mybackground 폴더 안에 해당 이미지를 넣겠습니다.


그리고 아까 찾았던

mint-artwork-common.gschema.override(로그온 화면)과

mint-artwork-mate.gschema.override(데스크탑 배경화면)

이 두 파일에서

'/usr/share/backgrounds/linuxmint/default_background.jpg'

'/usr/share/backgrounds/mybackground/warty-final-ubuntu-7.jpg'

로 싹 물갈이를 합니다.


이제 기본 배경화면도 바꿨습니다. 여기에 필요하면 추가 폰트를 넣거나 다른 패키지를 같이 설치해주시면 되겠습니다.


여기서 부트 옵션을 손대보도록 합시다. LinuxMint는 어찌된 영문인지 우분투에서 사용하는 로케일 선택이 먹히지가 않습니다. 그래서 부트 옵션에 손을 대줘야 한국어 로케일이 잘 먹히더군요.


그동안은 파일 시스템 탐색 버튼을 눌렀지만 이번에는 ISO 탐색 버튼을 이용하겠습니다.


/home/ISO/isolinux/isolinux.cfg

해당 파일을 텍스트 에디터로 열어 봅시다.

아래쪽에


label live
  menu label Start Linux Mint
  kernel /casper/vmlinuz
  append  file=/cdrom/preseed/linuxmint.seed boot=casper initrd=/casper/initrd.lz quiet splash --
menu default
label xforcevesa
  menu label Start in compatibility mode
  kernel /casper/vmlinuz
  append  file=/cdrom/preseed/linuxmint.seed boot=casper xforcevesa nomodeset b43.blacklist=yes initrd=/casper/initrd.lz ramdisk_size=1048576 root=/dev/ram rw noapic noacpi nosplash irqpoll --
label oem
  menu label OEM install (for manufacturers)
  kernel /casper/vmlinuz
  append  file=/cdrom/preseed/linuxmint.seed oem-config/enable=true only-ubiquity boot=casper initrd=/casper/initrd.lz quiet splash --
label check
  menu label Integrity check
  kernel /casper/vmlinuz
  append  boot=casper integrity-check initrd=/casper/initrd.lz quiet splash --
label memtest
  menu label Memory test
  kernel /casper/memtest
label local
  menu label Boot from local drive
  COM32 chain.c32
  APPEND hd0


뭔가 엄청나게 많은 것을 알 수 있습니다. 여기에 부트 옵션을 추가해서


label live
  menu label Start Linux Mint
  kernel /casper/vmlinuz
  append  file=/cdrom/preseed/linuxmint.seed boot=casper initrd=/casper/initrd.lz quiet splash lang=ko_KR.UTF8 --
menu default
label xforcevesa
  menu label Start in compatibility mode
  kernel /casper/vmlinuz
  append  file=/cdrom/preseed/linuxmint.seed boot=casper xforcevesa nomodeset b43.blacklist=yes initrd=/casper/initrd.lz ramdisk_size=1048576 root=/dev/ram rw noapic noacpi nosplash irqpoll lang=ko_KR.UTF8 --
label oem
  menu label OEM install (for manufacturers)
  kernel /casper/vmlinuz
  append  file=/cdrom/preseed/linuxmint.seed oem-config/enable=true only-ubiquity boot=casper initrd=/casper/initrd.lz quiet splash lang=ko_KR.UTF8 --
label check
  menu label Integrity check
  kernel /casper/vmlinuz
  append  boot=casper integrity-check initrd=/casper/initrd.lz quiet splash --
label memtest
  menu label Memory test
  kernel /casper/memtest
label local
  menu label Boot from local drive
  COM32 chain.c32
  APPEND hd0

여기서 빨간색으로 표시한 lang=ko_KR.UTF8 을 추가해줍니다. 사실 /etc/default/locale이 알아서 해주기는 하지만 혹시나 하고 추가하는 것 입니다. 몇몇 라이브 리눅스 도구에서 로케일 설정을 날려버리기도 하더군요.


이제 ISO 다시빌드 버튼을 눌러서 확인을 해봅시다.


다만, 단점이 Customizer가 커널을 지 마음대로 낮춰 버립니다. 아마도 이건 Customizer의 버그로 추측됩니다. 뭐...상관은 없습니다.


이제 테스트를 해봅시다. 테스트는 VirtualBox를 이용했습니다.



한글 입력과 바뀐 배경 화면이 모두 잘 적용되었습니다. 한국어 인터페이스도 잘 뜨는군요.


아쉬운 거라면 커널 버전이 마음대로 4.4로 낮춰졌다는 것인데 4.4가 장기 지원 판임을 감안하면 이해 못 할 것도 없습니다.


만약 우분투 기반의 커스텀 배포판을 만들고 싶다면 이런 식으로 만들면 되는 겁니다! 쉬웠나요? 아니면 어려웠나요? 조금씩 따라한다면 어렵지 않을 것이라고 생각합니다.


여기서 만든 ISO를 배포하기로 했습니다. 우선 그 다음 보충 설명이 있으니 다음 글 제일 아래에 있는 링크를 눌러주시면 되겠습니다.

http://moordev.tistory.com/194

,

https://www.stanleyparable.com/


Stanley Parable은 굉장히 실험적이고 신기한 게임입니다. 그리고 3대 OS를 다 지원합니다. 사실은 Portal2의 리소스와 코드를 활용했다고 하지요. 그래서 Portal2가 제대로 안 되면 얘도 제대로 안 돌아갑니다.


자세한 게임 내용은 굳이 말 안 하는게 좋은 게임이고 어쨌건 해당 게임의 데모버전으로 구동이 가능한지 테스트를 잠깐 해보았습니다.


.....안 되네요. 스팀이 따로 반응이 없더군요. 그래서 스팀을 따로 실행한 상태로 직접 ~/.steam/steam/steamapps/The Stanley Parable Demo (데모의 경우)

~/.steam/steam/steamapps/The Stanley Parable (정식판의 경우)

이곳으로 직접 들어가서 터미널로 ./stanley_linux 명령으로 실행했더니


그럼 그렇지 싶습니다.


libtcmalloc_minimal.so.4 파일이 없다고 합니다. 사실 이건 모든 소스 엔진 게임에 적용되는 사항이라고 합니다.

https://askubuntu.com/questions/902821/error-while-loading-shared-libraries-libtcmalloc-minimal-so-4


스팀설치하면서 왜 이걸 빼 먹었나 싶지만 어쨌건 필요한 패키지를 설치하면 되는 거겠지요.


sudo apt install libtcmalloc-minimal4:i386


그랬더니 추가 에러가 나옵니다.



이 무슨... 그냥 구글에 넣고 검색했더니 libstdc++.so.6 파일 문제라고 합니다.

~/.steam/steam/steamapps/common/The Stanley Parable Demo/bin


여기 있는 libstdc++.so.6파일의 이름을 바꾸라고 합니다. 아에 읽지 못하게 삭제를 하던지요.


그냥 뒤에 bak을 붙이던지 하면 되겠지요.


mv .steam/steam/steamapps/common/The Stanley Parable Demo/bin/libstdc++.so.6

.steam/steam/steamapps/common/The Stanley Parable Demo/bin/libstdc++.so.6.bak


(데모의 경우)


mv .steam/steam/steamapps/common/The Stanley Parable/bin/libstdc++.so.6

.steam/steam/steamapps/common/The Stanley Parable/bin/libstdc++.so.6.bak


(정식판의 경우)


이런 명령을 줘서 바꾸던지 아님 그냥 직접 파일 매니저로 갈아치우던지 하면 되겠습니다.


아차 Stanley Parable의 경우에는 폰트 문제가 있어서 한글패치를 하고 하시려면

basemodui_scheme.res

파일을 수정해야 합니다.


한글패치는 http://hellostrangers.tistory.com/81

여기서 구할 수 있습니다. 이 안에 있는 basemodui_scheme.res 파일을 수정해야 한다는 의미지요.


기본 폰트는 League Gothic Regular 라는 폰트인데 이것이 한글이 전혀 없습니다. 스탠리 패러블에는 어울리는 폰트일지언정 보이지 않는 다면 쓰레기겠지요.


http://steamcommunity.com/app/221910/discussions/0/792924952392503442/?l=koreana


그냥 귀찮으니까

League Gothic Regular

NanumGothic

으로 갈아치웁시다.


그러면 나눔고딕으로 싹 바뀌어서 뜨겠지요. 좀 거시기 하기는 하지만 마음먹으면 Noto Sans도 쓸 수 있고 그냥 Gulim으로 적어서 바보같이 만들 수도 있을 겁니다.


음.. 이제 한글로 잘 뜨는군요. 모양은 좀 거시기 하지만...


그럼 Portal2는 어떨까요?


우리는 Stanley Parable을 위해 라이브러리를 설치하고 파일을 수정했는데요. 비슷한 방법으로 만약 실행이 안 된다면 libstc++.so 파일을 손을 대면 문제 없이 실행됩니다. 단 한글 폰트는 ttf-wqy-zenhei 패키지를 설치해 주셔야 제대로 실행이 됩니다.


뭐... 이것은 굳이 따로 안 해도 잘 되겠네요.

,


지난번에는 나만의 배포판을 만들기 위해 Customizer를 설치했었습니다.

참고 :http://moordev.tistory.com/187


이번에는 이것을 이용해서 우분투 기반의 배포판에 한글입력기를 설치하고 일부 패키지를 설치하는 식으로 조금씩 커스터마이징을 해보도록 하겠습니다.


그래서 이번에 해볼 배포판은 바로 위에 나와있는 ElementaryOS입니다. (https://elementary.io/)


굉장히 예쁘고 Mac스럽기 때문에 익숙함에서 오는 묘한 편리함이 있습니다. 하모니카에서도 Plank+Numix버전이 바로 ElementaryOS의 데스크탑인 Phanteon을 설치한 물건이었습니다.


ElementaryOS는 0.3 freya까지는 한국어 언어팩 설치가 힘들었지만 0.4 loki부터는 처음부터 한국어 언어팩을 내장하는 등 굉장히 편리해 졌습니다. 실제로 어렵지 않더군요.


그럼 시작해 보겠습니다.


우선 ElementaryOS의 ISO를 다운로드 받아야겠지요?

https://elementary.io/ko/


구입이라고 써있어서 새삼 놀라지는 마세요. 구입가격은 0부터 시작할 수 있습니다. 그러니까 0을 적고 elementaryOS다운로드 버튼을 누르셔도 된다는 의미입니다.

얼마를 적던지 상관이 없다. 그저 0이상의 정수를 적기만 하면 된다. 가벼운 마음으로 0달러를 적어도 되고 진짜 마음에 든다면 100달러를 투척해도 상관없다는 의미다.

ISO의 다운로드가 완료되었다면 이제 customizer를 실행할 차례입니다.


터미널을 열고 아래와 같은 명령을 내리세요.


sudo customzier-gui


이렇게 해주시면 터미널에 진행 상황이 뜨고 문제가 생겼을 때 메시지를 확인 할 수 있어서 편리합니다.


ISO선택 버튼이 보이실 겁니다. 저것을 누르고 아까 다운로드 받은 ElementaryOS의 ISO이미지 파일을 선택하시면 터미널에 ISO의 압축풀기 및 일부 뼈대파일 구축을 위한 준비를 해줍니다. ISO압축해제 데이터의 경로는 /home/FileSystem이고 ISO부팅을 위한 뼈대파일은 /home/ISO입니다. 세팅 탭에서 이것은 바꿀 수 있습니다만 저는 기본 상태 그대로 사용하겠습니다.


압축이 풀리는 중... 만약 터미널을 같이 안 띄웠으면 얼마나 진행되었는지 알 수가 없어서 답답했을 것이다.

커스터마이징 작업이 준비가 되었다면 제일 먼저 하는 일은 세팅탭에서 chroot의 국가및 언어설정을 한국어로 설정하는 것입니다.


위치라고 되어있는데 아마도 Locale의 번역을 그냥 이렇게 한 것 같다. 국가 설정? 이런 것이 낫지 않았을까.

사실 이것은 배포판의 기본 Locale 설정과 아무 관계가 없지만 이후 터미널 작업시 그나마 한국어로 작업하는 것이 좋기 때문에 하는 것입니다. 만약 귀찮다면 이 부분은 넘어가도 좋습니다.


다시 메인 탭으로 넘어와서 소스 수정 버튼을 눌러봅시다. 여기서 소스는 저장소의 소스를 말합니다. 즉, 저장소의 서버 주소를 말하는 것이지요. 배포판에 따라선 여기서 수정할 수 없고 추가 탭의 파일시스템 탐색으로 들어가 /home/FileSystem/etc/default/apt/source.list.d/안에 있는 파일을 수정해야 할 수도 있습니다. (리눅스 민트가 대표적)


다행히 ElementaryOS는 우분투와 동일하게 source.list 파일에 저장소를 적어두었습니다.


주소들이 대부분 http://archive.ubuntu.com/ubuntu 이군요. 여긴 공식저장소 서버로 여기서 패키지를 받아오려면 한참이 걸립니다. 따라서 여기를 한국서버로 바꾸겠습니다.


일반적인 방법으로는 archive.ubuntu.com을 kr.archive.ubuntu.com으로 바꾸고 security.ubuntu.com은 그대로 두는 방법이 있습니다.


지에디트(gedit - 그놈의 기본 텍스트 에디터)나 Pluma(MATE계열 기본 텍스트 에디터)를 기준으로 검색-바꾸기를 누르신다음


이렇게 해주시고 모두 바꾸기를 누르시면 됩니다. 일반적인 방식입니다.


또 다른 방법으로는 그냥 아는 주소로 갈아치우는 방법입니다. ftp.daumkakao.com 이 국내 2위의 포털답게 굉장히 속도가 빠른데요. 그냥 이걸로 갈아치우면 패키지 받아오는 속도가 정말 빠릅니다. 


저는 아래의 방식을 추천합니다. 빠른 버전업도 중요하지만 업데이트 작업 속도가 빠른 것도 중요하거든요.


이제 저장 버튼을 누르고 잠시 기다리면 Customzier 창이 정상으로 돌아올 것입니다. 이제 다음 작업은 기본 국가 설정을 한국으로 하는 것입니다.

우선은 파일조작이니 추가 탭에서 파일시스템 탐색 버튼을 누릅시다.

Customizer에서 터미널과 함께 자주 쓰는 버튼


그러면 관리자 권한으로 /home/FileSystem으로 된 파일 매니저가 실행이 될 겁니다.


여기서 etc/default폴더로 들어가면 locale이란 파일과 keyboard 파일이 있습니다. 파일명을 보시면 이 두 파일이 국가설정과 키보드 배치에 관여하는 파일이라는 사실을 눈치 챌 수 있을 겁니다.


이번에 수정 되어주실 두 분



우선 locale파일을 열면 아무것도 적혀있지 않거나 영어로 되어있을 것입니다.

그것을 이렇게 바꿉시다.


우선 locale파일

LANG=ko_KR.UTF-8

이렇게 적어주시면 됩니다.


그리고 keyboard 파일은 이렇게


XKBMODEL="pc105"
XKBLAYOUT="kr"
XKBVARIANT="kr104"
XKBOPTIONS=""

BACKSPACE="guess"


여기서 한 가지 알아두셔야 할 것이 있는데요. XKBVARIANT="kr104"은 노트북 용으로 오른쪽 Alt키를 한/영키를 대신할 때 사용합니다. 따라서 일반 키보드 사용자 분들은 XKBVARIANT="" 이렇게 지워주셔야 합니다.


그리고 이왕 하는 김에 시간대도 설정하지요. /home/FileSystem/etc에 있는 timezone이란 파일을 열면 etc/UTC라고 써있을 것입니다.

Asia/Seoul로 고쳐주시면 됩니다.




일단 큰 작업은 끝났고 터미널로 돌아가기 위해서 파일 매니저를 닫읍시다.

그러면 비활성화 상태였던 customzer에 생기가 돌아옵니다. 이제 메인 탭으로 가서 터미널 버튼을 누르도록 합시다. (사실 마음먹고 하면 터미널의 nano나 vi 만으로도 작업이 가능하지만 일단 쉽게 하기 위해서 파일매니저를 통한 작업을 먼저 했습니다.)


먼저 수정된 저장소로부터 패키지 목록을 받아올 것입니다. 왜냐하면 한글 입력기와 몇 가지 언어팩을 설치 해야하니까요.


앞에 sudo를 안 써도 되는데 습관이다.

apt-get update


정상적으로 소스 수정을 했다면 아무 문제 없이 패키지 목록을 받아올 것입니다.


우분투나 쿠분투, 루분투의 경우에는 이 단계에서 한글 언어팩을 설치하는데 elementaryOS의 경우에는 이미 다 설치 되어 있어서 바로 다음 작업으로 넘어갈 수 있었습니다.


사실 한글 언어팩을 설치하는 명령은

apt-get install `check-language-support -l ko`


이겁니다. 그런데 elementaryOS는 필요한 언어 팩은 다 설치가 되었기 때문에 아무 반응이 없습니다. 좋은 것입니다. 다음 Target에서는 분명히 저 명령을 쓸 일이 생기겠지요.


그 다음 다시 한번 국가 설정을 하도록 합시다. 사실 안 해도 문제는 없을 것 같은데 혹시 몰라서 한 번 더 하는 것입니다.


dpkg-reconfigure locales


여기서 ko_KR.UTF-8를 찾아 열심히 선택하시고 Space bar를 누른 다음(그럼 별표가 생길 겁니다.) Tab키를 눌러서 확인 버튼을 누른다음 기본 로케일을 ko_KR.UTF-8을 선택하고 다시 Tab키를 눌러서 확인에 enter를 누르시면 됩니다.


그러면 로케일을 생성한다면서 어쩌고 저쩌고 한참 걸리는데 보통의 우분투는 영문 기본(en_GB.UTF-8)과 ko_KR.UTF-8만 나오는데 elementaryOS는 그냥 로케일을 다 때려넣었더군요. 그냥 배포판 특징이라고 생각합시다. 말 그대로 초보자용 OS니까요.


이걸로 힘들었던 국가설정은 끝났습니다. 이제 한글 입력기를 설치합시다.


저는 한글 입력기로 fcitx를 사용하겠습니다. fcitx가 설정이 편하거든요. 기본 한국어 설정도 좋고요. 만약 uim을 원하시는 분이 계신다면...직접 한번 해보시는 것을 추천합니다.


fcitx를 설치합시다.

apt-get install fcitx fcitx-hangul

이제 뭔가가 주루룩 설치되겠지요? 아까 국가 설정을 해놓았기 때문에 알아서 한국어 설정까지 끝내버립니다. 그래서 제가 편하다고 하는겁니다. 국가 설정을 보고 알아서 입력기 설정을 해버리거든요.

뭔가 이것저것 많이 설치하는 중...



이제 한글 입력기도 설치가 끝났으니 다른 것을 하나 더 해볼까요?


elementaryOS는 기본 웹브라우저로 Epiphany라는 물건을 씁니다. 그런데 이게 뭔지 아시나요?


사실 그놈 데스크탑의 기본 웹브라우저인데 Firefox나 Chrome같은 워낙 대단한 물건들이 많다보니 상대적으로 묻힌 비운의 브라우저입니다. 비슷한 처지인 Konquerer(KDE의 기본 브라우저이자 파일 매니저)는 그나마 KDE를 쓴다면 다용도로 쓸 수 있어서 그나마 쓰이지만 Epiphany는 아쉽게도 확장성은 Firefox에 밀리고 성능은 Chrome에 밀리며 가벼움은 midori에 밀리는 아무튼 그런 물건입니다.


제 생각에 그냥 Epiphany따윈 지워버리고 Firefox를 설치하는게 좋을 것 같습니다. 그럼 이 부분도 마저 작업을 하도록 합시다.


apt-get remove epiphany-browser

apt-get install firefox

apt-get autoremove


일단 여기까지 하시면 firefox를 설치할 수 있는데 여기서 한 가지 더 해주셔야 합니다. Firefox의 한글 언어팩을 설치 안 했거든요.


apt-get install `check-language-support -l ko`


이렇게 하면 firefox의 한글 언어팩도 마저 설치됩니다.


여기서 필요하면 Flash도 설치할 수 있겠지만 2017년이 된 지금 Flash는 필수가 아닌 선택이 되어 버렸으니 이쪽은 넘어가도록 하겠습니다. 사실 adobe가 Flash지원을 다시 하기는 헀지만 Chrome의 pepper와 비교해서 어떤게 나을지는 알 수가 없기도 하고 요즘 웹에서 Flash가 이젠 딱히 필요 없기도 해서 그냥 안 하기로 했습니다.


굳이 하시겠다면


apt-get install flashplugin-installer


이렇게 하시면 됩니다.



이제 터미널에서 나와야겠지요. 터미널 창은 그냥 닫지 마시고


exit


명령으로 나와주셔야 합니다. 그래야 chroot가 무사히 풀립니다. 안 그러면 꼬입니다.


이제 다 되었을까요? 아니요.

하나 더 남았습니다. 우린 아까 한글입력기인 fcitx를 설치했지만 이것을 입력기로 사용한다는 설정을 하지 않았습니다. 그리고 elementaryOS는 Plank라는 Dock을 사용하는데 Dock에 Firefox도 등록하지 않았습니다. 이 두 작업을 마저 하도록 합시다.


이제 남은 작업은 USER MODE SETTING 즉, home/유저명 폴더 안에 있는 세팅을 미리 하는 작업입니다. 해당 작업은 /etc/skel 안에 있지요.(skel은 skeleton의 줄임말입니다.)


customizer의 추가 탭에 들어가서 다시 파일시스템 탐색 버튼을 누르도록 합시다. /etc/skel 파일내를 파일매니저를 통해 수정할 생각이거든요.



Customizer에서 터미널과 함께 자주 쓰는 버튼


사실 터미널을 닫아다가 열었다가 하는 것이 귀찮으신 분들은 관리자 권한으로 따로 파일 매니저를 열어서 작업하기도 합니다. 하지만 편한게 편한거라고 이런 식으로 왔다갔다 하는 편이 동시 작업 할 일이 없어서 더 안전합니다.


/home/FileSystem/etc/skel 순으로 들어가 봅시다.


아무것도 안 보일 텐데요. 숨김파일을 보이게 하면 될 겁니다.


.xinputrc 파일은 내가 미리 만든거다. 오해하지 말자. 없으면 만들면 되는거다.

안 보였던 파일과 폴더가 보일겁니다. elementaryOS가 아닌 다른 배포판의 경우에는 이것조차 없는 경우가 있는데 그러면 만들면 됩니다.


우선 한글 입력기 설정을 위해서 .xinputrc란 파일을 하나 만듭시다.


그리고 안의 내용은


run_im fcitx


이렇게 적으시면 됩니다. 이제 한글 입력기 설정도 끝났습니다.


이제 Plank설정을 하러가 볼까요?


여기 보시면 .config이란 폴더가 하나 보입니다. 누가봐도 설정파일이 들어있는 폴더란 느낌이 다분하죠?


여러분이 사용하시는 리눅스 데스크탑에는 .config 폴더안에 어마어마하게 많은 것이 있을 것입니다. 여기서는 그냥 plank 하나만 있군요. 안에 폴더가 계속 나오는데


/home/FileSystem/etc/skel/.config/plank/dock1/launchers


그냥 여기로 갑시다.


dockitem이란 파일이 많군요. 여기서 epiphani.dockitem이란 파일이 하나 있는 것을 알 수 있습니다.


우린 아까 Epiphany따윈 필요없다고 그냥 날려버리고 Firefox를 설치했지요. 그러니까 epiphany대신 firefox로 바꾸도록 합시다.


일단 epiphany.dockitem 파일은 이제 필요없으니 지워버립시다.

그리고 새로 firefox.dockitem이란 파일을 하나 만듭시다.


그리고 그 내용은


[PlankDockItemPreferences]
Launcher=file:///usr/share/applications/firefox.desktop


이렇게 적으시면 됩니다.

이게 무슨 뜻인지 궁금하시다면  /usr/share/applications란 폴더에 들어가면 엄청난 수의 desktop파일이 있는데 이것이 바로 우리가 메뉴에서 보던 그 아이콘들입니다. 바로 해당 Dock의 아이템은 아 아이콘인 것이다. 라는 의미입니다. 맘먹고 하면 다른 것도 만들 수 있겠지요.


여기까지 왔으니 추가 폰트를 미리 넣는 것도 한번 해볼까요?


저장소에서 설치 지원이 되는 폰트면 아까 터미널에서 작업을 미리 할 수 있었겠지만 만약 그렇지 못한 폰트라면 수동으로 넣어줘야 합니다.


customizer로 실행된 파일 매니저로

/home/FileSystem/usr/share/fonts

여기로 들어가 봅시다.


여기에 보시면 X11, truetype, opentype 등등 많은데요. 여기서 보통은 TTF파일을 많이 사용할테니 truetype 폴더에 들어가봅시다. 그러면 여기에도 뭔가 많이 있습니다.


여기서 폴더별로 정리해서 사용하고 있다는 것을 알 수 있는데 여기에 우리만의 특별한 폰트들을 넣어보도록 하지요.


여기에 폴더를 하나 만들어봅시다. 이름은... MY FONTS 정도가 괜찮겠군요.


그리고 이 안에 그냥 추가하고 싶은 폰트들을 넣으면 되는 겁니다. 저 같은 경우에는 서울 서체(http://www.seoul.go.kr/v2012/seoul/symbol/font.html)와 가짜굴림(http://moordev.tistory.com/176)

을 넣었습니다. 서울 서체는 윈도우용 수동설치 파일을 다운로드 받았습니다.


그냥 이렇게 드래그해서 밀어넣으면 폰트추가 끝

이 외에도 이것저것 넣고 싶은게 많으면 그냥 다 넣으시면 됩니다.


이제 대망의 ISO 제작의 시간입니다.


파일 매니저를 닫고 ISO 다시 빌드 버튼을 누릅시다.


빌드중... 시간이 꽤 걸린다.

짜잔! 이제 완성되었습니다! 테스트 해봐야지요!

QEMU버튼을 누르면 QEMU로 테스트를 할 수 있습니다.


물론...시스템에 따라..

이 따위로 패닉이 날 수도 있는데 Qemu의 잘못이지 여러분의 잘못은 아닙니다. 이런경우에는 Qemu대신 Virtualbox를 사용하는 것을 추천합니다.


Virtualbox에 대한 자세한 내용은 넘어가도록 하고 Virtualbox에서 테스트를 해봤습니다. 최종적으로 만들어진 ISO는 /home 폴더에 있습니다. Virtualbox에서 가상머신에 넣을 이미지를 해당 ISO로 하시면 됩니다.



처음 써보는 물건이라 걸리는 것이 있기는 하지만 한글 출력과 한글 입력이 되기는 되는군요. fcitx가 약간 버그가 있는 것인지 조금은 특이하게 입력이 되는 것 같지만 일단 아무 문제 없이 입력이 되기는 합니다.


그리고 Epiphany를 대신해서 설치한 Firefox도 아무 문제 없이 한국어로 잘 실행되는군요.


참고로 sha1 sha256 md5가 모두 계산되어서 있으니 나중에 배포하실 때 같이 첨부해서 배포해주세요.


해당 ISO를 공유합니다.


https://drive.google.com/open?id=0B575ztEFv5-UdXJmb0NtOEpRVEU


MD5 :1fa3d2c692e3f3f6a735f13918c50535

SHA256 : 198b68cb4e1d1fb35ed2136aa16dfb451e18ff62e1b0e8a2b6b295f1b41e8cc8

SHA1 : ec7382f2744f2f02d0efb8e494eac35580e36412

커스텀 된 것은 위에서 한 그대로이므로 그냥 Elementary OS에 한글 입력기를 끼얹고 한글폰트를 추가 한 후 Firefox를 설치했다... 정도입니다.

,


가끔.. 아주 가끔이지만 우분투 계열 사용자 중에서 시스템종료할 때마다 위의 화면과 같은 메시지를 띄우면서 종료가 늘어진다고 호소하는 사람이 많습니다.



이 물건은  Assistive Technology Service Provider Interface라고 그놈에서 사용하는 패키지 중 하나입니다. UI경험을 도와주는 역할을 한다고 합니다. 하지만 UI경험을 도와주기는 커녕 UI 경험을 까먹고 있지요.


그렇다면 이딴 패키지는 필요 없습니다. 그냥 없애버리는 것이 정답입니다. 하지만 이 패키지는 그놈 데스크탑과 관련이 깊기 때문에 쉽게 해제해서는 안됩니다. 그냥 패키지는 냅두고 프로그램이 돌아가지 않게만 하는 것이 낫습니다.


그러니까 저 at-spi 대몬을 이름을 바꿔서 작동 안 하게 하는 것입니다.


sudo mv /usr/lib/at-spi2-core/at-spi-bus-launcher /usr/lib/at-spi2-core/at-spi-bus-launcher.old

sudo mv /usr/lib/at-spi2-core/at-spi2-registryd /usr/lib/at-spi2-core/at-spi2-registryd.old


이렇게 하면 저 메시지가 괴롭히는 일이 없어질 것입니다.

,


예전에 이런 글을 올린적이 있었지요. UCK vs U-customzier http://moordev.tistory.com/42


UCK라는 도구와 U-Customizer란 도구였습니다.


그중 UCK는 우분투 공식 커스터마이징 도구였고 사용은 편하지만 조금 자세한 커스터마이징은 힘들었다고 했었지요.


U-Customizer란 도구는 chroot를 사용해서 굉장히 다양한 커스터마이징이 가능한 도구지만 그만큼 초보자에겐 고역인 물건이라고 소개를 해었습니다. 특히 GUI로 Gambas를 이용했는데 이놈의 설치가 문제가 많아서 특히나 고역이었습니다.


하지만 시간은 흐르고 흘러서 새로운 소스로 U-Customizer(이후 Customizer로 통일하겠습니다.)가 새로 나오게 되었습니다.


Github주소도 바뀌었습니다. 이전의 gambas기반의 소스는 따로 보관하고 PyQT를 기반으로 새로운 GUI를 만들었습니다. 덕분에 반응 속도가 좋아졌습니다.


https://github.com/kamilion/customizer


다만 아쉬운 것이 있다면 PPA를 운영하거나 바이너리를 제공했으면 하는데 예나 지금이나 소스만 내주더군요. 게다가 github의 마스터브랜치의 소스는 말이좋아 마스터 브랜치지 지뢰밭입니다. 버그가 여기저기 산개해 있습니다. 차라리 최신버전의 우분투를 커스터마이징 하지 않는다면 Release페이지(https://github.com/kamilion/customizer/releases)의 소스를 사용하는 것을 추천합니다.


여기서 zip으로 다운로드 받던지 tar.gz로 다운받던지 마음대로 하자. 어쨌건 둘 다 압축 푸는 것은 문제 없다.



만약 자신만의 우분투를 만들기 위해 Customzier에 입문하시는 분들이라면 소스코드를 보자마자 난감해 하실 겁니다. 그도 그럴것이 요구하는 패키지에 대해 설명을 안 해 놓았더군요.


sudo apt-get install git build-essential fakeroot make binutils g++ \
python python-dev python-qt4 pyqt4-dev-tools squashfs-tools \
xorriso x11-xserver-utils xserver-xephyr qemu-kvm dpkg-dev \
debhelper qt4-dev-tools qt4-linguist-tools

이겁니다. 사실 Customizer는 python3와 QT5를 이용해서 새로 만들고 있기 때문에 위의 패키지 중에서 pyqt4와 python2.7을 대신하려고 하고 있습니다. 하지만 2017년 7월 기준으로 마스터 브랜치가 아직 문제가 많습니다. Python3와 QT5를 이용해서 컴파일 했는데 (소스 루트에 있는 Makefile을 수정하면 됩니다.) ISO를 도로 묶는 것이 안 되거나 chroot가 안 되면서 파일 시스템을 꼬아버리는 문제가 있습니다. 그런데 그게 같은 상황에서 일어나면 이해하겠는데 가끔 그런 일이 일어나니 그게 더 머리 아플 지경입니다. 버그 리포팅을 하고 싶어도 언제 그런 일이 벌어지는지 설명을 할 수가 없어요. 버그 상황 재현이 안 된다고 할까요.


그래서 2017년 7월 현재 아직은 Python2.7과 QT4를 기반으로 한 버전을 사용하겠습니다.


이제 설치를 어떻게 할까요? Installer.py를 실행하면 될까요? 이것을 써도 되는데 우리는 바로 DEB을 만들어서 설치를 하도록 합시다.


터미널 작업 당연히 들어갑니다. Customzer로 chroot 작업하는 것도 순전 터미널 삽질이니 터미널에는 친해져야 합니다. 더군다나 소스 컴파일이라 터미널이 어쩔 수가 없더군요. (훗날 누군가가 제대로 된 GUI 도구를 만들어 줬으면 합니다. 그런데 이놈의 make 옵션 들 때문에...)


cd 소스압축 푼 곳

make deb


끝입니다.


이러면 소스코드가 있던 곳 상위 폴더에 (그러니까 소스 코드를 ~/SRC/Customizer에 풀었다면 ~/SRC 여기)에 DEB 파일이 하나 생성 됩니다. 우리는 우분투를 쓰고 있고 DEB파일이 있다?

그냥 설치하면 그만이겠지요. Gdebi나 소프트웨어 센터나 dpkg나 아무거나 쓰고 싶은거 쓰세요.


그러면 메뉴에 Customizer라고 생기는데...


이거 문제 많습니다. 사실 chroot를 사용해야 하기 때문에 관리자 권한이 필요하고 GUI에는 진행 상황이 제대로 뜨지 않기 때문에 굉장히 답답합니다. 그러니까 저걸 아직 선택하지는 말아주세요.


그냥 터미널을 열고 다음과 같이 입력하시는 것을 추천합니다.


sudo customizer-gui


이렇게 하면 터미널에 진행상황이 전부 다 뜨고 답답함이 많이 줄어듭니다. 단점이라면 이후 커스터마이징 중에 사용하는 chroot기반 터미널하고 헷갈린다는 것 정도?


하지만 chroot기반은 사용자 이름이 root 일테니 구분하면 편합니다.


이후 작업은 커스터마이징을 할 배포판의 ISO를 선택하고(우분투 기반이 아닌 다른 배포판도 모두 가능하다고 합니다. 어차피 chroot를 이용해서 패키지를 설치하거나 삭제하는 것으로 작업하는 것이라...)


터미널 버튼을 통해서 chroot로 들어간 뒤에 이런저런 작업을(/etc/apt/source.list 파일의 서버를 한국 서버로 바꾼다거나 이런저런 패키지를 추가하거나 미리 업데이트를 해버리거나 한국어 입력기를 설치하거나) 진행하고 ISO가 풀린 곳에 (주로 /home/Filesystem)관리자 권한으로 파일 매니저로 열어서 이런 저런 파일을 넣어주거나 삭제하고 Filesystem/etc/skel 내부에 이런저런 작업을해서 유저모드 설정을 마무리를 지으면 커스터 마이징이 끝나게 됩니다.

그리고 ISO다시 빌드 버튼을 누르면 세팅이 완료된 ISO가 만들어지게 되는 것이지요.


자세한 것은 다음에 알려드리도록 하고 이번에는 Customizer를 설치하는 것까지만 하기로 했으니까요. 이상 Customizer 설치법에 대해 알려드렸습니다.


다음에는 Customizer로 특정 배포판을 미리 한국어 설정으로 해보도록 하겠습니다. 우분투는 UCK로 하는 것이 너무 쉽기 때문에 UCK가 먹히지 않는 LinuxMint나 ElementaryOS를 가지고 해보겠습니다.


그럼 다음에는 Customizer로 한국어 설정을 미리 완료한 배포판을 만들어보도록 하겠습니다.

,

리눅스에서 동영상 가속을 할 때에 관하여 글을 적은적이 있었습니다.

http://moordev.tistory.com/181


VDPAU, VAAPI가 주력이고 서로가 서로를 보완하는 관계라고 했었지요.


Nvidia vs Intel의 구도라고도 할 수 있는데 그 와중에 AMD는 둘 다 지원 중이라고 했습니다.


하지만 드라이버 지원이나 WineNine같은 가속을 위해서 Padoka PPA를 쓰면 AMD에서도 VAAPI 가속이 비활성화 되고 맙니다. mesa-va-driver라는 패키지를 설치하면 VAAPI가 지원이 되어야 하지만 Padoka PPA에서는 해당 패키지를 제공하지 않습니다. 그리고 LLVM5.0으로 업그레이드 되면서 기존의 패키지는 작동을 하지 않게 되고맙니다.


그래서 대신 쓸 수있는 방법이 VDPAU를 VAAPI로 감싸서 사용하는 방법이 있습니다. 사실 이건 VAAPI가 지원이 되지 않는 Nvidia에서 사용하는 방법이지만 VAAPI가 지원이 안 된다면 AMD에서도 충분히 해볼 수 있습니다.


우선 vdpau-va-driver를 설치합시다.


sudo apt install vdpau-va-driver


그리고 환경설정을 조금 바꿔줘야 하는데요.


/etc/enviroment 파일에 아래와 같이 적어주셔야 합니다.


LIBVA_DRIVER_NAME=vdpau


~/.profile에 적어주셔도 되는데 이때에는


export LIBVA_DRIVER_NAME=vdpau


이렇게 해야 VDPAU드라이버로 VAAPI를 작동시키게 됩니다.



위 스크린샷을 보시면 위쪽은 환경설정을 안 했을 때의 VAAPI정보이고(오류가 납니다.) 아래는 VDPAU로 환경설정을 했을 때 VAAPI정보입니다. MPEG2부터 H264와 VC1까지 지원한다고 나옵니다.


실제로 QT기반 webkit 프로그램의 HTML5가속의 경우 VAAPI가속을 사용하게 때문에 해당 환경설정은 효과가 있었고 정상적으로 사용할 수 있었습니다.


AMDGPU를 쓰면서 PadokaPPA를 쓰시는 분들은 참고 바랍니다.



==================2017.7.7==========================

더 쉬운 방법이 있습니다.


알고보니 Paulo형님께서 패키징을 실수하신 것 같네요.

/usr/lib/dri 폴더에는 radeonsi_drv_video.so 파일이 있지만 정작 프로그램들이 라이브러리 존재 여부를 확인하는 곳인 /usr/lib/x86_63-liux-gnu/dri (64비트 기준) 안에는 파일이 없습니다.


따라서 환경 설정을 굳이 할 게 아니라


ln -s /usr/lib/dri/radeonsi_drv_video.so /usr/lib/x86_64-linux-gnu/dri/radeonsi_drv_video.so


이렇게 해서 링크만 걸어줘도 VAAPI가 작동합니다. 괜히 삽질하고 있었네요.

,

http://hamonikr.org/board_aMBI05/31680


Harmonikr프로젝트는 대한민국 정부에서 리눅스데스크탑 저변확대를 위해 진행한 리눅스 민트 기반 한국어 화 프로젝트입니다.


꽤 성공적이라는 말을 듣고 있고 리눅스민트가 기본적으로 편리하기 때문에 하모니카를 쓰셨던 분들은 대부분 만족을 하셨다고 합니다. 하지만 2.1 Rosa버전 이후 업데이트가 끊겼으며 16년 후반기에 나온다는 정식버전은 어디론가 사라지고 어느새 17년 중반을 넘어서고 있습니다.


하지만 기존의 하모니카를 쓰셨던 분들이 한글 설정도 할 필요없는 편리함에 하모니카를 썼던 것인데 이렇게 업데이트가 끊기게 되면 쓰시는 분들이 점점 더 없어지겠지요.


솔직히 리눅스 민트를 설치하고 


sudo apt-get install `check-language-support -l ko`
sudo dpkg-reconfigure locales


이렇게 해주신 다음 ko_KR.UTF8을 선택하면 하모니카와 큰 차이는 없습니다. 하지만 일반인들에겐 이것조차 어려운 것이 문제이고 그래서 설치하자마자 바로 한국어를 쓸 수 있는 하모니카가 사람들 입에 오르내렸던 것일 겁니다.


없다면 직접 만들면 되지!라는 것이 저의 모토인 이상 하모니카 수준의 뛰어난 번역은 어려울지언정 그래도 바로 한국어로 쓸 수 있는 물건이 있어야겠다는 생각이 들었습니다.


LinuxMint를 기반으로 customizer로 작업을 했습니다.

(작업중에는 따로 스크린샷을 찍지는 않았습니다.)


사실 하모니카는 두가지 버전이 있습니다.


리눅스민트와 꼭 닮은 기본 테마버전과


속칭 하모니카 스타일이란 소리를 듣고 있는 Numix+Plank테마 버전이 있습니다.


저는 이 둘을 잘 섞어서 말 그대로 Remix해서 만들기로 했습니다. 한국어 설정은 물론 기본으로 하는 것이지요.


그래서 아래와 같이 만들었는데 어떤가요? 비슷한가요? (하모니카 1.0과 아이콘이 같습니다.)


다운로드는 아래 링크에서 받을 수 있습니다.(구글드라이브)

https://drive.google.com/file/d/0By3VcoIXExM8U0hlNWZPY2VEUWs/view?usp=sharing


SHA256SUM

f19b82db6d8a57984e5e19012f55dcee63af8d9cb0c21c0e002539f5c66d9cb4  ./LinuxMint-amd64-18.2.iso


SHA1SUM

ec55664b44db0e7fa0a003763f0076975db32656  ./LinuxMint-amd64-18.2.iso

MD5

7418dc8c49e748bd58e1b0d88b6bdefd  ./LinuxMint-amd64-18.2.iso



LinuxMint 18.2와 다른 것은 아래와 같습니다.


1. 기본 로캘을 ko_KR.UTF8로 지정했습니다.
2. 한국어 입력기를 fcitx로 설정했습니다.
3. 기본 저장소를 ftp.daumkakao.com로 지정했습니다.
4. SMplayer를 설치했습니다.
5. 기존 하모니카에서 일부 번역 파일을 이식했습니다. (Ubiquity - 그래서 HamoniKR라고 나옵니다 하모니카가 아님에도 불구하고, vino, synaptic,smplayer 등등)
6. numix-circle아이콘을 기본으로 지정했습니다. 하모니카1.0 시절의 느낌이 드실겁니다.
7. 파일매니저(Caja카하)에 파일 이름 복구기능을 추가했습니다. (https://github.com/LinuxMatt/caja-repairer) 파일명이 깨졌다면 해당 파일에 오른쪽 버튼을 눌러보세요.
8. Arkzip을 설치했습니다. 파일 매니저에서 Egg파일과 Alz파일에 오른쪽 버튼을 누르고 arkzip으로 실행 버튼을 누르시면 압축이 알아서 풀립니다.(https://github.com/Thestars3/arkzip)
9. 한컴뷰어를 설치했습니다.(http://www.hancom.com/cs_center/csDownload.do)
10. pepperFlashWrapper를 설치했습니다. Firefox에서 FlashPlayer가 작동할 것입니다.
11. 청소프로그램인 Bleachbit를 설치했습니다. 한달에 한번정도 실행해서 청소해주면 편리합니다.
12. 서울글꼴, 가짜굴림(이름만 굴림이고 실제로는 나눔고딕), WQY-Zenhei(소스엔진게임 한글출력)을 설치했습니다.

하모니카에 있었던 alias들은 필요성을 못 느낌과 동시에 위험한 alias도 꽤 있어서 설정하지 않았습니다.(del, 크롬설치 등)

대다수 설정은 Usermode이기 때문에 .config/dconf/user 파일을 삭제하면 리눅스민트 본연의 모습으로 돌아올 수 있습니다. (예외가 있습니다. 메뉴에 있는 시작 문구나 시작메뉴의 아이콘 설명 등)



제 마음대로 LinuxMint 18.2 HarmoniKR Remix라고 이름 붙였는데 괜찮을지는 모르겠네요. 달라진거라고 해봐야 Plank와 Numix아이콘, 그리고 몇몇 항목 밖에는 없지만 말이지요.

,



Playonlinux에서는 몇몇 라이브러리 설치 문제 때문에 구성요소 설치 기능을 지원합니다.


실제로 D3D9_XX.dll 파일들이 필요할 때 요긴하게 쓰이지요. 하지만 이러한 파일들도 인터넷 어딘가에서 가져오는 것이기 때문에 서버가 바뀌기도 하고 Playonlinux 업데이트에 맞추지 못해서 문제가 생기기도 합니다.


실제로 구성요소 설치 버튼을 눌렀을 때 정말로 DLL이 설치가 된 것인지 아니면 씹히고 넘어간 것인지 애매모호 할 때가 있습니다.


Playonlinux의 업데이트가 뜸해지고 Wine이 폭풍 업데이트가 되면서 영 못미더운 수준인 이 기능.



사실 이 구성요소 설치 기능은 Wine이 만들어지면서 같이 만들어진 winetricks라는 스크립트를 통해서 지원되고 있습니다. Kegel이란 곳에서 처음 시작 되었는데 지금은 https://github.com/Winetricks/winetricks 이곳에서 만들어지고 있습니다. 2017년 6월 버전이군요.


그렇다면 Playonlinux가 설치되면서 같이 설치된 winetricks는 버전이 어떨까요?


놀라지 마세요.


2014년 버전입니다. 이러니까 제대로 설치가 되지 않았던 겁니다.


winetricks가 패키지를 통해 설치가 되면서 편리해졌지만 문제는 업데이트가 더럽게 늦다는 것입니다. 그럼 어떻게 해야 할까요? winetricks는 패키지이지만 사실은 그냥 스크립트이기도 합니다. 그냥 스크립트 내용만 바꿔주면 그만입니다.


위의 github를 통해 최신 Winetricks 스크립트를 구할 수 있는데요.

https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks


바로 이겁니다.


그냥 텍스트 형태로 되어있을텐데 이것이 winetricks의 정체입니다.


그리고 패키지로 설치된 winetricks는 /usr/bin/winetricks입니다.


그러니까 관리자 권한으로 이 내용을 바꿔추기만 하면 된다는 의미지요.


sudo gedit /usr/bin/winetricks


(gedit이 없는 경우 MATE는 pluma, KDE는 kedit, LXDE는 leafpad 등을 이용하시면 됩니다.)


그리고 내용을 최신 내용으로 갈아주면 됩니다.



이제 Playonlinux가 멀쩡히 작동하고 있을 겁니다.

,

유니티 아니다. 뮤니티다! MATE로 만들어진 Unity 인터페이스!



http://www.omgubuntu.co.uk/2016/02/ubuntu-mate-16-04-unity-style-desktop


Unity 인터페이스는 다들 알다시피 이제 캐노니컬에서 개발을 포기했다는 사실은 다들 알고 계실 겁니다.


쓸모없었는데 잘 됐다면서 좋아하시는 분도 계시고 이제 적응해서 편하게 쓰고 있는데 왜 없앴냐면서 화내시는 분도 계실겁니다. 게다가 Unity8의 개발 과정을 지켜보면서 기대하시는 분도 계셨지요. 하지만 Canonical 주도의 Unity 인터페이스는 이제 사라졌고 다시는 볼 수 없게 되었습니다.

하지만 Unity 인터페이스 구성이 잘 만들어졌다는 것은 모두가 동의하는 사항이었습니다. 화면을 최대한 쓰기 하기 위해서 많은 고심을 했다는 것이 보였을 정도입니다. 그래서 17년 현재 비공식 배포판인 Ubuntu-MATE에서는 MATE를 기반으로 Unity인터페이스를 구현했습니다.


위 스크린샷을 보시면 왼쪽 패널에는 유니티 스타일로 프로그램 리스트들이 떠있고 위쪽 패널에는 메뉴들이 뜨게 됩니다. 누가봐도 유니티입니다. MacOS스타일의 메뉴 구성이 마음에 안 든다면 libtopmenu로 시작되는 패키지를 삭제하면 됩니다.


방법도 아주 간단합니다.


시스템 - 제어센터에 들어가신 다음 모양새 카테고리에 있는 MATE Tweak 아이콘을 클릭하시면 쉽게 하실 수 있습니다.


그러니까...


이렇게 있으니 한번 찾아보세요.


그리고 인터페이스 탭에서 패널 항목으로 가면 우분투 마테 레이아웃대신 다른 것을 선택할 수 있는데 그곳에 뮤니티가 있습니다!


여기에 있다 스크린샷에 있는 마우스 포인터 근처를 찾아보자.

이제 알아서 바뀝니다!


만약 MacOS 스타일의 메뉴가 마음에 안 드시면

sudo apt-get remove libtopmenu*

이것으로 패키지를 삭제하시면 됩니다.


욕먹고 사라진 인터페이스지만 구성이 좋기는 좋은가 보네요. Unity Desktop

,

hwp를 싫어하신다면 어쩔 수 없지만 또 그렇다고 하기엔 너무 편리하게 잘 만들어서 참 계륵인 그 물건 한글2008입니다.


사실 한글2008은 지금은 구하기 어려운 아시아눅스 데스크탑에 맞추어서 만들어진 물건이기 때문에 우분투에서 이를 설치하고 실행하기엔 너무 어려웠습니다. 구글검색을 해보면 rpm으로 만들어진 한글2008을 어떻게든 설치하려고 우분투가 나올 때마다 삽질에 삽질을 연속하는 것을 볼 수 있습니다. 사실 라이브러리만 잘 맞춰주면 되는 것이라서 그렇게 어렵다고 보지는 않지만 10년이 지나가는 요즘에는 호환성이 심각해져서 설치해야 하는 라이브러리가 부쩍 늘었습니다. 저 역시 16.04에 한글2008을 설치하기 위해서 엄청난 삽질을 동원했습니다.


8.04시절에는 3개만 링크 걸면 그만이었던 것이 10.04에는 5개로 늘어나고 이후에는 줄줄이...


이러고 나니 너무 귀찮더군요. 차라리 구버전 우분투나 아시아눅스를 설치한 다음 한글2008을 사용하는 것이 더 낫겠다는 생각이 들었습니다. 그렇다고 이 시점에서 10년전 배포판을 설치하는 것은 무리입니다. 하지만 Docker를 사용한다면 이야기는 달라집니다.




사실 도커가 많이 쓰이는 곳은 서버프로그램으로 서버마다 PHP버전과 MySQL등의 버전 혹은 경로가 다르다는 문제가 생기거나 배포판마다 조금씩 다르기도 하므로 시스템부터 컨테이너식으로 서버를 가상화하는 것에 가까운 물건입니다. 반가상화이기 때문에 성능 저하는 거의 없고 서버 시스템이 고대로 컨테이너화 되기 때문에 시스템 구축 문제로 머리 싸맬일이 없습니다.


즉, 우분투 구버전 혹은 아시아눅스 데스크탑을 도커에 이미지화 해서 올린다음 필요할 때마다 한글2008을 설치한 컨테이너를 올리게 되면 우분투 버전 올라갈때마다 삽질을 줄일 수 있게 되는 겁니다!!!!!!


아시아눅스의 Docker베이스가 있기는한데 아시아눅스 데스크탑이 아닌 서버버전이라 이쪽은 아니라는 생각이 들었습니다. 그래서 우분투 10.04를 기반으로 하기로 했습니다. 8.04에서는 느려서 못 써먹었던 것으로 기억하거든요.


제일 중요한 Dockerfile과 한글2008(평가판) 및 라이브러리는 아래 링크에서 받으실 수 있습니다. (MEGA이용 구글 드라이브 추후 추가 예정)


아래 링크에서 브라우저를 통해 다운로드를 누르면 된다.




https://mega.nz/#!uFMDHKxT!wSaTs6M3cp-rM-0xZkScw9RD7d2HaRbpd8o7mB-Q8ik


(Mega를 처음 쓰시는 분들은 브라우저를 통해 다운로드 받기를 누르시면 편합니다.)




우선은 Docker를 설치해야 합니다. 우분투에서 Docker는 두가지 방법으로 설치할 수 있습니다.


1. 우분투 공식 저장소를 이용

sudo apt-get install docker.io

sudo ln -sf /usr/bin/docker.io /usr/local/bin/docker


2. Docker 저장소를 이용

https://docs.docker.com/engine/installation/linux/ubuntu/


여기를 보시면 우분투에서 어떻게 설치하는지 나오는데 순서는 다음과 같습니다. 이쪽이 버전도 높고 정리가 잘 되어있다는 느낌이라서 이쪽을 추천합니다.


sudo apt-get install apt-transport-https ca-certificates curl software-properties-common

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"


그냥 이걸 쭉 긁어다가 터미널에 착 얹어 주시면 되겠습니다.


그리고


sudo apt-get update

sudo apt-get install docker-ce


Docker는 docker-ce와 docker-ee가 있는데 ce는 Comunity Edition(개인용)이란 의미고 ee는 Enterprise Edition으로 대규모 사업자 용입니다. 당연히 우린 CE를 쓰는게 맞겠지요.


위의 링크파일의 압축을 푸시면 아래 스크린샷 같은 파일들이 튀어나오게 됩니다.


뭔가 좀 쓸데없이 많아 보이지만 한글2008평가판 deb과 라이브러리 묶음과 호환성패치 일부와 도커 이미지 생성을 위한Dockerfile이다.

정말 쓸데없이 많지만 다 필요합니다. 여기서 제일 중요한 것은 Dockerfile과 start.sh입니다.


Dockerfile은 여기있는 파일들을 이용해서 우분투 10.04 기반의 한글2008이 설치된 이미지를 만들고 start.sh는 만들어진 Docker이미지를 이용해서 한글2008을 실행하는 역할을 합니다.


그렇다면 여기서 도커이미지를 만들어야겠지요.


압축을 푼곳에서 터미널을 이용합니다.


cd {압축푼곳}

sudo docker build ./ -t hwp7


도커 명령어 일부를 볼 수 있는데 build는 Dockerfile이란 파일을 이용해서 이미지를 만들라는 의미고 ./는 현재 폴더를 -t hwp7은 이미지 이름을 hwp7으로 하라고 한겁니다.


시간이 꽤 걸릴 겁니다. 우분투 10.04 베이스 파일을 Dockerhub에서 받아오고 한글2008 DEB을 설치하고 old-release.ubuntu.com(우분투 구버전 저장소)에서 필요한 라이브러리를 받아와야 하기 때문에 그렇습니다.

중간에 오류가 없으면 아무 문제없이 진행이 되었을 겁니다.


다 되었으면 start.sh 파일을 실행해봅시다.



여기서 터미널에서 실행을 누르셔야 합니다. 왜냐하면 sudo명령을 요구하기 때문에 터미널에서 실행후 sudo 패스워드를 입력해야 합니다.


이것이 마음에 안 드시면 Docker를 유저 권한으로 할 수 있게 미리 그룹에 넣으시고 start.sh 파일 제일 앞의 sudo를 지워주시면 됩니다. (하지만 관리자 권한으로 하는 것이 보안상 낫지요)


조금 기다리면 사용기간이 어쩌고 하는 메시지가 뜨는데 여기서 확인을 누르시면 한글2008이 실행이 됩니다.


시스템의 거의 왠만한 폰트는 사용할 수 있게 볼륨링크를 해놓았고 파일-불러오기-/home/hwp

에 들어가시면 호스트의 홈폴더접근이 가능합니다. 홈폴더 외에 접근을 할리는 없으니 이렇게만 해 놓았습니다.


/home/hwp 를 통해 내 홈폴더에 접근이 가능하다.

주의 사항으로는 이런저런 설정을 해 놓아봐야 설정 저장이 안 됩니다. 즉, 설치후 완전 기본 상태라는 것입니다. docker commit을 한번 하면 되긴하는데 이건... 나중에 자세히 보고 알려드리겠습니다.


참고로 프린트는 지원되지 않습니다. 한글2008이 죽어버리더군요. 아마도 cups관련 문제인 것으로 보입니다. 하지만 문제없지요. 왜냐하면 우리에겐 우분투용 한컴뷰어가 있잖아요!


한글2008은 어디까지나 구버전이므로 HWP의 편집이 필요한 경우에만 쓰고 문서보기나 프린트는 한컴뷰어로 때우시는 것을 추천합니다.


참고로 이건 Docker를 이용한 것이므로 Arch든 CentOS든 RHEL이든 Debian이든 상관없이 Docker만 설치하면 한글2008 구동이 된다는 것을 의미합니다. 참 편하죠?


데스크탑의 정리가 필요하다면 start.sh 파일만 잘 복사해뒀다가 써도 좋습니다. 일단 이미지 만들어진 다음에는 start.sh파일 외에는 필요가 없거든요. 링크정도로 만들어서 바탕화면에 놓는다거나 하면 되겠지요.




P.S 생각보다 요구하는 라이브러리가 많이서 깜짝 놀랐습니다. Docker이미지가 1기가가 넘습니다. 이 정도일 줄은 몰랐는데...


P.S-2 커널 4.5 이상을 쓰실 때 Docker 설치가 어려우시면 aufs가 문제입니다. 4.5에선 aufs지원이 삭제되었다고 들었거든요. overlay라는 가상 파일 시스템을 쓴다고 합니다. 보통은 Docker가 알아서 한다고 설치중 오류가 난다면


/etc/docker/daemon.json


여기에 해당 파일을 만들어서



{
  "storage-driver": "overlay2"
}

요렇게 적으면 된다고 합니다.


물론 파일은 관리자 권한으로 만들어야겠지요.

,