우분투 18.04 이후 kdenlive의 업데이트가 뚝 끊겼습니다.

kdenlive측에서는 우분투는 appimage로 패킹된 버전을 쓰라고 하더군요. 어쩐지 우분투 저장소에 있던 버전이 낮다 싶었습니다.


kdenlive의 우분투 계열은 Appimage로 된 버전을 다운로드 받아서 쓰는 것을 추천한다.

아마도 QT와의 호환문제 및 테마 문제로 인해서 (kde 관련 패키지가 어마어마하게 따라옴)이러한 Appimage 버전을 추천한 것 같습니다.


그러나 이 Appimage버전은 한글 입력이 안 된다는 겁니다!!!

그동안 저는 노가다로 복사 부여넣기를 했는데 원인이 알고보니 여기 있더군요.


https://github.com/qTox/qTox/issues/5320


전혀 다른 프로그램이지만 힌트를 여기서 얻었습니다. 일부 Appimage버전의 경우 libfcitxplatforminputcontextplugin.so 파일이 누락되어서 fcitx 사용자의 경우 한글 입력이 되지 않는 현상이 있다는 것입니다.


해당 라이브러리를 정해진 위치에서 찾아다 넣어만 주면 되는 겁니다.


방법은 Appimage파일을 열고 해당 파일을 찾아서 넣은 다음 다시 패키징을 하면 됩니다.


푸는 것은 kdenlive의 appimage파일만 있으면 되고 다시 묶는 것은 appimagetool만 있으면 됩니다.


https://github.com/AppImage/AppImageKit/releases

여기서 appimagetool의 Appimage파일을 다운로드 받으세요. 요즘은 보통 64비트니까 x86_64버전을 다운로드 받으면 됩니다.

32비트라면 i686을 다운로드 받으면 됩니다.


그리고 아까 다운로드 받은 appimagetool과 kdenlive Appimage파일을 같은 곳에 두고 둘 다 실행 권한을 줍시다. 속성에 들어가서 프로그램으로 실행 허용을 주면 됩니다.


자 이제 Appimage파일들이 있는 곳에서 터미널을 열고 다음과 같이 명령을 줍시다.


./kdenlive-18.08.2-x86_64.AppImage --appimage-extract

이러면 squashfs-root라는 폴더가 생기면서 kdenlive의 Appimage 파일의 압축이 풀리기 시작합니다. 


명령어 한번에 압축이 풀린다.

이 안을 들여다보면 우리가 사용하는 시스템의 루트와 똑같다는 것을 알 수 있습니다.

만약 정상적으로 fcitx환경이 설치된 시스템이라면


/usr/lib/x86_64-linux-gnu/qt5/plugins/platforminputcontexts
여기에 libfcitxplatforminputcontextplugin.so 파일이 있을 것입니다. 만약 없다면 우분투 기준 fcitx-frontend-qt5 패키지를 설치하시면 됩니다.


이 파일을 복사해서 squashfs-root내의 같은 위치에 넣어주면 되는 것입니다.

Applimage들 있는 곳/squashfs-root/usr/lib/qt5/plugins/platforminputcontexts

이곳에 들어가면 파일이 하나 부족한 것을 알 수 있습니다. ibus용만 들어있지요. 하지만 ibus는 제가 별로라서 안 씁니다.



여기에는 파일이 하나 부족하다



여기에 libfcitxplatforminputcontextplugin.so 파일을 복사해서 넣습니다.


그리고 다시 Appimage를 만들면 되는 겁니다.


아까 Appimage가 있던 터미널에서

./appimagetool-x86_64.AppImage squashfs-root

이렇게 명령을 내리면...



Appimage 파일을 만들기 시작합니다.


이제 이것을 실행해보면...

kdenlive에서 한글 입력이 됩니다!!!!


그러니까 방법은 하나입니다. 누락된 해당 파일을 넣어달라고 하거나 yml파일을 수정해달라고 넣거나... KDE팀에게 요청을 해야겠습니다.


일단 그동안 임시로 제가 수정한 Appimage버전을 사용해주세요.


https://drive.google.com/file/d/1NVgcCq0sYQHzoOoSE6qALB44NQcuGIBi/view?usp=sharing


Appimage로 된 것이니 그냥 다운로드 받은 다음 실행 권한을 주고 실행하면 됩니다.

,

명작 퍼즐 게임인 더 룸(The Room)이란 게임이 있습니다. 모바일로 먼저 나왔고 총 3까지 나왔으며 2까진 한글화 되었습니다. 사실 3는 너무 어렵고 배배 꼬아놔서 다들 별로라고 합니다.


