Category Archives: 유틸리티

Synergy로 여러컴퓨터 편하게 쓰기

Synergy는 하나의 마우스와 키보드로 여러 컴퓨터를 제어할수 있는 프로그램입니다. 원격데스크톱이나 VNC류의 프로그램들은 하나의 화면으로 여러 컴퓨터를 보도록 해주지만, Synergy는 화면은 따로따로 봐야합니다. 한 책상에 2개의 컴퓨터와 두개의 모니터가 있다면 아주 유용하게 쓸수 있습니다. 키보드와 마우스는 하나만으로 두컴퓨터를 자유롭게 사용할수 있죠. 프로그램도 가볍고 설정만 좀 하면 하나의 컴퓨터에 듀얼 모니터를 쓰는 것과 느낌이 비슷합니다. 그리고 간단한 텍스트는 클립보드로 복사가 되서 양쪽으로 쉽게 정보를 주고 받을수 있습니다.

얼마전에 친구 블로그를 통해 알게된 프로그램인데, 회사에 새 데스크탑이 들어와서 노트북은 귀찮아서 잘 사용안했었는데, 시너지로 연결하여 편하게 사용하고 있습니다.

단 사용하면서 한가지 문제가 있었습니다. 한영전환이 키보드로 안되는 치명적인 문제가 있는데, 이 문제를 해결한 패치버전을 찾았습니다 :)

http://www.magoja.com/tt/242

한글패치된 1.3.1 인스톨 버전입니다: SynergyInstaller_hangulkey.exe

제 서버에서도 받으실수 있습니다: 1020477966.xxx

출처: http://www.javaservice.net/~java/bbs/read.cgi?m=etc&b=etc&c=r_p&n=1151464351&p=1&s=t

Xming, putty 를 이용한 원격 X 프로그램 실행

꽤 오래전에 다니던 회사에서 eXceed를 이용했었는데 그 당시 회사에서 사용하던 피씨의 메모리는 64M였습니다. 로터스 노츠와 싱글(ㅎㅎ)을 띄우면 더이상 띄울수 있는 프로그램이 별로 없었습니다. (요즘은 싱글이 웹기반으로 바뀐거 같더군요..) 그 당시는 피씨용 오픈소스 엑스서버가 없었습니다. 메모리 사용량이 적은 Xmanager의 평가판을 사용하다가 사용기간이 지나서 프로그램을 번갈아가면서 어렵게 사용하던 기억이 납니다. Xmanager는 우리나라 회사에서 만든 좋은 프로그램이었는데 회사에서 eXceed 있다고 다시 구매를 못했었습니다.

지금 오픈소스 엑스서버를 찾아보니 cygwin기반으로 도는 Cygwin/X와 mingw(Minimalist GNU for Windows)로 별도 라이브러리 필요없는 Xming이 있더군요. 저는 Xming을 설치했습니다. 여기에서 Xming과 Xming-fonts를 받아서 설치했습니다. 설치는 간단하더군요. 설치후 엑스서버를 다시 시작해주고, ssh를 이용한 터널링으로 쉽고 안전한 방법으로 원격 서버해  연결하여 클라이언트 프로그램을 띄웠습니다.

putty 설정에서 “접속-SSH-터널링” 에서 “X11 포워딩 사용”을 선택하고 “X 디스플레이 위치”를 “localhost:0” 으로 설정하고 세션을 저장했습니다. 원격 서버에 연결하고, 로그인 후 xterm &을 실행하면 새 xterm이 윈도우즈 화면에 뜹니다. ^^. 단, 원격 서버의 sshd_config에서 X11Forwarding yes로 설정되어 있어야합니다.

원격 서버에서 DISPLAY 환경변수를 세팅하는 방법도 있지만, 안전하지도 않고 세팅하기도 힘듭니다. DISPLAY 환경변수를 이용한 방법은 모든 정보가 암호화 없이 그냥 갑니다. 또, 요즘 엑스서버는 디폴트로 localhost를 제외한 호스트에서는 연결을 받아들이지 않기 때문에 X0.hosts 등에 원격 서버를 등록해야합니다. 또한 PC가 방화벽 뒤나 공유기(NAT) 뒤에 있다면 더욱더 상황이 복잡해집니다.

엑스 서버를 얘기하면 서버와 클라이언트의 구분이 좀 애매해집니다. 원격 유닉스 서버가 엑스 클라이언트 역할을 하고, 로컬 윈도우즈 호스트가 엑스 서버 역할을 합니다. 윈도우즈에서 엑스 서버 프로그램이 뜨고, 원격 유닉스에서는 엑스 서버에 화면을 그려주도록 요청하는 클라이언트로 동작합니다.

