Search results for '세벌식최종'

재부팅없이 Windows XP IME 세벌식 버그 패치

2007. 2. 5. 07:34
주의 : 아래 과정은 생각보다 번거로우며, 성공될 때까지 반복적인 시도를 하는 것이므로 스트레스를 받을 수 있습니다. 또 약간의 차이로 인해 적용하기 힘들 수도 있으므로, 불가피하게 재부팅을 할 수 없는 경우에만 시도하시는 것이  좋을 듯 합니다.

알다시피 Windows 입력기 IME의 세벌식 최종 자판에는 5개의 오류가 있다.1) 이러한 오류는 MS IME용 세벌식 파워 업을 사용하면 쉽게 수정이 가능하나 일단은 열려있는 IME을 내려야기에 다른 입력기를 기본 입력기로 설치하고 재부팅을 하여야 한다.
언젠가는 한번 할 재부팅이지만, 재부팅 기피자(?)를 위해 재부팅 없이 적용하는 방법을 찾아보았다.

사실 완전한 세벌식 최종 자판을 사용하는 가장 쉬운 방법은 MS IME용 세벌식 파워 업의 제작자가 만든 날개셋 한글 입력기를 사용하는 것이다. 따로 프로그램을 설치하는 것을 싫어하지 않는 재부팅 기피자들은 이를 사용하면 되겠다. 방법도 쉬우면서 당연히 재부팅도 필요치 않다. 내려받고, 설치하고, 기본 IME로 설정하면 끝이다.

※ 주의 : 이런 과정을 거치는데 소요되는 시간이 재부팅에 필요한 시간보다 더 걸릴 수도 있다.

별도의 프로그램을 설치하는 것을 싫어하는 재부팅 기피자들은 조금 부지런해야 된다. 지금부터 소개하는 과정은 다소의 막노동을 필요로 하며, 최소한의 명령행 사용법을 알고 있어야 한다.

1. 일단 패치도구인 MS IME용 세벌식 파워 업 (han3tool.exe)을 내려받고, 실행해보라.
사용자 삽입 이미지

2. "최종 글쇠배열 패치"를 선택하고 "실행"을 누르면 다음과 같은 화면을 볼 수 있다. 패치가 필요한 2개의 파일 중 하나(imekrcic.dll)는 정상적으로 패치하였으나 imekr61.ime는 패치할 수가 없었다.
사용자 삽입 이미지

3. 일단 imekr61.ime를 임의의 디렉토리에 복사한 후, 1번의 그림에서 보이는 "찾아보기"를 누르고 복사해두었던 파일을 선택한다. 아까와 마찬가지로 실행을 누르면 다음과 같은 복사해둔 파일이 패치 되었음을 알 수 있다.
사용자 삽입 이미지

4. 패치된 파일을 원래 위치의 파일에다 덮어 쓸려고 할 경우, 공유 위반으로 복사가 되지 않으므로 원본 imekr61.ime 파일의 이름을 imekr61.ime.sav 등으로 바꾼다. 일정 시간이 경과하면 imekr61.ime 파일이 다시 생기는데 신경쓰지 않아도 된다.

5. 이제부터 진짜 노가다가 시작되는데, 성공할때까지 패치된 파일의 복사 작업을 반복해야 하므로 복사의 편의를 위해 바탕화면에 패치된 imekr61.ime 파일과 system32의 바로가기 생성해 두었다.
복사를 할때 파일을 바로 끌어다 놓으면 파일이 이동되어 imekr61.ime 파일이 사라지므로 ctrl키를 누른채 복사하거나, 마우스 오른쪽 키를 활용하여 복사하도록 하자.
일단 패치된 imekr61.ime 파일을 system32에다 복사하고, 덮어쓴다.2)
사용자 삽입 이미지
6. 이제 cmd 명령창을 연다. (시작 > 실행 혹은 Win키+R 을 눌러 cmd 를 입력하고 엔터키를 누르면 된다.) 프롬프트가 뜨면 system32 디렉토리로 이동하기위해 다음을 입력하고 엔터를 친다.
cd \windows\system32