더룸의 한글패치는

https://drive.google.com/file/d/1gM8FAqFu7cIO_XiouyepDvEAN6s70X-m/view?usp=sharing


https://drive.google.com/file/d/1AQwSpj3zAB6GNSeiXyjwBYa1VofXGxh9/view?usp=sharing


이것을 다운로드 받아서 (The Room이 설치된 곳)/TheRoom_Data에 덮어 씌우시면 됩니다.


그리고 언어 설정을 German(독일어)로 바꿔 주세요.







===여기서 부터는 작업내용 ====================


어쨌건 이 더 룸이란 게임이 PC판으로도 나왔습니다. PC인 만큼 화질도 좋아지고 선명해 졌습니다.


단! PC판은 한글이 없습니다...

https://store.steampowered.com/app/288160/The_Room/


하지만 분명 모바일버전에서는 한국어가 있었습니다. 아마도 아시아 판권이 없어서 PC판에서는 한국어를 제외한 것 같은데 한국어가 있다 없으니 짜증나지요.


그런데 어차피 모바일이나 PC나 게임 내용은 동일합니다. 게임엔진도 Unity3D로 동일하기 때문에 다른 것이 하나도 없습니다. 그러면 모바일에 있는 문장을 빼다가 PC판에다 이식하면 되지 않을까요?


그래서 직접 해봤습니다.


우선 한국어판 더 룸의 APK를 구합니다. 저는 https://apkpure.com/the-room-asia/com.chorusworldwide.theroom

여기서 직접 다운로드 받았습니다. 플레이스토어를 사용하지 못하는 곳을 위해 만들어진 APK미러 사이트로 웹에서 직접 APK를 받을 수 있습니다.




아시아판이니까 당연히 한국어가 있겠죠?

파일은 xapk란 이상한 것인데 사실 그냥 Zip형태입니다. 그냥 일반 압축프로그램으로 풀립니다. 그리고 그 안에는 우리에게 익숙한 apk파일과 obb파일이 있는 형태입니다.


물론 다들 알다시피 apk파일과 obb파일도 그냥 zip입니다. 그냥 압축해제가 됩니다. 우리는 여기서 /Android/obb/com.chorusworldwide.theroom 까지 들어가서 main.15.com.chorusworldwide.theroom.obb 파일까지 압축을 해제해버립니다.


obb파일도 그냥 일반 압축파일로 인식된다.

그리고 /assets/bin/Data 까지 들어가면... 이제 Unity3D 에셋 파일들이 등장합니다!

이건 이미 만들어진 수많은 Unity3D 해제툴을 이용해서 뜯을 수 있습니다.


저는 Unity3D에셋을 해체할 때 두가지 툴을 이용합니다.