엑스서버를 윈도우즈에 깔지 않고 서버의 그래픽하면 보는 방법으로 VNC를 이용한 방법도 있습니다. VNC가 나온지 꽤 되었는데, 예전에 비하면 많이 빨라졌더군요. vnc를 사용하면 세션이 관리가 되서 편해서텍스트의 screen과 비슷한 형태로 사용하고 있습니다. 그런데 제 컴퓨터에서만 문제가 되는지 모르겠지만, 키 입력을 빨리할때문자가 빠지거나 문자가 반복해서 찍힌다던지 하는 버그가 있는거 같습니다. 윈도우즈간 vnc에서는 못본 문제인거 같은데 문제가 왜발생하는지 좀더 연구해봐야겠습니다.

사실 저는 거의 텍스트 위주로 작업하기 때문에 꼭 필요할 경우만 X윈도우 프로그램을 띄웁니다. 엑스윈도우에서 직접 작업할때는 열심히 윈도우 메니저를 꾸면서 사용하지만, 윈도우즈에서 동시에 사용할때는 그냥 윈도우즈 화면과 동일하게 독립적으로 띄우는게 작업 효율면에서 더 효과적인거 같네요.

사용중인 Firefox Extension 소개

Firefox 2.0에서 사용중인 Extension을 소개합니다. Firefox에서 사용하는 용어가 좀 헷갈리네요. 부가기능(Add on) 밑에 확장기능(extension)과 테마가 있습니다.

All-in-One Gestures: 오페라에서 처음(?) 구현된 기능으로, 마우스 오른쪽 버튼을 누른채로 왼쪽으로 하면 뒤로, 오른쪽으로 하면 앞으로, 위로하면 새탭, L자를 쓰면 닫기. 마우스를 멀리 움직이지 않고 마우스만으로 여러 동작을 쉽게 할수 있습니다. 한번 사용하면 없으면 무지 불편해요. 오페라에서 많이 사용해서 마우스 동작을 약간 바꿔서 사용하고 있습니다.

Tab Catalog: 열려있는 탭을 빠르게 이동할수 있는 기능을 제공합니다. 특히 썸네일기능으로 작은 화면을 미리 보고 고를수 있는 기능을 제공합니다. 오른쪽 마우스를 누른 상태에서 마우스 중간버튼을 스크롤하면 탭을 고를수 있는 기능(이것도 역시 오페라에서 지원)을 제공합니다.

IE Tab: 우리 나라에서는 아직 Internet Explorer에서만 제대로 보이는 페이지들이 많기 때문에 이걸 설치한 상태에서 상태창의 오른쪽의 firefox아이콘을 클릭해주면 이게 ie 아이콘으로 바뀌면서 페이지도 IE로 랜더링 해줍니다. 단 IE로 랜더링된 화면에서는 firefox의 많은 기능들이 동작안합니다.

ScrapBook: 페이지를 내컴퓨터에 저장하고 밑줄 긋고, 형관펜으로 선택하고, 편집할수 있는 기능을 제공합니다. 책에 공부할때 표시하기 좋아하는 사람에게는 딱입니다. 저는 책을 깨끗하게 보는 편(!)이기 때문에 어디까지 공부했는지와 잘 모르는 부분만 대충 표시해둡니다. 페이지 상세 캡쳐 기능을 사용하면 전체 사이트를 긁어올수도 있습니다.

Internote: 임의의 페이지에 포스트잇 노트를 붙일수 있습니다. 크기와 색상 조정이 가능합니다.

NoScript: Javascript 실행을 사이트별로 제한할수 있습니다.

JSView: 현재 페이지에서 사용된 javascript, css 등을 파일별로 보여줍니다.

Web Developer: 웹개발자에게 유용합니다. 자잘한 여러가지 기능을 제공하며, 도구-Web Developer에 메뉴가 쫙! 생깁니다.

StumbleUpon: IE에서 사용하던 플러그인이라 설치했습니다. stumbleupon.com에 가입을 해야 동작하고, 개인별로 사이트를 추천해주는 서비스입니다. 처음에는 아무 사이트나 소개해주고 마음에 들면 “i like it”을 선택하면 그 후로는 비슷한 페이지를 소개해줍니다. 웹서핑하다 새로운걸 만나고 싶을때 가끔씩 눌러줍니다. 이걸 통해서 좋은 정보들을 꽤 건졌습니다.

