emacs를 사용하기로 하고 세팅을 했다

먼저 lisp사용을 위해서 http://onlisp.blogspot.com/글들을 참고했다. 이전에 emacs는 GNU emacs 소스를 새로 다운받아서 빌드했었는데 추가로 common lisp구현을 위해서 sbcl도 macport로 설치 후 다시 sbcl소스를 받아 빌드했다. 그리고 slime도 받아서 추가하고 .emacs를 수정했다.

그런데 실행하고 나서 한글 입력이 잘 되지 않았다.

여기저기 구글링을 해 보니 설정을 ~/.emacs에 추가로 해 주어야 했다.
우선 http://emacs.kldp.org/에서

; Korean language support
(require 'cl)
(when enable-multibyte-characters
(set-language-environment "Korean")
(setq-default file-name-coding-system 'utf-8)
;; (setq default-korean-keyboard "3")
;; (setq input-method-verbose-flag nil
;; input-method-highlight-flag nil)
(set-terminal-coding-system 'utf-8 )
(set-keyboard-coding-system 'utf-8)
(set-selection-coding-system 'utf-8)
(set-buffer-file-coding-system 'utf-8)
;(set-file-name-coding-system 'utf-8)
;(set-w32-system-coding-system 'utf-8)
(setq-default file-name-coding-system 'utf-8)
(setq-default buffer-coding-system 'utf-8)
(prefer-coding-system 'utf-8)
(set-default-coding-systems 'utf-8)
(unless window-system
(set-terminal-coding-system 'utf-8)
(when (boundp 'encoded-kbd-mode-map)
(define-key encoded-kbd-mode-map [27] nil)))

(set-selection-coding-system 'compound-text-with-extensions)
; Mail setting
(setq-default sendmail-coding-system 'utf-8))
(unless (or enable-multibyte-characters window-system)
(standard-display-european t)
(set-input-mode (car (current-input-mode))
(nth 1 (current-input-mode))
0))

을 집어 넣었다. 현재 맥에서 사용하는 UTF-8 인코딩을 쓰기 위해서인데 뭔가 중복되는 부분을 제거해도 될 듯 하다. 이렇게 설정하면 한글입력은 잘 되고 표시도 잘 된다.

그리고 또한 slime에서도 한글이 잘 되게 하기 위해 kaisyu님의 글을 참고해서 아래를 ~/.emacs에 추가했다.

;; UTF-8 인코딩을 기본으로 사용 --> 한글 symbol 사용을 위해
(setq slime-net-coding-system 'utf-8-unix)

Technorati Tags: , , ,

Posted by trip2me
,

Unix계열인 맥에서도 screen이란 다중 윈도우를 지원하는 터미널 유틸리티이다.
느린 터미널에서 출력이 많을 경우나 잠시 작업을 터미널에서 떨어뜨려 놓을때 유용한 프로그램이다. iTerm을 사용해서 자주 사용하지 않게 되긴 했지만 여전히 가끔은 유용한 경우가 있다.

그런데 사용을 해 보면 몇가지 팁을 적어둔다.

1. UTF-8 한글 입출력 설정
매뉴얼을 보면 .screenrc 에 defutf8 on 을 하면 된다고 하지만 잘 되지 않더라. 그래서 왜 그런지 이유는 잘 모르겠으나 screen시작시 '-U' 옵션을 주면 된다. 그게 결국 위의 옵션을 지정한 것과 같은것인데 왜 실행인수로는 잘 되고 환경설정파일에서는 안되는지...

2. 상태표시줄 설정.
.screenrc에 몇가지 설정을 하면 상태 표시줄을 표시해서 몇변째 스크린인지 표시되게 하면 편리하다.

defhstatus "<^En-^Et> ^EW [^EM/^Ed(^ED) ^Ec]"
hardstatus lastline

대략 이렇게 하면 된다. ^En 은 현재 창번호를 ^Et는 현재 창 타이틀을 ^EW 는 나머지 창들에 대해서 표시한다.

3. 화면 스크롤 사이즈 조절
.screenrc에 아래 내용을 설정하면 스크롤사이즈를 1000라인으로 설정하게 된다.

defscrollback 1000

스크롤이 무엇이냐 하면 스크린 내용을 마우스를 사용하지 않고 내부 버퍼에 들었던 내용을 스크롤 할 수 있게 하는 것이다. Ctrrl-a [ 을 하면 그때부터 copy mode이다. 이 상태에서 vi식의 단축키로 돌아다닐 수 있다. 그러다가 space를 눌러서 일정 영역을 선택한 후 다시 space를 누르면 내부 버퍼에 복사가 된다. 그 내용을 붙여넣기 하고 싶으면 Ctrl-a ] 하면 된다. 이동중에 빠져나오려면 Esc Esc하면 된다.

4. 스크린의 공유
screen실행시 '-x' 옵션을 이용하면 같은 사용자가 스크린을 두 터미널 창에서 동시에 나타나게 혹은 다른 사용자가 접속해 볼 수 있다.
다른 사용자가 접속해서 보게 하려면 조금 더 설정이 필요하다.
먼저 screen 실행파일에 SetUID 퍼미션을 준 상태이어야 한다.
그리고 접속을 허용할 A사용자의 .screenrc 파일에

multiuser on
addacl B

의 내용을 추가해서 다중사용자 접근이 되게 허용하고, B라는 사용자에게 권한을 주게 한다. 그렇게 설정한 상황에서 접근을 원하는 B 사용자가 'screen -r sessionowner/[[pid.]tty[.host]]'으로 접속을 하면 된다.

5. .profile 설정이 적용되지 않는다.
이전에는 필요한 alias등을 모두 .profile에 해 두고 사용을 했다. 그런데 screen은 새로운 스크린을 만들때 .profile을 읽어들이지 않아서 설정이 적용되지 않았다. 그래서 필요한 내용을 .bashrc에 두고 사용을 하면 된다. 이는 현재 사용하는 쉘이 bash이기 때문에 .bashrc에 필요한 설정을 한 것이다.

더 자세한 내용은 man page와 info
그리고 http://sdnkorea.com/blog/entry/GNU-Screen-설치-및-활용하기 을 참고하자.

Technorati Tags: , ,

Posted by trip2me
,
새로운 링크 소개 이 게시물 대신 새로 만든 프로그램을 사용하세요. 


맥을 쓰면서 가끔 불편한 구석이 있었을때가 친구는 윈도우를 쓰는데 필요한 자료를 묶어서 보내 줄 때 한글이 포함된 경로명이나 파일이 있으면 죄다 깨어져 보인다는 것이었다.

이걸 해결해 보려고 많은 시도를 해 보았었다. 유니코드를 지원하는 압축 포멧들( 7z, rar )를 써 보았지만 한글이 깨어지지는 않는데 또 첫가끝형식을 사용하는 맥의 한글이 그대로 윈도우에서 나타나버려서 가령 '연습.txt'의 경우 윈도우에서 'ㅇㅕㄴㅅㅡㅂ.txt'처럼 풀려버리는 문제가 있었다. bzip2의 경우는 화일 하나만 저장 가능하지만 글자가 풀리는 문제는 없었다. 하지만 일일이 하나씩 압축 할 수는 없고 디렉토리도 해결할 수 없다.

그래서 애플 포럼의 글도 참고해 보았고 여러 블로그를 검색해 보았는데 zip형식은 파일의 인코딩제한을 하지 않는다는 것과 파이선의 zipfile모듈은 zip으로 압축할때 내부에 저장되는 이름을 바꿔 저장이 가능하다는 것이었다.

그래서 처음에 파이선으로 경로명을 UTF-8에서 EUC-KR로 바꾸어주는 unicode모듈을 이용해서 스크립트를 만들었다. 그런데 만드는 도중에 인코딩 변환이 생각대로 되지 않고 에러를 내기에 알고보니 NFD를 사용하는 맥의 문자열을 내가 그대로 NFC를 사용하는 파이선의 인코딩 변환함수에 적용하였기 때문이었다. 구글링과 파이썬 마을 장혜식님의 답글을 통해 문제를 해결했다. 빠른 답변을 해 주셔서 고마웠다.

만든 스크립트를 사용해 보니 잘 되긴 하지만 아무래도 터미널에서 사용하는게 불편하기도 하고 압축되는 경로 사이에 압축 파일이 있을 때 자신을 제외하는 예외처리를 하지 않은 상황이라 그래도 좀 무리없이 사용하기 위해서 애플 포럼의 패치맨님 워크플로우에서 힌트를 얻어서 오토매이터 버전으로 변경을 해 보았다.

처음에 바꿀때 잘 몰랐던 사실은 오토메이터가 'get selected items'로 선택된 파일을 줄 때 모두 절대경로명이 넘어온다는 것이었다 그래서 짜 놓았던 스크립트를 조금 변경해야 했다. 또한 압축파일 중복시 새로 이름 바꾸어서 저장하는 부분도 추가하고 선택한 파일의 이름을 압축결과의 파일명이 되도록 했다.

아직 예외처리가 없어서 파일읽기 오류나 디스크 가득찰때, 모르는 기타사항에 대해 오류를 보여주지는 않지만 간단히 윈도우로 보낼 것을 압축하는데는 유용하게 사용 가능할 듯 하다.



설치는 간단히 첨부파일의 압축을 풀어서 자신의 맥버전에 맞추어 폴더안에 들어있는 파일만 ~/Library/Workflows/Applications/Finder/ 아래에 넣어 주면 설치끝~
파인더를 열고 Cmd+Shift+G 를 눌러 나온 글상자에 위의 경로를 붙여넣으면 한방에 이동할 수 있다.

사용방법은 압축을 원하는 파일이나 디렉토리를 하나이상 골라서 놓고나서 마우스 오른쪽 버튼을 눌러 컨택스트 메뉴의 Automation -> winzip을 고르면 압축을 해 준다.
winzip



ps. 타이거 유저는 파이썬버전이 낮아서 2.4 이상으로 업그레이드가 필요하다.
1.우선 최신 파이썬 mac용을 다운받아 설치한다
2.터미널을 열고나서 아래 명령을 차례대로 실행한다. 암호를 물을때 사용자암호를 입력하면 된다..
sudo mv /usr/bin/python /usr/bin/python.old
sudo cp /usr/local/bin/python /usr/bin/python


Posted by trip2me
,
지금까지는 윈도우의 원격 데스크탑이나 VNC등을 통해서 VLC를 서버측에 GUI로 띄워서 볼 영화를 서버측에서 설정해 보았는데 원격으로 접속하는게 여간 불편한게 아니었고 일일이 영화 하나하나를 열려고 하니 그것도 불편했다. 그런데 VLC 메뉴얼을 보니 GUI 없이 또는 HTTP를 통해서 조작 할 수 있었다.

HTTP로 띄울 때 커맨드라인 옵션은 --intf http 또는 -I http이다. 자세한 사항은 VLC online manual을 참고하면 된다. 여기에 보면 웹페이지 접속 호스트주소와 포트 번호를 임의로 지정하고 어드민을 정해 관리 할 수 있다.

간단히 -I http옵션을 준 웹브라우져의 vlc인터페이스는 아래처럼 생겼다. 타임슬라이드를 잘 이동할 수 있어서 여기저기 이동이 편리하다.
VLC 웹 인터페이스

또는 아예 인터페이스를 없게 하거나 텔넷으로 접속하게 하는 방법도 있다. -I dummy옵션을 주면 아무런 인터페이스 없이 그냥 콘솔에서 돌아간다. 또는 텔넷접속을 하려면 -I telnet을 주면 된다. 자신의 콘솔창에서 컨트롤을 하게 하려면 -I rc을 쓰면 된다. 앞으로 나올 0.9버전대에서는 이 인터페이스별 프로그램을 별도로 만든다고 한다.Running VLC without interface

그리고 udp또는 rtp스트리밍 옵션을 콘솔에서 더 주거나 파일을 지정하면 바로 영화를 스트리밍해 볼 수 있다.

예를들어 간단히 웹인터페이스로 접속할 수 있고 바로 영화를 UDP로 유니캐스트하는 커맨드라인 옵션은 아래처럼 줄 수 있다.
vlc "영화파일이름" --sout udp:"스트리밍을 받을 클라이언트 IP주소" -I http

ex) vlc I.Am.Sam.2001.DVDrip.XviD.AC3.5.1CH.CD1-WAF.avi -I http --sout udp:59.24.192.126

이렇게 하고 나서 클라이언트쪽에서 vlc를 띄우고 'Open network'메뉴를 선택해서 아무 설정도 없이 바로 open해서 영화를 보았다. 도움말을 참고하면 멀티캐스팅도 가능한데 설정이 좀 더 까다롭고 원거리 네트워크에서 잘 될지 모르겠다. 맥에서는 /Application/VLC.app 디렉토리에 들어 있으므로 실행파일을 소프트링크로 /usr/bin에 하나 만들어 두는것도 괜찮을듯 하다.

물론 위의 설정은 물론 VLC GUI인터페이스의 마법사를 통해서도 할 수도 있다. VLC를 이용해서 동영상 스트리밍, 동영상변환등 많은 것을 할 수 있다. 기능별로 옵션이 너무나 많으므로 기타 자세한 것은 온라인 도움말을 참고하기 바란다.

중요한 것은 이 모든 혜택이 제작자의 헌신으로 이루어지고 있고 linux, Mac, Windows에서 모두 잘 돌아간다는 것이다.!!! 잠재된 VLC플레이어의 기능을 잘 활용해 보자.
Posted by trip2me
,
가끔 상대방에게 다소 언행이 거친 글을 쓰는 분들을 보면, 타인에게 글을 쓸 때 자신이 누구인지 분명히 밝혀 두었으면 하는 생각이 든다.

예전에 내가 다니던 학과에서도 학과 홈페이지에 모 선배가 학과장님께 글을 올렸다가 과에서 한창 시끄러웠던 적이 있었다. 그때 내가 했었던 생각은 차라리 온라인에서 글을 올리는 것 보다는 학과 게시판을 만들어서 자신의 이름 석자를 달고 대자보를 작성해 모두에게 고하는 것이 어떨까 하는 것이었다. 거기에 역시 반대하거나 다른 의견이 있다면 역시나 자신의 이름을 달고 의견을 나란히 올려서 모든 사람들이 생각해 볼 수 있게 하는게 어떨까 하는 것이다.

자신을 드러내지 않기를 원하는 사람들이 있고 사람의 심리적인 요인때문에, 모든 사람이 자신의 의견을 소신있게 자신의 이름을 달고 올릴 수는 없을 것이다. 하지만 상대방과 연관되어 있는 지극히 개인적인 사항이 아닌 내용에 관해서는 자신의 이름을 숨기고 이야기한다는 것은 책임을 회피하는 것이 아닐까?

물론 익명성을 이용하여 얻는 이득도 있다. 익명의 제보를 통해서 얻는 범죄자의 검거라든지 정의의 구현등...
하지만 익명을 통한 인터넷에서의 장점은 그리 긍정적이지만은 않은듯 하다. 대량성 신속성이라는 것과 익명성이라는 것이 결합해서 혹자를 마녀사냥의 제물로 빠뜨리고 자신을 과장하거나 축소해서 상대방을 유린하는 행위가 많기 때문이다.

타인을 대할 때 자신을 밝히게 되면 적어도 자신이 하는 언행에 대해서 책임을 져야할 무언의 구속력이 보통의 사람들에게는 생기게 된다. 어떤 면에서는 족쇄가 되거나 사회의 통념에 어긋나는 행위 또는 잘못된 사회의 인식에 항거하는 내용이 날개가 꺾이는 것이 되겠지만 내가 배운 사람이 해야하는 행동의 가치기준에서는 자신을 밝히는 것이 바람직하다고 생각한다. 물론 특수한 상황에서는 자신을 죽게 만들 수 있지만 그것은 시간이 판단해 주리라 생각한다.

난 심리학, 사회학을 배우지 않은 평범한 공대출신이다. 내 글의 여기저기에 오류가 많이 있으리라. 나는 의견의 다양성을 존중하기 때문에 누군가 의견을 제공해 주었으면 한다. 사람 하나하나가 하는 생각은 다른 이들을 해치는 것이 아니라면 무엇이든 존중되어야 한다. 거기에 대해서는 두손들고 받아들인다. 누가 옳고 그른 것인지를 평소에 따지는 것 보다는 인간적으로 대해서 지내는 것이 보다 좋기 때문이다.

ps. 익명적인 의견도 상관이 없지만 가급적이면 자신의 아이디로 로그인해서 의견을 타진해 주기를 바란다.
Posted by trip2me
,
최근까지 쓰다쓰다 너무 좁아져서 xSlimmer로 바이너리를 다이어트 해 보기도 했으나 결국 좁은 맥의 굥간을 넗게 만드는 삽질을 하고 말았다.

사실 삽질의 시작은 서핑을 하다가 노트북의 복구씨디에 적용된 라이센스를 백업 받아서 깨끗하게 설치 할 수 있다는 글들이 눈에 보였기 때문이다.
제품출하시 비스타 인증정보 백업/복원 - 디엔에이님
Clean Vista install WITH NO ACTIVATION - orev

거기에다가 Thinkpad의 RnR에 사용되는 bmgr32.exe를 이용해서 고스트 이미지를 놋북에 내장했다가 부팅시 특정 펑션키를 누르면 작동되게 하는 것을 보고 꼭 복구영역을 잘 작동하게 하면서 기존에 멀티 부팅이 번거로웠던 것을 해결하리라 마음 먹었다.

원버튼 복구 솔루션 - kmk0838님

일단 작업은 기존 비스타를 제거하고 맥공간을 늘린 후 비스타를 새로 설치할 생각이었으므로 위 링클를 참고해서 라이센스를 백업 받았다. 그런데 사실 설치하면서 알게 된 사실이지만 RnR안에 저장하는 라이센스 정보가 암호화 되어 있어서 이를 해독하여 파일을 뽁기는 힘이 들기에 oembios.net이란 곳이 있다. 저작권에 큰 문제를 일으키지 않는 이유는 이 라이센스 파일을 가지고 있어도 비스타를 인증하기 위해서는 해당 라이센스의 하드웨어를 가지고 있어야만 작동이 되기 때문이다. 즉 아무 컴퓨터에나 인증을 받을 수 없다.

맥은 iPartition으로 좁은 공간을 두배나 넓게 늘렸다. 시간은 생각보다 그리 많이 걸리지 않았다. 그리고 비스타 클린 설치 시작. 설치부터 고난의 연속이었다. 설치를 잘 하고도 위의 글대로 인증이 되지 않는것이었다. 그래서 3번은 설치한 듯 하다. ㅠ_ㅠ; 그래도 결국 인증을 받았다.

비스타 설치중에 한가지 안 사실인데 비스타는 설치시 자신이 들여다 볼 수 없는 파일 시스템 파티션이 액티브 되어 있으면 설치를 거부한다. ㅡ_ㅡ; 왜 그런지 이유는 모른다. 나 이외에 아무도 섬기지 말란 것인가???
그래서 결국 파티션의 액티브롤 없애고 했더니 넘어가더라.

이제 비스타 설치가 끝나고 비스타에 TP드라이버만 설치한 후 이미지 백업을 위해 BCWipe로 빈 공간을 모두 0으로 채웠다. 그리고 비스타 설치디스크로도 삭제하지 못하던 스왑파일과 하이버네이션 파일을 유닉스용 BCWipe로 역시나 0으로 채워 지운 후 Mac의 DiskUtility로 이미지를 뜨니 6기가 이미지가??? 왜 겨우 1.7기가밖에 하지 않지??? 놀라울 따름이다 이미지 잘 떠진건지도 모르겠다.

그리고 한가지 어려웠던 것이 복구영역 접근을 하게 해 주는 BMGR32.exe 설정이었다. 사실 알고보면 아주 어려운 것은 아니나 실제 많은 자료가 있지 않아서 여기저기 돌아다니면서 정보를 구했다. 비스타를 새로 설치하면 기존의 RnR복구영역 접근 MBR이 지워지는데 이게 완전히 다 지워지는게 아니라 큰데 작은게 덮어쓰는 식이라 여러번 하면 RnR복구 MBR저장공간이 모자라 나중에 RnR을 설치 할 수 없게 된다. 물론 나중에는 파티션을 로우이미지로 바로 건드리는 것으로 지우면 되지만 귀찮으니 주의해야 한다. 그리고 난감한게 과연 저 RnR에 있는 BMGR32.exe를 어떻게 나의 놋북에 맞게 설정을 해서 써야하는가가 걱정이었는데 대략 아래처럼 수행했다.

C:\Users\trip2me\Desktop>bmgr32.exe /V /Fbootmgr.bin /HS /P12 /M0 /THINK
installing MBR
finding free sectors
Sector 9 is free
Sector 10 is free
Sector 11 is free
Sector 12 is free
Sector 13 is free
Sector 14 is free
Sector 15 is free
Sector 23 is free
Searching for NTFS Service Partition...
Returning Partition number of mounted SP 0-3: 0
Here 1
Here 2
Applying hide changes
Hiding partition 0
Cannot hide the active partition 0.

C:\Users\trip2me\Desktop>bmgr32.exe /V /HS /P12
It's a Lenovo MBR
Searching for NTFS Service Partition...
Hidden Service Partition found at 0-3 : 0
Applying hide changes
Hiding partition 0

C:\Users\trip2me\Desktop>


그리고 아래는 보기 힘든 도움말이다. 커맨드창에서 도움말이 나오지 않았다.
또한 파일은 RnR설치후 로컬 드라이브의 디렉토리에서 구할 수 있다.
처음에는 몰라서 ThinkWiki를 참고해서 찾았다.

This program installs and/or modifies Xpoint Boot Manager. The boot manager file must be named boot.bin in the current directory or be specified with /F parameter.
This is the list of supported parameters:

[/S] : silent mode
[/?] [/H] : print this message
[/Fboot.bin] : use file boot.bin for boot manager
[/Mmenu.txt] : use menu.txt file for configuring boot manager
[/BS] : boot service partition on next boot
[/An] : set active partition to n immediately, n={1234}
[/V1] : unhide service partition
[/V0] : hide service partition
[/E1] : set hide flag for extended partition
[/E0] : clear hide flag for extended partition
[/D1] : set Xpoint mode - service partion alway UNhidden
[/D0] : clear Xpoint mode
[/R] : remove boot manager
[/T1] : set High Reliability (hide all on HD1)
[/T0] : remove High Reliability (unhide all on HD1)

[/U] : permanently unhide extended partition

No spaces between the /X and its parameter. For example /F boot.bin is not
correct

Do not combine /T1 or /T0 with any other options


BMGR의 신버젼 영문 도움말
===========================

The syntax for bmgr is: bmgr
Legacy switches:
/S : silent mode
/?, /H : print this help message
/Fboot.bin : install boot.bin as MBR
/Mmenu.txt : use menu.txt file for configuring boot manager
/BS : boot DOS service partition on the next boot
/An : set active partition to n immediately, n={1234}
/V1 : unhide service partition
/V0 : hide service partition
/E1 : set hide flag for extended partition - not implemented
/E0 : clear hide flag for extended partition - not implemented
/U : Never hide extended partitions - not implemented
/R : remove boot manager
New switches:
/AS : make Service Partition active
/B0, /B1, /B2, /B3, /BW: boot to partition 0, 1, 2, 3, or WinPE
/CFG: apply the config file changes for prompt, key scan code, delay
/Dn: Apply changes to drive n (n = 0 for 1st drive)
/H0, /H1, /H2, /H3, /HS: hide partition 0, 1, 2, 3, or SP
/Think, /OEM: define the computer manufacturer
/INFO: print out info
/M0, /M1, /M2: set mode, predesktop in 0=SP, 1=C:, 2=SP w/DOS
/U0, /U1, /U2, /U3, /US: unhide partition 0, 1, 2, 3, or SP
/P12: hide SP with type 12 - must be used with /Hx flag
/TOC:______ LBA location for the BIOS TOC
/Q: Quiet mode
/V: Verbose mode


--------------------------------------------------------------------------------

공개: BMGR32의 영문 도움말


The syntax for bmgr32 is: bmgr32
The optional arguments are:
/AS: Make the Service Partition Active
/B0, /B1, /B2, /B3, /BS, /BW: boot to partition 0, 1, 2, 3, DOS SP, or WinPE
/BWIN: Boot to Customer OS
/CFG: apply the config file changes for prompt, key scan code, delay
/Dn: Apply changes to drive n (n = 0 for 1st drive)
/DS: returns the data sector index (0 based)
/H0, /H1, /H2, /H3, /HS: hide partition 0, 1, 2, 3, or SP
/Think, /OEM: define the computer manufacturer
/INFO: print out info
/M0, /M1, /M2: set boot manager configuration mode, predesktop in 0=SP, 1=C:, 2=SP w/DOS
/U0, /U1, /U2, /U3, /US: unhide partition 0, 1, 2, 3, or SP
/F: install Lenovo MBR
/P12: hide Lenovo SP with type 12
/U: Uninstall Lenovo MBR
/UF: Forced Function
/Q: Quiet mode
/V: Verbose mode
/R: Reboot computer
/TOC:______ LBA location for the BIOS TOC
/TOCUninstall : Uninstall the TOC completely, disabling CIRT completely
/CIRTEnable : Enable the CIRT, will boot CIRT every boot
/CIRTDisable: Disable booting to the CIRT, but leave on system
/CIRTErrorHaltOn : If CIRT error is encountered, halt the computer
/CIRTErrorHaltOff : If CIRT error is encountered, do not halt the computer
/CIRTSkip : Skip loading the CIRT for one boot cycle
/REFRESH: Adjust partition indecies

/Think and /OEM cannot be set at the same time.



설정을 하고 나면 놋북이 켜지고 몇초간 F11이 눌러지는지 검사하다가 입력이 없으면 정상 시작을 한다. 키가 눌리면 복구 영역이 설치되는 그런 식이다. 단순히 GRUB이런것을 쓰면 쉬운데 TP에 TP전용의 버튼에 설정을 하려 하니 힘이 들었다. 작동이 한시름 놓을거 같았으나 이제 제일 큰 문제가 남아 있었다. 기존의 2번 중복을 하는 멀티부팅 화면을 하나로 줄여보자는 것.

해결의 실마리는 Grub for Dos에 있었다. 위 다음 블로그에 원터치 고스트를 작성하신 분이 언급해서 힌트를 얻었다.
사이트에 가서 다운을 받고 삽질을 하다가 메뉴얼을 보고 어찌해서 실행을 하게 만들었다. 그렇게 해서 맥을 비스타 부트 매니져가 고르면 바로 Grub for Dos가 뜨고 이게 바로 맥의 파티션을 활성화 하고 체인로더로 부팅을 한다.
Grub for Dos 설정은 윈도우의 Bcdedit를 이용해 설정했다.

그리고 나서도 마지막 한가지 문제가 남았었는데 활성화된 파티션이 맥이 되면 다시 재시작시 부팅이 에러가 나면서 멈춘다는 것이다. 소위 유명한 'HFS+ error'문제. 나자신도 어떻게 부트로더를 바꾸어서 정공법으로 바꾸어볼까 했지만 잘 되지 않았다. 결국 해결한 것은 처음 부팅시 싱글모드에서 시작되는 스크립트인 rc에 fdisk로 활성화 파티션을 바꾸는 명령을 집어넣어두는 것이었다.

그렇게 하고 나니 이제는 그런저럭 잘 부팅이 부드럽다. 예전에는 맥을 들어가는것을 보기 전엔 다른곳에 가지 못했는데 이젠 잘 된다.

쓸 내용이 많은데 하루종일 잠도 자지 않고 해서 정신이 없다. ㅠ_ㅠ/ 생일에 이게 무슨 난리굿이람.
Posted by trip2me
,
노트북 하드 디스크 공간이 너무 작아서 주로 음악은 99.9% 리눅스 서버에 있다.

별다르게 itunes말고 mp3플레이어를 설치하기도 귀찮고 이를 이용해서 어떻게 편하게 음악을 들을 방법이 없을까 고민하다가 우연히 iTunes server가 지원되는 NAS들이 있다기에 인터넷 검색을 하니 firefly라는 개발중인 프로그램이 있었다. 그리고 게시물들을 뒤져보니 국내에서도 위 프로그램을 설치해 사용하시는 분이 몇 분 있으셨다.

문제는 나의 경우 리눅스 서버가 서브넷 안에 있는게 아니라서 위의 프로그램이 잘 작동 되려면 브로드 캐스팅 되는 패킷을 가져다 줄 방법이 더 필요했다.

그래서 역시나 검색 결과 이런 일을 하는 무료 프로그램이 하나 더 있었다. 이름하여 chaoticsoftware 사의 Network Beacon

이녀석이 하는 일은 특정 서비스를 프록시로 서비스해주는 것이다. 그래서 이걸 mt-daapd가 브로드캐스팅 되듯이 해 주면 된다. 혹은 firefly포럼의 글에서처럼 터미널에서 서비스등록을 해 주면 된다.


설치 이전에 참고사항으로 아직은 stable빌드가 인코딩을 잘 지원하지 못해서 한글 tag의 경우 와장창 깨어진다.
nightly 빌드는 괜찮더라는 netj님의 미투데이 댓글이 있는데 아직 그리 시원하게 돌아가지 않는듯 하다. 그리고 iTunes특성상 싫어하는 OGG등의 파일들이 플레이가 가능하지 않은데 nightly빌드는 이를 지원하기 위해 wav로 풀어서 스트리밍하는 방법을 지원하려고 노력하는 듯 하다. 관심 있으신 분은 nightly빌드를 사용하시길.
나는 일단 음악을 간편히 듣는데 목적이 있으므로~~ 그냥 안정 버전으로 설치했다.

설지는 간단하다. firefly를 리눅스 서버에 다운받고 압축을 풀어 빌드를 하면 된다. 그리 의존성을 요구하지 않으므로 빌드에 별 무리가 없을 것이다. .ogg등을 지원하는 상위버전은 의존성 요구를 할 지도 모른다.

설치를 하면 실제 음악파일들이 어디 있는지 알려주기 위해서 mt-daapd.conf를 자신에 맞게 수정을 해 주어야 한다. 이 설정은 서비스를 띄운 후 웹에서 수정 가능하다. 설정파일의 디폴트 포트번호는 3689이다.
그리고 추가로 mt-daapd.playlist를 수정하면 mp3태그에 있는 내용을 구분하여 자신이 설정하고 싶은 목록을 작성할 수 있다. 아차 그리고 캐시 디렉토리를 하나 만들어 주라고 메뉴얼에 언급되어 있었다. 나는 디폴트로 /var/cache/mt-daapd 를 하나 만들어 줬다.
설정 후 firefly를 실행해준다.
sudo service mt-daapd start


시작을 했으면 확인을 위해 브라우져에서 지정한 포트번호로 접속해 본다. 그렇게 되면 웹 인터페이스가 뜬다. 물론 관리를 위한 비밀번호를 설정파일에 설정했으면 이를 알려줘야 가능하다.

firefly 웹 인터페이스


그리고 맥에서 Network Beacon을 다운받아서 실행 후 하나의 beacon을 아래처럼 추가한다. 물론 포트 포워딩을 해야하므로 IP를 127.0.0.1로 했고 포트 번호는 mt-daapd의 디폴트 값을 사용했지만 바꾸신 분은 바꾸고 적당히 설정하면 된다.
Network Beacon 설정


그리고 나서 SSH를 이용해 리눅스 서버에 터널링을 한다.
sudo ssh ID@host -L 3689:localhost:3689


터널링이 되면 이제 아까 추가한 비콘을 활성화 한다.
그리고 드디어 itunes를 실행하면~ 아래처럼 추가된 라이브러리를 볼 수가 있다.
아쉽게도 인코딩 문제랑 커버플로우, 태그 수정 등을 지원하지않아 아쉽긴 하다. 그래도 이게 어디인가?
물론 수정을 하고 싶으신 분은 이렇게 하지 말고 iTunes라이브러리 위치를 아예 네트웍 드라이브로 옮기면 된다.
firefly를 이용한 itunes


ps. 터널링은 firefly wiki에 보다 잘 나오는 듯 하다.

한글 문제를 다시 해결하기 위해서 구글링을 하니 ID3 tag의 버전을 올리고 인코딩을 바꾸면 된다는 말에 다시 인코딩 수정 삽질을 해 보았다.

사용한 프로그램은 mp3tag라는 프로그램이다. 이것 말고도 EasyTag나 대체품이 많은데 쓰기 편한게 mp3tag라서 이것을 선택했다.

실험을 해 본 결과 ID3v2.2이상이고 UTF-8 또는 UTF-16으로 인코딩 된 경우 한글이 잘 나옴을 확인했다.
그래서 mp3tag의 설정을 아래처럼 했다.

mp3tag option


설정을 하고 나서 mp3파일들을 프로그램에 떨어뜨리고 모두를 선택한 후 저장하기를 하면 인코딩을 바꾸어 준다.
그렇게 하면 다음과 같이 버전이 올라가 있는 것을 확인 할 수 있다.
mp3tag결과


하고 나서 다시 mt-daapd에 적용해 iTunes에서 연결해 보니 아래처럼 잘 나온다~~

아이튠즈한글인코딩해결

ps. ID3v2.4의 경우 프로그램이 태그를 읽지 못하는 경우가 발생할 수도 있다. 아직 2.4는 많은 프로그램들이 지원하지 못하고 있다. 대표적으로 윈도우의 탐색기는 ID3v2.3까지를 읽어서 표시할 수 있다. 단 ID3v1과 ID3v2.x를 동시에 하나의 mp3파일에 포함시키는게 가능하므로 ID3v1+ID3v2.4의 경우는 ID3v1이 표시된다.
위키를 가보면 버전별 차이가 나오는데 ID3v2.4의 경우 이전버전보다 음악 파일의 끝에 태깅을 할 수 있다는 장점이 있고 ID3v2.3은 '/'을 태그택스트에 넣지 못하는데 ID3v2.4는 null문자를 구분자로 하기 때문에 '/'도 태그택스트에 삽입 가능하다고 한다. 그리고 둘 간에 인코딩 방식이 차이가 있는데 v2.4는 UTF-8로 v2.3은 UTF-16 또는 ISO-8859-1을 사용하도록 되어 있다. 그리고 ID3v2.1~ID3v2.3는 파일의 앞부분에만 태깅 정보를 기록 할 수 있다.


윈도우와 맥을 번갈아가면서 사용할 때는 대중적으로 사용되는 ID3v2.3만을 mp3파일에 태깅하는게 편리할 듯 하다.
Posted by trip2me
,
맥에서는 이전부터 자신들의 화일 프린터 공유 프로토콜인 afp를 지원해왔다.

이걸 써 보면 조금 더 빠르게 외부 네트웍에서 접근이 가능할까 궁금해서 리눅스 서버에

netatalk를 설치해서 활용해 보았다.

일단 필요한 것은
1. netatalk 2.x
2. netatalk cjk patch (볼륨 한글문제 패치)
HAT님께서 이는 통합 패치이고 실제 한글볼륨패치는 non-ascii-volume.patch.gz 이라고 한다.
3. 버클리 DB ( netatalk 홈페이지에 버전별 유의사항을 참고 할 것)

정도이다.


AppltTalk을 이용한 연결을 위해서는 일단 리눅스 커널에서 appletalk 모듈이 설정되어 있어야 한다.
만약 설정이 되어 있지 않을 경우 애플토크 서비스 이름 등록시 에러가 나므로 커널 컴파일을 통해서 appletalk 지원을 모듈로 추가해 주어야 한다. ( 모듈이 없어도 직접 AFP over TCP/IP 연결에는 문제가 없다. )

그리고 DB를 설치하고 netatalk를 풀어서 일본의 HAT님이 만든 cjk 패치를 적용하고 나 빌드 후 설치하면 설치는 모두 끝이난다.

남은 것은 설정인데
크게 afpd.conf와 AppleVolumes.default, ~/AppleVolumes 들의 설정을 고치면 된다.
위 파일에서 드라이브 인코딩에 대한 설정도 하게 된다.

afpd.conf에서 Appletalk연결에 대한 인증설정 인코딩 설정을 한다.

- -transall -uamlist uams_clrtxt.so,uams_dhx.so -maccodepage MAC_KOREAN -unixcodepage UTF8


그리고 AppleVolumes.default 에서
~ "home" maccharset:MAC_KOREAN volcharset:UTF8

경우 사용자의 홈 폴더를 맥에서 'afp://서버/home' 으로 접근 할 수 있게 되고 인코딩은 맥쪽이 MAC_KOREANMAC_ROMAN, 리눅스쪽이 UTF-8(설정에는 - 가 없다!)이다.

~/AppleVolumes의 내용을 AppleVolumes.default처럼 응용하여 설정하면 각 사용자별 공유 매핑을 추가 할 수 있다.



서비스를 /etc/rc.d/init.d/atalk start하고 기동해서 대략 사용한 결과 SMB와는 다르게 Symbolic link가 afp에서는 지원되지 않아서 조금 불편했다. SMB over SSH 보다는 속도는 조금 더 나은듯 했다.

PS. 일본의 netatalk patch 개발자분께서 댓글을 달아주셨는데 반영하여 수정하였다. 그런데 MAC_ROMAN의 경우에도 나는 정상작동을 하였다. 이 이유는 나도 잘 모르겠으나 아마 내가 UTF-8을 사용하는 OS X사용자이여서 그런듯 하고 원 개발자 분의 지적이 맞는 듯 하다. 그분께 감사드린다.
Posted by trip2me
,
맥북에 사용되는 액정의 색표현이 깔끔하지 못하다는 말들이 많아서 내 노트북은 어떤 액정을 사용할까 궁금한 생각이 들었다.

난 타블렛 노트북을 사용해서 조금 별난 액정을 사용한다는 사실과 이녀석의 광시야각은 장난이 아니라는 것 정도는 잘 알고 있다.

조금더 구글링을 해 보니 제조사가 BOE hydis이고 액정의 모델명은 HV121P01이다.

이녀석이 AFFS란 액정 제조방식을 사용해서 제작되어 밝은 투과율과 액정 표면을 눌렀을때도 얼룩이 잘 지지않는 특성이 있다고 되어있다. 이유는 액정의 배열이 수직이 아니라 수평으로 되어 화면의 눌림이 있어도 영향을 덜 받기 때문이라고 한다.
(ripple free)

패널간비교

하지만 다른 액정들과 같이 이녀석도 RGB 6,6,6bit 색재생능력을 가져서 약 26만가지 색상을 나타낼수 있다.
그래서 트루컬러는 dithering이라는 색을 흩어뿌려서 표현 안되는 색을 비스무리하게 나타내는 기술을 쓴다고 한다.
이것이 현재 맥북에서 모니터가 불량이니 어쩌니 하는 말을 낳고있는듯 하다.
아쉽지만 나는 내 모니터에 만족한다.

현재 BOE hydis에서는 밖에서 주간에도 잘 보이는 AFFS+ 라는 액정을 개발했다고 한다. ㅠ_ㅠ;
혹시나 싶어서 구글링한 내 모니터 초기모델 스펙문서를 첨부한다.
Posted by trip2me
,
사용자 삽입 이미지
난 뉴스를 잘 보지 않아서 몰랐다.
여기에 삼성이 연관되어 있다는 사실을.
원문 링크 : 태안반도 살리기 네이버 카페
http://cafe.naver.com/greesea/11949
Posted by trip2me
,