AssetsBundleExtractor(https://7daystodie.com/forums/showthread.php?22675-Unity-Assets-Bundle-Extractor)


UnityEx(

UnityEX.7z

)


우선 모바일 더 룸에서 sharedassets1.assets.split0 안에 번역된 텍스트가 들어있습니다.

이것을 얻으려면 AssetsBundleExtractor를 사용합니다. UnityEx로도 되기는 하는데 불안정한 UTF-16으로 내보내기 때문에 AssetsBundleExtractor를 써서 UTF-8로 뽑아내는 겁니다.


AssetsBundleExtractor에서 sharedassets1.assets.split0파일을 열고 Korean을 찾은 다음 Plugins 클릭 그리고 export to txt를 누르면 한국어로 번역된 문장을 뽑아낼 수 있습니다.


이런 식으로 뽑아낸 텍스트 파일을 PC판의 English에 그냥 이식을 해버리면 모바일에서 번역된 문장을 PC판에서도 쓸 수 있겠지요!


이번에는 PC판 더 룸을 뜯어봅시다.

PC판에서는 (더 룸이 설치된 곳)/TheRoom_Data 에 assets파일들이 들어있습니다. 여기서 필요한 것은 resources.assets입니다. 이 안에 English.txt가 있더군요. 이걸 뽑아내고 비교해서 한국어로 바꾼다음 다시 이식을 하는 것입니다.


PC판의 에셋을 열자

English를 열어서 덤프하고...

모바일버전의 한국어를 PC판 English.txt파일에 새로 적자!

다만 PC판에 일부 문장이 추가되어 있어서 무작정 파일 바꿔치기는 어렵습니다. 따라서 English.txt파일을 번역한다고 생각하고 English.txt파일을 한국어로 바꿔주시면 됩니다. 어차피 상당부분은 겹칠겁니다.


저는 Python 스크립트를 만들어서 해결했는데 공개하기는 좀 더럽네요.

#-*- coding: utf-8 -*-
import csv

eng = open("English.txt", 'r')
kor = open("Korean.txt", 'r')
moded = open("EngKor.txt",'w')

engrdr = csv.reader(eng, delimiter = '=', quotechar='|')
korrdr = csv.reader(kor, delimiter = '=', quotechar='|')
#modedwr= csv.writer(moded, delimiter = '=')

korlist = list(korrdr)


for engline in engrdr:
    print(engline)
    line = engline[0] + '=' + engline[1]+'\n'
    for korline in korlist:
        if engline[0] == korline[0]:
            print (engline[0] + '=' + korline[1])
            line = engline[0] + '=' + korline[1]+'\n'
            #moded.write(engline[0] + '=' + korline[1]+'\n')
        """
        else:
            print (engline[0] + '=' + engline[1])
            line =engline[0] + '=' + engline[1]+'\n'
            #moded.write(engline[0] + '=' + engline[1]+'\n')
        """
        
    moded.write(line)


eng.close()
kor.close()
moded.close()


이것을 이용하면 Engkor.txt 라는 파일이 나오는데 이것을 다시 AssetsBundleExtractor로 English.txt를 대체합니다.


이번에는 English를 누른다음 Plugins를 누르고 import from .txt를 선택해서 번역된 txt파일을 선택합니다.


이제 OK를 누르면 저장할 거냐고 물어봅니다. 기존에 열어버린 resources.assets파일을 덮을 수는 없으니 다른이름으로 저장하고 바꿔주시면됩니다.


이제 PC판 더 룸을 실행하면... 여전히 한글이 안 뜹니다... 이건 폰트 문제인데 UnityEX를 써서 TTF파일을 한글이 나오는 놈으로 바꿔주시면 됩니다. 이건

https://moordev.tistory.com/224


여기서 설명했습니다.


이것은 UnityEX를 이용합니다. AssetsBundleExtractor로 하면 오류가 나더군요.


UnityEX를 실행하고 Open archive Unity를 누른다음 PC판 더 룸의 sharedassets0.assets 파일을 선택합니다.


그 다음 Type에 Font라고 되어있는 항목을 찾습니다. 더 룸은 2개가 그러합니다.

OldTimAme

TheRoom


이 두가지 항목을 선택하고 오른쪽 버튼을 눌러 Export selected를 누릅니다.

그러면 Unity_Assets_Files이란 폴더가 생기고 그 안에 TTF파일 두개가 덩그러니 놓입니다.



이 두 파일을 원하는 한글 TTF로 바꾸시면 됩니다. 저는 서울한강체와 서울남산체를 사용했습니다. 가독성이 정말 좋더군요. 물론 파일명만 바꿔서 덮어버리면 됩니다.


그리고 UnityEX에서 import all files를 누르면 sharedassets0.assets 파일에 덮어버립니다. 만약을 위해서 해당 파일을 미리 백업하는 지혜가 필요하지요.


이제 기존 resources.assets를 지우고 아까 번역본을 English.와 바꿔치기한 resources.assets로 이름을 바꾼 다음 실행하면...


짜잔!!! PC판에서도 한글을 쓸 수 있게 되었습니다!


이후 텍스쳐 작업을 마무리 지었습니다. 역시 텍스쳐는 UnityEx를 이용했고 DDS포맷을 Gimp로 수정한 후 작업했습니다.



,



PlayonLinux는 제가 애용하는 프로그램 중 하나입니다.


이것으로 수많은 프로그램을 실행하고 성공이야기를 썼지요. 하지만 언제부터인지 한국어 번역이 중단 되어서 영문과 한국어가 혼재된 상태에 빠져있었습니다.


그렇기에 제가 http://moordev.tistory.com/244 여기서 예시로 언급하기까지 했지요.


그래서 이 참에 그냥 번역을 새로 했습니다. 다만 내용이 너무 방대했던 관계로 처음부터 그냥 한 것은 아니고 구글 번역기와 함께 작업을 했습니다. 요즘 구글 번역기 좋더군요. 가끔 엉망이긴 하지만 가끔 그럴 뿐이고 다른 것은 꽤 괜찮았습니다. (무슨 말인지...)



pol.mo.zip

해당 파일을 다운로드 받아 압축을 풀고 pol.mo를 /usr/share/locale/ko/LC_MESSAGES


폴더에 덮어주시면 PlayonLinux가 일단 가능한 선까지 한국어화가 되어서 보이게 될겁니다.


PlayonLinux팀에다 해당 번역을 보냈는데 소스 트리에 넣어줄지는 잘 모르겠습니다. 언젠가는 해주겠지요 뭐.

,

Korean_IME_suport_Linux_v2.tar.gz



http://moordev.tistory.com/242 두근두근 문예부! 리눅스에서 굴리기


해당 글에서 우리는 두근두근 문예부를 굴리는데 성공했습니다.

그런데 다른 것은 하나도 문제가 없는데 이름 입력할 때 한국어가 입력이 안 된다는 문제가 있었습니다.


패치는 글 제일 아래에 있습니다. 아래에서 이야기하는 것은 다 넣어놨으니 그냥 패치만 필요하신 분은 그냥 글 아래로 쭉 내려가세요.


원인이 Ren'Py 엔진이 사용하는 SDL이 리눅스에서 사용하는 XIM프로토콜(한국어, 중국어, 일본어 입력기에서 사용하는 프로토콜)이 지원이 안된다고 합니다. 게다가 해당 프로토콜이 딱히 정형화 되어 있지 않은 것이 워낙 많아서 SDL에서 지원을 하기가 좀 걸끄러운 수준인 듯 합니다.


https://www.renpy.org/doc/html/input.html

여기 보면 해당 사항에 대해 나와있습니다.


대충 해석하면 리눅스에서는 IME가 필요한 한국어, 일본어, 중국어 입력이 불가능



그래서 다른 방법을 생각했습니다.


그럼 어차피 Python이니 Python의 기능을 활용해서 넣으면 되는거 아닌가?

실제로 Tkinter같은 간단한 GUI 라이브러리를 쓰면 아무런 문제가 없을테니까요.


그래서 게임을 뜯었습니다. 


rpatool https://github.com/Shizmob/rpatool

unrpyc https://github.com/CensoredUsername/unrpyc



이 둘을 쓰면 rpa를 뜯고 스크립트를 들여다보는 것은 어렵지 않습니다. 자세한 것은 직접 확인을 부탁드리고 우선 Tkinter를 렌파이에 삽입하기 전에 간단한 GUI를 만들어보았습니다.

#-*- coding: utf-8 -*-
from Tkinter import *

name = ""
root = Tk()
def okClick():
    name = txt.get()
    root.destroy()
    print name

lbl = Label(root, text="이름")
lbl.pack()

txt = Entry(root)
txt.pack()

btn = Button(root, text="OK", command=okClick)
btn.pack()

root.mainloop()

렌파이는 아직도 Python2.7을 쓰기 때문에 2.7에 맞춰서 제작했습니다. 해당 프로그램은 이름을 입력한 후 OK버튼을 누르면 터미널에 입력한 문장을 띄우는 지극히 간단한 GUI프로그램입니다.


우분투라면 python-tk 패키지를 미리 설치해야 작동합니다.

sudo apt install python-tk


나중에는 python2.7-tk 이런 식으로 이름이 바뀔 수도 있습니다. 그때가면 알게 되겠지요.


이런 것을 넣기로 게임에 해당 코드를 삽입하기로 했습니다.


Scripts.rpa파일은 game 폴더 안에 있다. 사실 여긴 게임하다보면 자주 들락날락 하게 되는 곳이기도 하다.



scripts.rpa파일이 보이는 군요. 이 안에 필요한 파일이 있을 것입니다.


rpatool -x scripts.rpa


rpatool이 설치 된 곳에서 명령을 내리세요.


그러면 수많은 rpyc파일들이 쏟아집니다. 그러면 이걸 rpy로 디컴파일 해야 합니다. 제가 원하는 파일은 screen.rpyc더군요.(노가다해서 알아냈습니다.


python unrpyc.py screen.rpyc (screen.rpyc 파일을 unrpyc와 함께 놓고 명령을 내리세요.)


이렇게 하면 디컴파일된 코드를 얻을 수 있습니다. 이걸 수정해서 (설치폴더)/game

에 rpy 상태로 그냥 넣으면 수정된 코드로 작동하게 됩니다. 이건 LongLiveTheQueen에서 잘 써먹었던 방법이지요. rpa에 있는 스크립트보다 밖에 있는 스크립트가 우선됩니다.


그리고 screem.rpy파일을 잘 뒤져서

init -501 screen name_input(message, ok_action):


코드를 찾습니다.

이 부분이 바로 이름을 입력하는 부분!


 init -501 screen name_input(message, ok_action):
    python:
        #-*- coding: utf-8 -*-
        from Tkinter import *
        global root
        global tk_txt
        global name
        global player
        tk_txt = ""
        name = ""

        root = Tk()
        def okClick():
            global name
            global tk_txt
            global player
            name = tk_txt.get()
            root.destroy()
            player = unicode(name)
            print player
      
        lbl = Label(root, text="이름을 입력해 주세요")
        lbl.pack()
        
        tk_txt = Entry(root)
        tk_txt.pack()
        
        btn = Button(root, text="OK", command=okClick)
        btn.pack()
        if not player:
            root.mainloop()

        else:
            del(root)
            del(tk_txt)
            del(name)

        
    modal True

    zorder 200

    style_prefix "confirm"

    add "gui/overlay/confirm.png"
    key "K_RETURN" action [Play("sound", gui.activate_sound), ok_action]

    frame:

        has vbox:
            xalign .5
            yalign .5
            spacing 30

        #label _(message):
        label _(player+"(으)로 진행합니다."):
            style "confirm_prompt"
            xalign 0.5
        #input default "name" value VariableInputValue("player") length 12


        hbox:
            xalign 0.5
            spacing 100

            textbutton _("예") action ok_action



여기서 붉은 색으로 표시한 부분이 추가한 부분입니다.

그리고 초록색으로 표시한 부분은 앞에 #을 추가하여 삭제한 코드입니다.

아래쪽에 frame: 안을 보시면 label _(message)를 삭제하고 player란 변수에 들어간 이름을 쓴다는 지극히 쓸데없는 메시지를 한번 더 띄웁니다. 사실 본래 이름입력하라고 한 창을 최소한의 수정으로 바꾼 것입니다.


이걸 쓰면 일단 TK로 된 창이 뜨고 이름을 입력하면 기존 player라는 변수에 이름이 입력되게 됩니다.


문제는 Renpy에 Tkinter 라이브러리를 넣어줘야 한다는 것.

어차피 제가 올려놓은 패치에는 필요한 라이브러리는 다 넣었습니다.


(문예부 설치폴더)/game/python-package

여기에 해당 모듈을 쏟아 부어줘야 합니다.

시스템에 python2.7이 설치되어 있다면

/usr/lib/python2.7/lib-tk

여기에 해당 모듈이 다 있습니다. 이걸 (문예부 설치폴더)/game/python-package 여기에 싹 복사해서 넣어주면 됩니다.


그리고 추가로 python2.7.14의 _tkinter.so파일이 필요합니다. 이건 Debian패키지에서 찾아서 넣어주면 됩니다.

https://packages.debian.org/sid/python-tk

여기서 sid버전의 DEB을 다운로드 받은 다음 압축을 풀어서 AMD64패키지의 것은


(문예부 설치폴더)/lib/linux-x86_64/lib

여기에 _tkinder.so 파일을 넣고

i386은 (문예부 설치폴더)/lib/linux-x86/lib

여기에 넣으면 됩니다.


그러면

이렇게 별도의 창을 띄울 수 있게 됩니다. 이러면 한글 입력이 가능해지는 것이지요!


이제 리눅스에서도 한글 이름 입력을 할 수 있게 되었습니다!


 

 

 




수정 전 후비교


왼쪽은 백날 아무리 두드려봐야 한글 입력이 안 되지만 오른쪽은 한글로 입력이 가능해집니다. 추가로 글자수 제한이 풀려서 14자 이상의 글자 입력이 가능합니다.


해당 패치는 리눅스 전용입니다. Windows에서는 정상작동이 절대로 안 되니 Windows 사용자분들은 굳이 설치 하지 마세요.(애초에 Windows는 한글입력이 잘 되니까 이런 짓 안 해도 됩니다.)


===================================


2018. 4. 13


세이브중에 세이브가 안 되는 버그가 발견되어 이를 수정한 패치를 만들었습니다.


Korean_IME_suport_Linux_v2.tar.gz


수정 부분은

         if not player:
            root.mainloop()

        else:
            del(root)
            del(tk_txt)
            del(name)


이 부분으로 이름입력이 끝난후 필요없어진 TK관련 객체를 삭제하는 코드를 넣었습니다. 그랬더니 세이브가 잘 되더군요.


====사용상 주의사항======


1. 한글 이름입력을 위해 Tkinter를 이용한 패치입니다. 따라서 Tcl/Tk 라이브러리가 설치되어야 합니다.


우분투의 경우

sudo apt install python-tk


명령을 통해 Tkinter 설치가 가능합니다.


2. 한국어 입력기에 따라 마지막 글자가 입력이 될 수도 있고 안 될 수도 있습니다. 그럴 때는 화살표 키를 한번 눌러주시면 마지막 글자가 입력 됩니다.


3. 이름을 입력하고 되돌리기는 불가능합니다. 이름을 잘 못 입력했다면 그냥 눈물을 머금고 다시 게임을 시작하시기 바랍니다. game폴더의 firstrun파일을 지우면 완전 처음부터 가능합니다.


4. 이 패치는 오로지 한국어 환경에서 리눅스를 사용하는 사람들을 위한 패치입니다. 절대로 한글 패치가 아닙니다.


5. 게임을 수정한 것이기에 Monika가 갑자기 놀랄 수가 있습니다. 그건 제가 알 바 아닙니다.


6. 게임이 이상해진다거나 하는 것은 이 패치 때문이 아닙니다. 이 쯤 되면 다들 알잖아요?


7. 게임내의 캐릭터가 사라지는 것은 이 패치 때문이 아닙니다.


8. 저는 Team Salvato와 아무런 관계가 없습니다. 한글패치 팀과도 아무런 관계가 없습니다.


9. JUST MONIKA

,

이전에 http://moordev.tistory.com/212

18.3 베타버전을 기반으로 작업한 것을 배포한 적이 있었지요.


베타버전은 역시 뭔가 좀 문제가 있었는데 박정규님이 한글 관련 패치를 배포해 주셔서 http://blog.naver.com/bagjunggyu/221147590110 적용을 한 다음에 정식버전으로 다시 만들어 배포합니다.


LinuxMint 기본 버전과 차이점은


한국어 기본설정

한글입력기 fcitx 바로 사용가능

노트북 한/영키 사용가능

MATE 한글버그 패치(박정규님 감사합니다.)

HWE 적용(http://la-nube.tistory.com/289) 라누베님 감사합니다.

Arkzip 설치(ALZ와 EGG 풀 수 있습니다.)

한컴뷰어 설치(HWP 볼 수 있습니다.)

CUPS-PDF 설치(프린터 설정에서 한번 설정하는 것만으로 PDF로 출력 하는 것이 가능합니다. ~/PDF에 생성)

Filename-Repairer 설치

서울남산체, 서울한강체 설치

가짜굴림설치(굴림체가 필요한 곳은 나눔고딕으로 나옵니다.)


Flash는 역시 고민해봤지만 굳이 필요 없을 것 같아서 제외했습니다. (파이어폭스를 지우고 크롬을 설치하는 분들도 있으니까요.)


기본 커널 버전은 HWE 적용된 4.10입니다. (18.2때에는 문제가 있어서 4.4로 낮춰서 배포했었지요.)


MATE에 64비트 버전입니다. 계속 이야기하지만 32비트 버전 계획은 없습니다.


MD5 : 86becb23e3851cbf1d039c965bb718f2

SHA1 : cde682d1ae7b81cd8e9ca9c9c70519a6ad371e05

SHA256 : 3dfc70de46e51611969bee82c75261a9406de56fba01708aef883a76bae5f64e


이런이런... 체크섬을 잘 못 올렸네요. 하이브리드 ISO의 체크섬을 올려야 하는데 하이브리드화 이전의 체크섬을 올려버렸습니다.

제대로 된 체크섬은 다음과 같습니다.


MD5: be0fba594a7ceb2ba668e8dc49ab0091

SHA1 : 4811f2c7335225e7c08898c465cecfc976284ca6

SHA256 : 60ba5583366cba092a9e7c4251d991dbeeb89dc845fa045404fa3300a8b72f6c


https://drive.google.com/file/d/1oEwJIeLoIEkRxvui1ckDJcZqzmM5AXBz/view?usp=sharing


리눅스민트 18.3까지는 우분투 16.04기반이며 19부터는 우분투 18.04를 기반으로 할 예정입니다.

,


리눅스 민트 18.3 Sylvia 베타 버전이 발표 되었습니다.


그리하여 이전에 18.2 Sonya 버전과 마찬가지로 한국어 설정이 완료된 버전을 배포하고자 합니다. 물론 베타버전이므로 굳이 정식버전이 나올 때까지 기다리실 분은 설치하실 이유가 없습니다.


64비트 전용이며 32비트 배포 계획은 없습니다.




리눅스민트 기존 버전과 다른 것은

1. 한국어 설정 기본

2. FCITX 바로 사용가능(한글 입력 가능)

3. 노트북 한영키 바로 사용가능

4. 한컴뷰어 설치

5. Arkzip (Egg, ALZ 및 한글 깨지는 ZIP파일까지 문제없이 풀어주는 압축 해제프로그램) 설치

6. 파일이름이 깨졌을 때 마우스 오른쪽 버튼을 클릭 하는 것만으로 파일 이름을 복구해주는 Filename-repairer 설치

7. Bleachbit 설치

8. 기본 배경화면 교체 (화질이 구린 것이 문제)

9. Flash는 삭제 했습니다.


http://moordev.tistory.com/193

http://moordev.tistory.com/194


여기서 작업한 것과 동일합니다.


현재 리눅스민트 18.3은 베타버전이므로 커스텀버전도 마찬가지로 아직까지 알려지지 않은 문제가 있을 수 있습니다.


다운로드는 아래 링크로...


https://drive.google.com/file/d/1GmBpeAjsv61b3WFIqI8lwtHC6NRizRg9/view?usp=sharing


MD5 : 73e7ece5459c94f0362c5b4a2108f141

SHA1 : 68f5cf1ba73da206779846750d803cfb2c73e378

SHA256 : 13e0770ad381fbccaafaf66056560e0d9d9e32fd8e5e1580e280153ca0b8504e



물론 베타버전을 쓰다가 정식버전이 나오면 자연스럽게 업데이트로 정식버전으로 바뀝니다.

,


오랜만입니다.



아마도 대부분 사람들은 이전에 했던 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

,

오늘도 역시 한글 문제가 터져주셨습니다. 하지만 그리 큰 문제는 아니었고 그냥 영문폰트와 한글폰트가 연결이 안되어서 생긴 문제였기에 큰 문제는 아니었습니다.


http://linuxmint.kr/5848


여기서 보면 ~/.fonts.conf 파일을 만들고 아래와 같은 내용을 적어서 설정파일을 만듭니다.


<?xml version="1.0"?>

<!DOCTYPE fontconfig SYSTEM "fonts.dtd">

<fontconfig>

<match target="pattern">

<test qual="any" name="family"><string>Nimbus Sans L</string></test>

<edit name="family" mode="assign" binding="same"><string>UnDotum</string></edit>

</match>

<match target="pattern">

<test qual="any" name="family"><string>DejaVu Sans</string></test>

<edit name="family" mode="assign" binding="same"><string>UnDotum</string></edit>

</match>

</fontconfig>

 

내용을 보시면 Nimbus Sans L과 DejaVu Sans를 UnDotum 폰트와 연결하는 내용입니다.

그리고 터미널에서

fc-cache -fv 한번만 쳐주시고 로그아웃 했다가 다시 스팀에 접속하시면 한글이 멀쩡히 나오는 것을 확인 하실 수 있습니다.


이전에는 포탈시리즈나 레프트4데드 시리즈를 할 때 그냥 영문(...)으로 했었는데 생각보다 간단했었군요.


2015.2추가

위의 팁은 민트에서만 통하는 것인지 루분투에선 안 통하네요.

http://www.ubuntu-kr.org/viewtopic.php?p=121681#p121681

위의 글에 의거.


ttf-wqy-zenhei 이 패키지를 깔면 잘 나온다고 합니다. 해보니...잘 되네요.


sudo apt-get install ttf-wqy-zenhei


,

리눅스 데스크탑에서 매번 겪는 문제중 하나는 바로 한글과 관련된 문제이다. 워드프로세서 한글이 아닌 글자 한글이 문제인 것이다. 지금은 보통 UTF-8이(당연하게도)기본 환경이므로 한글을 띄우는데에 삽질이 필요치 않지만 가끔 EUC-KR을 요구하는 환경이라던지(주로 M$환경에서 작업한 결과물이 이런 식이다.) 아니면 폰트가 가끔 빠져서 한글을 띄우기는 하는데 네모네모네모로 뜬다던지 하는 현상이 일어나곤 한다.

초기 리눅스 민트의 경우 한글폰트가 빠진채로 배포가 되어서 한국어로 설치를 하면 모든 설명이 네모로 나와서 사람을 고생시키곤 했었다. 그런데 리눅스민트도 아니고 한동안 별 문제를 안 일으켰던 우분투14.04에서 난데없는 한글글꼴문제가 터지고 말았는데 이번에는 이전과 반대로 리눅스민트나 다른 데스크탑환경이라면 별 문제는 없지만 Unity환경을 사용한다면 꽤나 치명적인 문제가 되어버렸다. 나는 리눅스민트로 이미 넘어간지 오래지만 안드로이드 관련 개발을 하는 사람들은 그냥 별 생각없이 Unity환경의 우분투를 사용하고있다. 이런 사람들은 배포판을 업그레이드 했다가 멘붕을 조금 먹었다고 한다. 다행히도 이를 해결하는 스크립트가 나왔다고 하는데 이런 일이 있을 때마다 리눅스 데스크탑을 추천해주기가 민망해진다. 이런 간단한 문제조차 삽질을 하게 만드는데 과연 어떤 사람들이 리눅스 데스크탑을 쓰려고 할까?

게다가 리눅스 점유율을 끌어올려줄거라 믿었던 Steam 리눅스용도 약간 한글 문제를 겪고 있다. Steam자체내에서는 문제가 없는데 Steam용 게임들에서 문제가 일어나는 것이다. 한글로 떠야할 자막이 폰트문제로 네모네모로 뜨는 문제다. 특히 Valve사 게임에서 이런 일이 자주 일어나는데 Source엔진의 문제인 것인지 아니면 리눅스환경 자체의 문제인지는 잘 모르겠다. 엉뚱한 폰트를 자꾸 찾는 것 봐서는 Source엔진의 한글지원 문제로 보인다.

윈도에서 압축을 한 파일의 경우에도 리눅스에서 그냥 생각없이 풀어버릴 경우 한글로 된 파일명이 와장창 깨지는 것을 볼 수 있다. 이것은 Repairer라는 노틸러스 확장이나 wine으로 설치한 반디집으로 해결 가능하다. kozip이라는 것도 개발되었고 반디집의 경우 리눅스데스크탑을 설치하면 Playonlinux를 설치한 다음 바로 설치하는 프로그램이기 때문에(alz와 egg지원을 위해서) 딱히 불편함을 느끼지 못한다. 하지만 이것은 어디까지나 유니코드표준인 UTF-8이 아닌 CP949환경을 사용하는 윈도 때문이며 기존의 호환성을 최대한 끌고가는 윈도 특성상 코드가 갑자기 UTF-8로 바뀔일은 없을 것으로 보인다.

폰트의 다양성 문제는 이미 해결이 된 것을 보인다. 과거 백묵글꼴의 경우 매우 가독성 안 좋고 보기 영 안 좋기로 유명 했는데 언제부터인가 은 글꼴이 나오면서 리눅스에서도 굉장히 미려한 글꼴이 가능해졌다. 물론 그 시절에도 저작권있는 글꼴 가져다가 때려박는 사람들이 있기는 했지만 그런 글꼴이 좋았냐고 하면 그건 그것대로 영 아니었던지라 은 글꼴은 순식간에 한글표준글꼴화가 되어버렸다. 지금은 은 글꼴도 아니고 나눔글꼴이 그 역할을 수행중이며 우분투에서 기본 한글글꼴이 되면서 "나눔"이라는 말에 맞게 상당히 많이 퍼지게 되었다. 윈도에서의 굴림같은 존재가 리눅스에서는 나눔고딕이 되었는데 언젠가는 이 나눔글꼴도 새로운 폰트에 자리를 내놓게 될지도 모를 일이다. 어쨌건 그만큼 한글글꼴은 꽤 다양해진 편이다. 이 점은 그나마 다행이라고 생각한다.

하지만 한글과 리눅스는 별로 친하지 않은 것으로 보아 이를 해결하기 위해서도 리눅스 데스크탑의 점유율이 문제인 것으로 보인다. 매번 한글과 관련하여 문제가 터진다는 것은 그만큼 한국인이 개발에 참여하기 어렵다는 의미이며 한글문제를 메일로 날려도 워낙 수가 적어서 이슈화되지 않는 것도 문제다.그나마 Steam은 좀 확인 하는 것으로 보이는데 이게 해결되기까지 얼마나 걸리게 될지는 알 수 없는 일이다.

한국리눅서들은 오늘도 고달픈 삽질중이다.

,

인터넷을 돌아다니다보면 한글명으로 된 파일들이 꽤 많은 것을 알 수 있다. 사실 문제는 없는데 이게 다운로드 되면서 파일명이 깨지는 경우가 많다는 것. 이유야 당연히 코드문제인데 우분투나 맥은 당연히 UTF-8을 기준으로 환경이 조성되는데에 반해 서버에서 파일명을 EUC-KR로 보내주기 때문에 벌어지는 일이다. 삼바 공유서버나 토렌트를 통해 다운로드 받은 파일들에서도 흔히 벌어지는 일이라 가끔씩 참담할 때가 있다.

이걸 일일이 다시 적어줄 필요없이 한번에 깔끔하게 하는 방법이 없을까? 하는차에...

다 필요 없고 아주 좋은 노틸러스 스크립트가 하나 있다. 이름은 Repairer 아주 간단하다.

https://code.google.com/p/repairer/

위 이미지도 여기서 가져왔다.

여기가 개발 홈페이지인데 사실 우분투 공식저장소에 있으니 그걸 쓰면 된다.

sudo apt-get install nautilus-filename-repairer

이제 한글파일이 깨져도 문제는 없을 듯 하다.


,