7. 이동하였으면 파일 비교를 위해 다음과 같이 입력한다. 이 명령의 계속 써야하므로 명령창은 계속 열어두도록 한다. 파일을 분명히 덮어 썼으나 비교 결과는 동일하다고 나올 것이다.
fc /b imekr61.ime imekr61.ime.sav

8. 다시 파일을 복사하고, 열어둔 명령창에서 다음 명령을 몇초간 반복 수행한다. (이전에 수행한 명령은 화살표↑ 키를 누르면 나오므로 ↑키와 엔터키를 번갈아가면서 누르면 된다)
fc /b imekr61.ime imekr61.ime.sav

패치된 파일(imekr61.ime)과 백업해둔 파일(imekr61.ime.sav)이 다르므로, 비교결과가 일치하지 않는다는 응답을 얻을 수 있으나, 일정 기간이 경과한 후 비교결과 동일하다는 응답을 얻을 수도 있을 것이다. XP의 파일 보호기능에 의해 원본이 복원된 경우이므로 패치된 imekr61.ime 파일을 다시 복사하고 비교하는 과정을 반복하자.3)

9. 위 명령을 일정 기간 수행하였으나 파일이 일치하지 않는다는 결과만을 계속 낸다면, 패치과정이 성공한 것이다. 이제 세벌식 최종자판이 제대로 수정되었는지를 확인하기 위해 메모장 등을 실행하자. (자판을 세벌식으로 변환하는 과정은 안다고 가정하겠다.)
메모장에 영문자판의 ` ~ & * " 에 해당하는 키를 눌러서 각각 * ※ “ ” · 이 찍히는지 확인해보라.

윈도우즈 XP가 시작과 함께 IME를 사용하는 프로세서들이 이미 있었기 때문에 일부 프로세서의 경우 바로 변경된 자판이 적용되지 않을 수 있다. 한 예로, 명령행에서 패치된 자판이 적용되지 않을 수도 있는데, explorer 를 재기동하면 패치된 자판을 쓸 수 있으리라 예상된다.

끝으로, 이 방법으로도 재부팅없이 충분히 패치된 자판 배열을 사용할 수 있겠지만, 자판 패치가 완벽하게 적용되기 위해서는 XP가 재기동 될 필요도 있을 것이다.

----
1) 김 용묵의 절대사상, http://moogi.new21.org/prg1.htm
최근에 출시된 Vista와 Office 2007에는 개선된 IME가 포함되어 있지만 대부분은 OS에서 제공하는 기본 IME 혹은 Office 2003에 포함되어 있는 IME 2003 를 사용하고 있다.

2) 이 과정까지 수행후 재부팅하여 적용하는 팁이 도아의 세상사는 이야기에 이미 소개되어 있었다.  세벌식 팁: 두/세벌식 쉽게 전환하기
모든 작업이 명령행에서 이루어 진 것 외에는 차이점이 없으나, 이상하게도 탐색기에서 수행하였을때는 한차례도 성공한 적이 없었다. 명령행에서 수행하는 하였을때 딱 1차례 성공한 적이 있었는데, 이 부분에 대해서는 개인적으로 차후에 좀더 조건 별로 테스트를 해 볼 필요가 있는 것 같다.
(이 후 명령행에서 몇차례 더 시도해보았는데 될때도 안될때도 있었다. 아마도 재부팅되기 전에 XP에 의해 복원되는 듯하다. 100% 적용되지는 않다보니 애써 재부팅했는데 헛수고가 되는 경우도 있다.)

3) 여기에서 사용된 방법은 그리 권장할 만한 방법이지만, 본인이 의도한 원리는 XP에 의해 복원이 시도될 파일을 미리 열어두어 복원을 방해하는 것이다. 원리대로라면 파일 복원을 시도하려는 때에 파일 비교를 수행하고 있으면 이미 해당 파일이 열러 있어 접근권한을 얻지 못해 패치된 파일이 그대로 남아 있게 된다. 타이밍이 잘 맞으면 성공하는 것이고 그렇지 않은 복원이 되는 것인데 일단 성공하게 되면 해당 파일을 손대지 않는 한 계속 유지되므로 리부팅을 하여도 적용된 패치는 유지된다.
여기에서는 해당 원리를 단순히 구현하기 위해 무식한 방법을 사용하였으므로 일반적으로 적용하기에는 무리가 있을 것이나, 파일을 열어두는 다른 적당한 방법을 선택한다면 큰 무리없이 패치를 완료할 수 있으리라 생각되며, 비슷한 원리로 운영체제에 의해서 보호된 다른 파일에 대해서도 손쉽게 변경할 수 있을 것으로 보인다.

*) 본인의 PC사용습관의 별난탓인지는 몰라도 이 처럼 웹상에서 얻은 Tip을 적용할 경우, 제대로 안되는 경우가 허다하였다. Tip 제공자가 사용하지 않는 프로그램과의 충동(?)때문에 제대로 적용되지 경우도 있었지만, 일부는 제공자가 설명하는 과정 중 재부팅 요구를 충실히 이행하지 않아 발생한 문제으나 ―원채 재부팅을 싫어해서 왠만하면 재부팅없이 하려하는 경향이 있어, Tip적용시 재부팅 과정을 애써 무시한 결과다―, 이러한 요구를 충실시 잘 따라도 되는 않는 경우도 있었다. IME패치가 그 한 예인데, 이번 기회에 Tip을 적용하는데 있어 평소 작업 환경, 작업 습관에 문제가 있어 이러한 일이 생긴 것은 아닌지 전반적으로 검토해 볼 필요가 있는 것 같다.

chic20 꼼쀼타 쪼물딱

Windows 2000 IME 세벌식 버그 패치

2007. 2. 4. 09:27
10년도 더 전에 도스용 한글 3.0 구매하였는데 그 꾸러미 안에 세벌식 스티커의 들어 있었다.
당시에 쓰던 키보드에 붙여서 세벌식으로 배워보려 했건만 워드 작업이 잦아서 급한대로 쓰던 두벌식 계속 쓰고 있었다. 간혹 주위 사람이 본인의 컴퓨터를 쓰려다 스티커가 붙은 키보드를 보고 당황해하였다.나중에 컴 처분과 함께 키보드는 스티커가 제거된 채 다른 사람에게 옮겨갔다.
돌이켜보니 타인을 당혹케 하기만 하고 정작 본인은 익히지 못한 채 스티커를 허무하게 소비해버려서 아깝게 생각된다. 지금 그런 스티커를 판매 한다면 구매할 의사가 있을 정도로, 상당히 잘 만들어진 스티커였다고 기억한다.

최근에와서 그때 익히지 못하였던 세벌식에 대한 욕심이 다시 붉어져 이래저래 관련 사이트를 다녀보았다. 예전에 스티커 없이 몇번 배우기를 몇번 시도한 적이 있는데, 세벌식 스티커를 붙이면 좀 더 쉽지 않을까 하는 생각에 스티커를 판매/배포하는 곳이 없나 살펴보았다. 당시와 같은 세벌식 스티커를 찾지는 못했으나, 무료로 스티커를 배포하시는 고마우신 분의 사이트는 찾을 수 있었다.
그리고 세벌식 관련 도구를 찾아보다, 윈도우즈 IME의 세벌식 최종자판에 틀린 것이 5개나 있다는 사실을 알게 되었으며, 이를 패치해주는 도구를 구할 수 있었다.1)

헌데, XP에서는 사이트에서 안내해주는 대로 하면 쉽게 패치되었는데, 2000으로 돌아와서 하려니 오래 안 쓴 탓에 패치 작업이 번거로웠다. 좀더 쉽게 패치할 수 있는 방법을 두고 삽질만 한 것을 생각하니 자신이 좀 한심해진다.2)

1. 일단 MS IME용 세벌식 파워 업(Han3Tool.exe)을 다운받은 후, 실행하고 "최종 글쇠배열 패치"를 선택 후 "실행"을 누르면, 패치를 하려 했으나 공유문제로 패치가 되지 않는 파일을 볼 수 있다. 여기서는 Windows 2000 기본 IME인 IME 98 이므로 해당 프로그램이 imekr98u.ime 패치하려 했다.

2. 일단 imekr98u.ime 을 임의의 디렉토리에 복사한다. 해당 파일은 통상 c:\winnt\system32 에 존재한다.

3. MS IME용 세벌식 파워 업을 실행하고 최종 글쇠배열 패치를 선택한 후, 찾아보기를 통해 복사해둔 imekr98u.ime를 선택하여 패치를 실행한다.

4. c:\winnt\system32 에 있는 imekr98u.ime 파일을 imekr98u.ime.sav 등과 같은 이름으로 변경하고 패치해둔 파일을 복사해 온다.3)4)

5. 윈도우를 재부팅하면 패치된 IME를 사용할 수 있다.5) 키보드 형식을 세벌식 최종으로 선택한 후 `키,~키를 눌러 *,※가 나온다면 정상적으로 패치된 것으로 보면 된다.