Unison을 이용한 로컬 백업

Objective Caml에 평소에 관심이 많다보니, O’Caml로 짠 유명한(?) 프로그램도 관심있게 지켜보고 있습니다. mldonkeyunison이 그래도 많이 쓰이는 프로그램인 거 같은데, mldonkey는 아직 사용은 못해봤고, Unison은 전에 설치는 해봤는데 사용은 제대로 못했었습니다. mldonkey는 외국에서 많이 사용하는 P2P 프로토콜(edonkey, fasttrack, bittorrent, gnutella, dc…)을 모두 지원하는 텍스트 기반 P2P 프로그램입니다. Unison은 두 디렉토리들을 동기화시켜주는 유틸리티입니다. 버전 관리툴하고 유사하긴 하지만 버전을 관리해주지는 않고 양쪽 디렉토리에서 변경되는 부분을 양방향으로 동기화 해줍니다. 주로 원격 컴퓨터간 동기화하기 위해 만들어진것 같지만 한 컴퓨터 내에서도 아주 잘 동작합니다. 원격 컴퓨터간 동기화 할때는 ssh, rsh와 unison 자체 프로토콜 등을 지원합니다.

회사의 모든 소스는 버전관리툴로 관리합니다. 하지만, 집에서 사용중인 많은 개인 파일들을 따로 등록해서 관리하기는 용량도 좀 크고, CD나 DVD로 백업하기도 귀찮더군요. 백업 하드디스크 따로 사서 가끔씩 중요한 폴더들을 그대로 복사하다가 시간도 오래 걸리고, 까먹고 해서 백업 툴들을 찾아봤었는데, 괜찮은것들은 대부분 쉐어웨어더군요. 음악을 취미로 하다보니 녹음한번 하면 꽤 용량이 됩니다. 그리고 새로 업데이트된 폴더들을 찾아서 복사해주는것도 일이더군요. 전체 다 복사하면 너무 오래걸리고요…

Unison은 알고있었는데 원격 동기화 프로그램으로만 생각해서 로컬 백업에 적합하다고 생각을 못했었습니다. 사용해보니, 사용방법도 간단하고 한번 세팅해두니 매일 새벽 자동으로 백업이 됩니다. ^^

unison win32 바이너리unison-2.13.16-win-text.exe를 받았습니다. 유닉스하고 버전을 맞추기 위해서 stable 버전을 받았습니다. 그래픽 버전은 GTK도 설치해야하고 백업은 사용자 인터액션 없이 자동으로 실행되는게 편하다고 생각하여 텍스트 버전으로 받았습니다. 적당한 디렉토리에 복사하고 커맨드창에서 다음을 실행하면 됩니다. 실행 파일명은 간단하게 바꿨습니다. 백업 디렉토리 f:\backup\music은 미리 만들었습니다.

unison.exe -batch -fastcheck true c:\music f:\backup\music

-batch 옵션은 실행도중에 디폴트로 자동응답하도록 하며, -fastcheck true는 양쪽 파일들을 비교할때 전체 파일에 대한 해시(핑거프린트)를 바로 하지 않고, 변경날짜 등으로 비교한후 틀린 파일들에 대해서 해시비교한다고 합니다. -fastcheck true 옵션을 주지 않고 대용량 디렉토리를 하면 무지 느립니다! 그리고, 처음 실행할때는 원래 느립니다. (모든 파일에 대해서 해시하는거 같네요.)

하지만 위에 처럼 실행하면 양쪽 디렉토리를 동기화해주기 때문에 backup 디렉토리에서 파일을 삭제하면 원본에서도 지워집니다. 그래서 한방향으로만 씽크해주는 옵션이 있습니다.
-force ROOTDIR로 어느쪽이 원본인지를 알려주면 됩니다.

unison.exe -batch -fastcheck true -force c:\music c:\music f:\backup\music

백업을 원하는 디렉토리 백업하는 batch 파일을 위에처럼 만들어주고, “시작-프로그램-보조프로그램-시스템도구-예약된작업” 에 등록시켜서 매일 새벽에 실행시켜주면 백업 걱정 끝입니다. 물론 가끔씩 DVD나 네트워크 백업을 해주는게 더 안전하겠죠.

백업을 열심히 하는 편인데… CD도 믿을만한 매체는 못되는거 같더군요. 전에 백업해 둔 CD를 못읽어서 6개월 정도의 데이타를 날린적이 있습니다. TT

