|
[1] MinTTY : Cygwin에서 UTF-8 지원하는 터미널
새로운 Cygwin 1.7 rxvt 한글 문제 해결 alpha 위 글은 cygwin에서 rxvt를 쓰고 euc-kr 문자셋을 쓰기 위한 꼼수를 다룬 것이었다. 그런데, 알고보니 cygwin에서 rxvt 대신 쓸 수 있는 mintty라는 터미널 프로그램이 있었다 mintty는 UTF-8도 지원한다. 요즘 cygwin을 설치하면 "Cygwin Terminal" 바로가기가 만들어지는데, 바로가기는 아래의 같이 mintty를 실행하는 명령을 담고 있다. C:\cygwin\bin\mintty.exe -i /Cygwin-Terminal.ico - 나는 이 바로가기를 무시하고 오래전부터 쓰던 배치파일(rxvt를 실행하는 배치파일)을 이용해서 cygwin을 써 왔기 때문에 이런 프로그램이 있는 것을 모르고 있었다. 어쨌든, mintty를 통해 UTF-8을 쓰기 위해 아래와 같이 약간의 설정변경이 필요했다. (1-1) LANG=C.UTF-8 .bashrc 등에 있는 LANG 설정을 eucKR에서 UTF-8로 바꿔준다. export LANG=C.eucKR ==> export LANG=C.UTF-8 (1-2) .vimrc 문자셋 설정 (fileencodings, encoding) Re: Unicode/UTF-8 support (MinTTY) - ncursesw - Mutt, Vim http://cygwin.com/ml/cygwin/2010-06/msg00196.html cygwin의 vim은 이미 UTF-8 지원에 문제가 없는 상태인데 다만 .vimrc 에서 termencoding 변수가 엉뚱하게 강제설정되어 있으면 오동작하니 조심해야 한다. 내 컴에는, 오랫동안 euc-kr로 고정해서 쓰다보니 .vimrc에 아래의 두 줄이 강제설정되어 있었는데, 이 부분을 제거하지 않으면 vim에서 UTF-8 파일을 편집할 때 한글이 보이기는 하지만 줄의 끝부분이 깨지는 현상이 있었다. set fileencodings=euc-kr set encoding=cp949 (1-3) 덤으로, 폰트 설정 mintty 기본폰트는 Lucida Console인데 한글이 바탕체(?)로 나와 보기에 편치 않다. 터미널에 마우스 오른쪽 버튼 클릭하면 나오는 Options 메뉴에서 설정을 바꿀 수 있다. 나는 Fixedsys로 설정해서 쓰니 보기 편했다. 설정은 ~/.minttyrc 파일에 저장되므로, GUI 안 쓰고 그냥 아래 한 줄짜리 .minttyrc 파일을 만들어도 된다. Font=Fixedsys [2] 여러가지 터미널을 혼용 Cygwin 사용을 위해 프롬프트를 띄우려면 결국에는 bash가 실행된다. cygwin의 bash는 Windows 기본 shell인 cmd에서 실행될 수도 있고, rxvt에서 실행될 수도 있고, 이번에 새로 알게 된 mintty에서 실행될 수도 있다. 이 중에서 UTF-8을 지원하는 것은 mintty 뿐인 모양이다. mintty를 쓸 때는 utf-8을 쓰도록 설정하고 rxvt나 cmd를 쓸 때는 euc-kr을 쓰도록 설정하면 이런 여러 실행방식을 혼용할 수 있을 것이다. 결국 실행중인 터미널 환경을 구분하여 조건화된 설정을 해야 한다. 대충 정리해보니 각 환경별로 아래와 같이 환경변수 구분이 가능했다. - bash over rxvt : TERM == xterm && COLERTERM == rxvt-xpm - bash over mintty : TERM == xterm - bash over cmd : TERM == cygwin 이 구분법을 이용해 아래와 같이 .bashrc 및 .vimrc를 설정해 보니 그럭저럭 환경별 대응이 가능한 것 같았다. 뭔가 잘못이 있을지도 모르니까 문제 생기면 알아서 고쳐 써야 한다.. (1-1) LANG=C.UTF-8 bash 실행환경이 cmd, rxvt, mintty 가운데 어떤 것인지 구분하여 LANG 설정을 하기 위해 .bashrc 등에 있는 LANG 설정을 아래와 같이 해 두었다. # rxvt : TERM == xterm && COLERTERM == rxvt-xpm # mintty : TERM == xterm # cmd : TERM == cygwin if [[ "${COLORTERM}" == "rxvt-xpm" || "${TERM}" == "cygwin" ]]; then #export LANG=ko_KR #export LANG=ko_KR.eucKR export LANG=C.eucKR fi (1-2) .vimrc 문자셋 설정 (fileencodings, encoding) .vimrc의 문자셋 설정부분을 아래와 같이 해 두면 파일 인코딩이 utf-8 이든 euc-kr 이든 모두 깨지지 않고 처리 가능했고, 터미널 환경도 utf-8이 되든 euc-kr 이 되든 잘 되었다. fileencoding 설정은 vim에서 파일을 읽어들일때 순서대로 시도해볼 문자셋/인코딩 방식을 나열하는 것 같고 encoding 설정은 터미널에서 사용하는 문자셋/인코딩 방식을 적는 것 같다. 엉성해 보이지만 대충 잘 돌아가는 것 같다. " bash over rxvt : TERM == xterm && COLERTERM == rxvt-xpm " bash over mintty : TERM == xterm " bash over cmd : TERM == cygwin " bash over (rxvt OR mintty) if $TERM == "xterm" set background=dark if $COLORTERM != "rxvt-xpm" set fileencodings=ucs-bom,utf-8,euc-kr set encoding=utf-8 endif endif " bash over rxvt if $COLORTERM == "rxvt-xpm" set fileencodings=ucs-bom,utf-8,euc-kr set encoding=cp949 endif " bash over cmd if $TERM == "cygwin" set fileencodings=ucs-bom,utf-8,euc-kr set encoding=cp949 endif
VC8(VS2005) 부터 변경된 사항들(Hotfix)
http://bit1010.tistory.com/114
[1] Memory Support and Windows Operating
http://msdn.microsoft.com/en-us/windows/hardware/gg487508 32-bit Windows 2000/XP/2003 등의 메모리 인식/사용 한계에 대한 자료. 정리된 표 하나 없는 서술형이지만 읽기에 편한 것 같아서 링크해 둔다. [2] Physical Address Extension - PAE Memory http://msdn.microsoft.com/en-us/windows/hardware/gg487503 XP에서도 PAE가 지원되기는 하지만 XP는 PAE 켜진 상태로 인식가능한 총 실 메모리 한계가 4GB이다.
* Total physical address space is limited to 4 GB on these versions of Windows. PAE is supported only on 32-bit versions of the Windows operating system. 64-bit versions of Windows do not support PAE. For information about device driver and system requirements for 64-bit versions of Windows, see 64-bit System Design. Although support for PAE memory is typically associated with support for more than 4 GB of RAM, PAE can be enabled on Windows XP SP2, Windows Server 2003, and later 32-bit versions of Windows to support hardware enforced Data Execution Prevention (DEP).
[TIP] H61, H67, P67, Z68 보드 차이점
http://forceya.blogspot.com/2011/06/tip-h61-h67-p67-z68.html
'나꼼수', 무료 전자책 버전이 나왔다고?
[나도 책 쓴다]<1>전자책, 기계가 아닌 사람이 관건 http://pressian.com/article/article.asp?article_num=60111124112003§ion=04
|
카테고리
이전블로그
최근 등록된 덧글
저도 다른 분의 글을 따라..
by 시험さま at 10/31 감사합니다 ^-^ 갤럭시.. by 알양 at 10/28 안녕하세요?... 그렇.. by 사랑아빠 at 10/28 사랑아빠님 글을 보고 .. by 시험さま at 10/27 한글 문제로 고생하고 .. by 사랑아빠 at 10/25 한글 문제 참조 잘하였.. by 정글팜 at 09/06 iostream 소스는 아마 .. by 시험さま at 07/07 리눅스에서 서버파일 컴.. by 케리스 at 07/07 말씀하신 '~랄까'는 저도.. by 시험さま at 06/21 예전에 아마추어 번역된.. by 시험さま at 06/21 다른 가볼 데
| |||||||||||||||||||||