--------
1) 김 용묵의 절대 공간, http://moogi.new21.org/story20.htm, IME2007 에서는 이 문제가 개선되었다.

2) 삽질의 내용은 이러하다. 기본 한글 IME를 완전히 내린 후 수동으로 파일을 선택하여 패치를 한 후 한글 IME를 다시 올리니, 원본에서 파일을 다시 덮어써버려 패치한 게 헛수고가 되어버렸다. 참고로,본인은 영문판 2000을 사용하기에 한글판에서는 IME를 완전히 내릴 수 있는지 여부는 확인해 보지 못했으나, 소개한 방법의 경우는 IME를 내릴 필요가 없어 문제되지는 않을 듯 하다.

3) 파일 복사후 파일비교를 권한다. 그리고 dllcache 폴더 내에 imekr98u.ime 파일이 있는 경우 이를 미리 삭제하여 두는 것이 좋다.
fc /b imekr98u.ime imekr98u.ime.sav
당연한 얘기지만, 실행 결과 파일이 달라야 한다.^^

4) 2000의 경우 기본 IME는 IME 98 이고 XP는 IME 2002 이며, 패치할 파일은 아래와 같았다.
IME 98 : C:\WINNT\system32\imekr98u.ime
IME 2002 : C:\WINDOWS\system32\imekr61.ime, C:\WINDOWS\ime\imkr6_1\imekrcic.dll
2000의 경우 dllcache 폴더만 잘 비워주면 IME를 내리지 않고도 쉽게 패치할 수 있었지만, XP의 경우 파일 보호 기능 등으로 인해 imekr61.ime.sav로 파일명을 변경하더라도 imekr61.ime이 다시 생기므로 패치된 파일을 덮어쓰기를 해야 했다. 그리고 덮어쓰기를 하였더라도 잠시 후 원래 파일로 변경되기도 하였다. (당연히 파일이 다시 생성되기 전에 복사할 경우도 마찬가지였다.)
아무튼 패치를 위해서는 요령이 좀 필요한데, 원리는 복사한 파일이 원 파일로 변경되지 않도록 파일을 열어두는 것이다. 무식하지만 한 예로 복사 직후 위의 비교 구문을 반복 실행하므로써 imekr98u.ime를 계속 access 하는 것이다. 타이밍만 잘 맞춘다면 적용이 되는 것이고, 실패할 경우 다시 복사하여 몇번 반복하다보면 성공할 수 있을 것이다. 실패했는지 성공했는지도 비교 결과를 보면 쉽게 알 수 있으니 생각보다는 유용하기도 하다.
imekrcic.dll 은 1번 과정에서 그냥 패치가 되므로 별도의 추가 과정을 요구하지 않는다..

5) XP의 경우, 재부팅 없이도 가능하다. 참조 : 재부팅없이 Windows XP IME 세벌식 버그 패치
시도 해보지 않아서 확인해 보지는 못했으나 2000에서도 될 것 같다는 느낌이 들기도 한다. 차후에 이 부분에 대해서도 확인보려 한다.

*) 나중에 알고보니 이와 동일한 방법이 이미 도아의 세상사는 이야기에 소개되어 있었다.

chic20 꼼쀼타 쪼물딱