날개셋 한글 입력기(IME)와 세벌식

저는 세벌식 사용자입니다. 두벌식은 독수리 타법으로만 잠깐 치다가 처음 배울때부터 세벌식을 배워서 두벌식에 비해서 어떤점들이 좋은지 직접 체험하지는 못했습니다. 92년도에 대학교에 처음들어가서 선배들중에 한글문화원에서 준 세벌식 스티커를 나눠주시며 세벌식에 대해 알려주신 분들이 있었습니다. 그래서 전 아예 세벌식부터 배웠고, 형컴퓨터에 스티커를 붙일수도 없어서 그냥 타자 프로그램을 통해서 배우면서 외우게 됐죠. 그때 배웠던게 세벌식390 자판이였습니다. 세벌식 관련한 링크를 발견하고 인터넷 서핑하다가 윈도우즈의 기본 IME를 바꿀수 있는 날개셋이라는 한글 입력기를 발견하고 현재 설치해서 사용중입니다.

나라셋 한글 입력기 프로그램은 여기에서 받을수 있으며, 더불어 입력기와는 별도로 즐길수(?) 있는 타자연습 프로그램인 날개셋 타자연습도 있습니다. 개발자가 한글과 오토마타에 관심이 많아서 여러가지 자판과 입력 방법을 제공하고 있습니다. 다른건 잘 모르겠지만 세벌식 모아치기는 정말 유용한거 같습니다. 세벌식은 초성,중성,종성이 따로 있어서 하나의 글자를 세개의 키를 눌러 동시에 입력가능하고, 순서가 약간 틀리더라도 제대로 조합이 되니 빨리치는데 도움이 될것 갈네요.

이번 기회에 세벌식 390에서 세벌식 최종으로 바꾸는것을 고려해봐야겠습니다. 390에 비해서 어떤점이 좋은지는 모르겠지만 자판이 꽤 차이가 나네요. ()의 위치는 좀 깨네요. 주로 프로그램을 짜다보니 영어만 많이 치지만 QWERTY 자판은 사용한지 너무 오래되서 DVORAK 자판으로의 전환은 쉽지않을듯하네요.

날개셋 한글 입력기… 한가지 아쉬운 점은 소스 공개가 안된거 같네요…

FreeMind라는 오픈소스 Mind Mapping 프로그램

Mind Mapping이라는 종류의 프로그램에 항상 관심을 가져왔었는데… 얼마전부터 FreeMind라는 오픈소스 프로그램을 활용하기 시작했습니다.

해야할일은 많아지고 기억력은 안좋아져서, 관리가 안되서 원래는 바탕화면에 TODO.txt 파일을 하나 만들고 관리를 했었는데, 텍스트 문서의 특성상 뭔가 좀 정리가 안된 느낌이었습니다. 마인드매핑 프로그램을 처음에는 어렵게 생각하고, 어떻게 활용해야하나? 뭐라도 배워야 사용할수 있을거라 느꼈었는데 막상 사용을 시작하니 몇가지 단축키 정도만 익히고 나니 너무 빨리 익숙해졌습니다.

그냥 생각나는걸 연습장에 끄적인다고 생각하고, 생각나는데로 할일이나 어떤 주제에 대해 적기만 하면됩니다. 좀 정리가 안되면 트리구조를 좀 변경해서 정리하고, 참조하는 부분이 있으면 화살표를 만들어주고… 그리고 좀 주의할것들은 잘보이게 앞에 아이콘도 붙이고…

FreeMind라는 프로그램이 자바로 짜여져있어서 여러 OS에 잘 돌아가고, 생각보다 그렇게 느리지도 않습니다.

현재 제가 그냥 생각나는 걸 적는 파일 하나, 회사의 내 스케줄 관리, 프로젝트 관리등 몇개 파일을 CVS에 등록하여 관리하고 있습니다. 저장을 XML로 하기 때문에 CVS에서도 별 문제 없이 처리하는 듯하네요. (아직은 혼자 사용해서 여러명이 사용할때 conflict가 자주 날지는 모르겠네요.) 다만, 암호화한 파일은 조금만 바꿔도 파일 전체가 바뀌기 때문에 CVS에 등록하여 사용하기는 적당하지 않습니다. CVS에 등록해서 사용하는건 회사와 집에서 모두 쉽게 접근해서 파일을 편집하기 위한 용도입니다.