Keep up with our latest news and site updates

Subscribe Via RSS Reader

Powered by

SIMBL for Snow Leopard

SIMBL-0.9.6c works for both 32-bit and 64-bit applications running on Snow Leopard (Mac OS X 10.6).

Existing plugins that are 32-bit and run in 32-bit applications will work fine, but 64-bit applications will require a new 64-bit versions of the plugins. Please direct your 64-bit questions to the plugin developers themselves not to me!

This should be considered beta quality and there will likely be updates in the near future. If you are having a problem, you can check the list of current bugs.

If you are interested in a more in-depth technical explanation, you can can read the SIMBL developement notes.

SIMBL-0.9.6c.zip

이 문서의 내용은 자유로이 가져다 쓸 수 있습니다.
그러나 반드시 다음의 저자에 대한 정보를 문서 내용과 함께 제공해야 합니다.

maidaro@gmail.com
http://maidaro.ffhosting.net

  • WinNT 부트 섹터 생성
  • P1610의 복원 DVD는 Windows PE라는 경량형 Windows를 이용하여 시스템 복원 작업을 처리합니다. 따라서, 이 작업을 USB로 하기 위해서는 USB에서 Windows PE로 부팅할 수 있어야 합니다. 하지만, Windows PE는 Windows NT의 일종으로 NT 부트 섹터를 필요로 하기 때문에 USB 메모리에는 NT 부트 섹터를 바로 생성할 수 없습니다.

    대신, [bootpart]라는 유틸리티를 사용하여 USB 메모리에도 NT 부트 섹터를 생성할 수 있습니다. [bootpart]는 DOS용 유틸리티이므로 우선 USB에 DOS 부트 섹터를 생성하고 DOS 시스템을 추가합니다.

    [HP USB Disk Storage Format Tool - v2.1.8]을 사용해서 USB 메모리를 DOS 부팅 디스크로 만듭니다. ❶ 복원에 사용할 USB 메모리의 드라이브 명을 선택하고, ❷ 체크 박스를 선택한 뒤, ❸ DOS 부팅에 사용할 [DOS의 시스템 파일]을 저장해 둔 위치를 입력합니다. 마지막으로 bootpart.exe를 USB 메모리에 복사합니다.

    Making Bootable USB

  • Windows PE 부트 파일 준비
  • ❶ 압축 프로그램이나 CD/DVD 이미지 프로그램 등을 이용하여 복원 DVD에서 WINPEX86.ISO 이미지의 파일들을 폴더를 하나 만들어 하드 디스크에 추출합니다. 참고로 WINPEX86.ISO에는 아래 그림과 같은 파일들이 있습니다.

    WINPEX86.ISO

    ❷이 파일들을 USB 메모리의 루트에 복사합니다. bootpart.exe를 포함해서 USB 메모리에는 다음과 같은 파일들이 복사되어있어야 합니다.

    USB Contents 2

    ❸ i386 폴더의 이름은 minint로 변경한 뒤, minint 폴더의 NTDETECT.EXE 파일과 SETUPLDR.BIN 파일을 USB 메모리의 루트에 복사한 뒤 SETUPLDR.BIN은 NTLDR으로 파일 이름을 변경합니다. NTLDR에는 확장자가 없어야 하므로 파일 이름을 변경할 때 주의하십시오.

    Recovery 디렉토리 역시 USB 메모리에 복사를 해야하는데, Recovery 디렉토리에는 복원에 필요한 약 2G 가량의 이미지 파일이 포함되어 있습니다. 2G 이상의 메모리 스틱을 보유하신 분은 Recovery 디렉토리의 내용을 모두 복사하시면 되고, 그렇지 않거나, 남은 공간이 부족하신 분들은 뒤에 다시 설명하겠지만, 일단 Recovery 디렉토리에서 Image 디렉토리의 내용만 제외하고 복사하시면 됩니다.

  • WinNT 부트 섹터 생성
  • P1610의 BIOS 설정을 확인하여 USB 장치가 부팅 가능하도록 되어 있지 않다면 USB 장치를 부팅 가능 장비에 추가합니다. 부팅 화면에서 ENTER 키를 눌러 부트 메뉴를 부른 뒤 USB 장치를 선택하여 부팅합니다. USB 메모리에서 DOS로 부팅하였다면, 다음을 입력하여 NT 부트 섹터를 생성하면 됩니다.

    bootpart WINNT BOOT: C:

    부트 섹터를 변경한다는 영어 메시지가 출력되므로 Y를 눌러 계속 진행합니다. 이제 Windows PE로 부팅 가능한 USB 메모리가 생성되었습니다.

    P1610을 다시 부팅하여 Windows PE가 정상적으로 설치되었는지 확인합니다. 하지만, 우리는 P1610 복원을 위한 Windows PE을 USB 메모리에 이식했을 뿐 아직 복원 프로그램을 위한 아무 작업도 하지 않았기 때문에 USB로 부팅을 해도 아래 그림과 같이 하드 디스크 구성에 문제가 있다는 에러 메시지를 출력할 뿐 복원 프로그램은 실행되지 않습니다.

    Recovery Error

    아무 키나 눌러서 Windows PE를 종료합니다. P1610가 재부팅되므로 USB 메모리를 슬롯에서 제거합니다.

  • 실행 환경 수정
  • P1610의 복원 프로그램은 프로그램이 실행되고 있는 위치가 DVD라고 가정합니다. 따라서 복원 프로그램 및 데이터의 위치를 DVD-ROM 드라이브의 드라이브 명을 이용하여 결정합니다. 그런데, USB 장치로 부팅한 경우 DVD-ROM 드라이브의 위치를 알 수 없기 때문에 복원 프로그램 및 데이터의 위치를 알 수 없어서 복원 프로그램을 실행할 수 없게 되고 하드 디스크 구성에 문제가 있다는 에러 메시지를 대신 출력하는 것입니다.

    TOOLS 디렉토리에 GEXEC.INI라는 파일이 있습니다.

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    
    [EXEAPLI_1]
    Check=CkFile.exe x:\tools\detecthd.cmd
    Program=x:\tools\detecthd.cmd
    Parameter=
    Path=x:\tools
    Wait=true
    Window=false
    Time=0
     
    [EXEAPLI_2]
    CheckIsReversed=true
    Check=CkFile.exe z:\DISK0.txt
    Program=x:\tools\nohdmes.cmd
    Parameter=
    Path=x:\tools
    Wait=true
    Window=true
    Time=0
     
    [EXEAPLI_3]
    Check=CkFile.exe x:\tools\start.cmd
    Program=x:\tools\start.cmd
    Parameter=
    Path=x:\tools
    Wait=true
    Window=false
    Time=0
     
    [EXEAPLI_4]
    CheckIsReversed=true
    Check=CkFile.exe z:\ezmaint.exe
    Program=x:\tools\HDERR.cmd
    Parameter=
    Path=x:\tools
    Wait=true
    Window=true
    Time=0

    이 파일의 26번째 줄의 Window=false를 Window=true로 바꾸어 주고 저장합니다.

    다음은 START.CMD 파일을 수정합니다. 아래는 START.CMD의 원본입니다.

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    
    @echo off
     
    for /f %%A in (‘x:\tools\MediaChk.exe’) do if exist %%ARecovery set CDDRV=%%A
     
    %CDDRV%Recovery\ChgRes.exe /f 1024 768 32
    cd /d %CDDRV%Recovery\fjdrv >NUL
    SetupDrv /install >NUL
     
    copy /v /y %CDDRV%Recovery\* z:\ 1>nul 2>nul
    copy %SystemDrive%\I386\system32\diskpart.exe z: /y >NUL

    이 파일의 4번째 줄에 set CDDRV=x:\를 추가합니다.
    그리고, 파일의 마지막에 다음의 두 줄을 추가합니다.

    cmd
    pause > Nul

    START.CMD의 최종 모습은 아래와 같아야 합니다.

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    
    @echo off
     
    for /f %%A in (‘x:\tools\MediaChk.exe’) do if exist %%ARecovery set CDDRV=%%A
    set CDDRV=x:\
     
    %CDDRV%Recovery\ChgRes.exe /f 1024 768 32
    cd /d %CDDRV%Recovery\fjdrv >NUL
    SetupDrv /install >NUL
     
    copy /v /y %CDDRV%Recovery\* z:\ 1>nul 2>nul
    copy %SystemDrive%\minint\system32\diskpart.exe z: /y >NUL
     
    cmd
    pause >Nul

    마지막으로, GEXC.INI의 [EXEAPLI_3]에서 Window=false를 Window=true로 수정했는지 반드시 확인하십시오.

  • P1610 복원 프로그램의 구성
  • P1610 복원 프로그램은 크게 3가지 단계로 나뉩니다. 첫번째 파티션 포맷, 두번째 하드 디스크에 복원 이미지 덮어쓰기, 마지막으로 하드 디스크를 부팅가능한 상태로 수정 등입니다. 이 단계들은 복원 프로그램에서 직접 처리하는 것이 아니라 각 단계를 실행하기 위한 프로그램을 실행하여 처리합니다. 아쉽게도 P1610에 동봉된 복원 DVD의 복원 프로그램은 반드시 DVD에서 부팅한 경우에서만 정상적으로 실행되도록 되어 있기 때문에 복원 프로그램의 기능을 직접 사용할 수 없고 각 단계를 처리할 수 있는 프로그램을 복원 작업을 할 것입니다.

    이후에 작업할 파일은 모두 RECOVERY 폴더에 있습니다. 따로 경로명을 말씀드리지 않았다면 RECOVERY 폴더에서 파일을 찾아 수정하시면 됩니다.

  • 포맷
  • 복원을 하면 공장 출하시 설치된 Windows의 디스크 내용을 그대로 덮어쓰는 것이기 때문에 사실 포맷의 과정이 필요없습니다. 또한, 디스크를 포맷만 하고 복원 대신에 다른 OS를 설치하는 경우 역시 해당 OS의 설치 프로그램에서 포맷 기능을 제공합니다. 따라서, 복원이 목적인 경우 이 단계는 건너뛰고 바로 다음의 복원 프로그램 수정하기로 넘어가시면 됩니다.

    복원 프로그램의 포맷을 사용하기 위해서는 하드 디스크와 파티션의 구성에 대해 정확히 이해를 하고 그에 맞도록 파일을 수정한 뒤 실행해야하므로 주의가 필요합니다.

    포맷은 Fmt_c.cmd와 Fmt_d.cmd 프로그램을 실행합니다. Fmt_d.cmd는 대상 드라이브가 하드 디스크인지 구분하지 않고, 두번째 파티션을 포맷해버립니다. 다시 말씀드리지만, USB 메모리 스틱이 아닌 메모리 카드 리더를 이용하는 경우 하드 디스크 파티션 구성이 바뀌어 버릴 수 있으므로 주의해야 합니다. Fmt_d.cmd는 Fmt_d.txt의 내용을 기반으로 포맷을 실행합니다. 다음은 Fmt_d.txt 파일의 내용입니다.

    1
    2
    3
    4
    
    select disk 1
    select part 1
    assign letter=d noerr
    exit

    Fmt_d.txt는 diskpart라는 프로그램의 명령어로 구성된 일종의 스크립트 파일입니다. 1번째 줄의 select disk 1은 두번째 디스크를 선택하라는 의미입니다. 2번째 줄의 select part 1은 현재 선택된 디스크의 첫번째 파티션을 선택하라는 의미입니다. 첫번째 디스크는 0 부터 시작하지만, 파티션을 1 부터 시작합니다. 혼동하지 않도록 주의하세요.
    diskpart.exe를 실행한 뒤 list disk 명령을 내리면 현재 시스템에 연결되어 있는 하드 디스크의 목록이 출력되므로, 이로부터 디스크와 파티션의 구성을 알 수 있습니다.
    Fmd_d.txt를 적당히 수정한 뒤, 다음과 같은 명령을 실행하면 포맷이 실행됩니다.

    diskpart.exe /s z:\fmt_d.txt

    혹은 fmd_d.txt와 같은 파일을 수정하거나 생성하지 않고, diskpart.exe를 실행한 뒤 Fmd_d.txt의 내용과 같이 직접 입력해도 됩니다.

  • 복원 프로그램 수정하기
  • Recovery 디렉토리에 wrrecv_1drive.ini라는 파일이 있습니다. 이 파일을 메모장 등을 이용해서 열어보면 15번째 줄에 다음과 같이 [Recovery#1] 이라는 내용을 찾을 수 있습니다.

    [Recovery#1]
    ImageFileName=?:\RECOVERY\IMAGE\IMAGE.FC2
    Param=/mbr /p:%s
    DisplayString=C드라이브
    Disk=0
    Part=1

    이미 짐작하신 분들도 있겠지만, 여기서 ImageFileName=은 복원 이미지의 경로를 의미합니다. 이 파일에는 현재 ?:\라는 형태로 드라이브가 지정되어 있는데, 이를 x:\로 변경합니다.

    [Recovery#1]
    ImageFileName=x:\RECOVERY\IMAGE\IMAGE.FC2

    만일, USB 메모리의 용량이 Recovery 디렉토리의 모든 파일을 복사할 공간이 부족한 경우는 Recovery 디렉토리에서 IMAGE 디렉토리의 내용는 P1610의 D: 드라이브에 Recovery 디렉토리를 만들어 그 안에 복사한 뒤, IMAGE 디렉토리를 제외한 나머지 파일들만 USB 메모리 스틱에 복사합니다. 그리고, 위의 ?:\를 x:\로 변경하는 대신에 다음과 같이 변경합니다.

    [Recovery#1]
    ImageFileName=D:\RECOVERY\IMAGE\IMAGE.FC2
  • 복원 작업 명령 내리기
  • 지금까지의 절차대로 작업했다면, 복구 프로그램 대신 아래와 같은 DOS 창 같은 윈도우가 표시됩니다.
    START.CMD
    이제 다음과 같은 명령을 차례대로 입력하면 됩니다.

    wrrecv /f:wrrecv_1drive.ini
    wrap /f:wrap.ini
    wrep

    첫번째의 명령을 입력하면 복원 이미지를 하드 디스크에 쓰기 시작합니다.
    Recovery Progress
    완료되면 나머지 두 명령을 마저 입력합니다. 이 명령은 부트 파티션을 활성화하고 bios를 초기 설정으로 되돌립니다. 필요한 경우 재 부팅 후에 bios 설정 메뉴로 들어가서 필요한 설정을 변경하시기 바랍니다.

    이제 마지막으로 복원된 시스템으로 부팅하면 됩니다.

    poff32p REBOOT

    아이디어를 정리하거나 간단한 글을 쓰기 위해서 어떤 도구를 사용해야 좋을 지는 항상 고민만 되고 명쾌한 해결 책이 없습니다.
    PC에 비해서 맥은 저렴하면서도 유용한 도구가 많은 편인데, outline 을 정리할 경우 대표적인 도구인 Omni Outliner. 간단한 글을 쓰고 정리하기 위한 도구로는 journler 같은 도구들이 있습니다.
    이렇게 정리된 글 중 너무 개인적인 글을 제외하고 blog 를 통해 공개하게 되면서, blog 의 데이터를 관리하고 백업하는 방법에 대한 고민이 시작되었습니다. 설치형 blog 를 비록하여 몇 가지 방법을 고려해봤지만 결국은 가입형 blog 를 유지하기로 결정했습니다.
    데스크 탑과 노트 북을 사용하면서 journler 등으로 관리하던 글을 동기화하기 위한 방법이 문제가 되었는데, 이를 MacJournal 을 구입하여 해결했습니다.
    MacJournal 을 사용하면 가입형 blog 의 내용을 이미지 같은 리소스를 제외하고 동기를 맞출 수 있다는 장점이 있는데, 한 가지 문제가 있습니다. MacJournal 에서 작성한 글을 게시할 때는 발생하지 않는 문제인데, wordpress.com 의 문제인지 wordpress.com 에 게시된 글을 MacJournal 에서 다운로드 받을 때 시간이 잘못 기록되는 문제가 발생합니다.
    MacJournal Development Blog 에 의하면 이 문제를 어느 정도 해결한 버전이 이번 달 말에 릴리즈 될 예정입니다. 그에 앞서 MacJournal 의 숨겨진 preference 를 사용하여 일시적으로 문제를 해결할 수 있습니다.

    defaults write com.DanSchimpf.MacJournal IncludeHiddenPreferences -bool YES

    위의 명령을 터미널에서 입력한 뒤 MacJournal 을 다시 시작하면 preference 에 몇 가지 설정이 추가됩니다.
    그리고 “Adjust blog post dates by local time zone” 를 찾아 체크해 주면 wordpress.com 에 게시된 글을 다운로드 할 때 time zone 에 의한 문제가 발생하지 않습니다.

    picture12.png
    그러나, MacJournal 에서 작성한 글을 wordpress.com 에 게시할 때는 “Adjust blog post dates by local time zone” 옵션을 다시 해제해 주어야 wordpress.com 에서 정상적인 시간으로 받아들입니다.

    Macjournal 의 hidden preference 에 대한 자세한 내용은 다음에서 찾아볼 수 있습니다.
    MacJournal Development Blog
    Hidden Preferences in MacJournal

    메일을 사용하면서 항상 신경 쓰이는 점 중 하나는 스팸 메일 필터링 입니다.

    저는 me.com 메일이 스팸 메일 필터링 능력에 대해서는 별로 믿지 않는 관계로 가급적 me.com 메일은 공개하지 않으며 여러 개의 e-mail 계정이 필요한 경우에 alias를 생성해서 사용합니다.

    결국 주로 gmail 을 사용하게 되는데, 가끔 받는 메일을 확인 하기 위해 me.com 메일을 확인해야 한다는 점이 귀찮더군요. mail.app 같은 클라이언트는 여러 메일 계정을 하나의 메일 상자에서 보여주기에 별로 불편함이 없지만, 다른 메일 클라이언트는 각 메일 계정마다 따로 따로 관리를 하는데다가 브라우저 만으로 메일을 확인해야 하는 경우는 gmail 과  me.com 을 모두 확인해야 합니다.

    그래서 고민 끝에 me.com 메일과 gmail 을 통합하기로 했습니다. 두 메일 계정을 하나의 메일 계정으로 확인할 수 있고 me.com 으로 받은 스팸 메일을 gmail을 이용하여 걸러 내는 효과를 노린 것입니다.

    설정은 mail preference에서 Other 탭을 선택한 뒤 Forwarding 옵션을 활성화하고 gmail 계정을 등록하면 됩니다.

    me.com 메일 포워딩(mail forwading)

    일정 확인을 위해서 간만에 me.com에 로그-인을 했더니 스팸 메일이 있더군요. 그 동안 me.com 메일로는 스팸 메일이 온 적이 없었는데, 외부로 공개하지도 않은 alias 메일 계정으로 스팸 메일이 하나 날아들어왔더군요.

    me.com 메일

    그래서, gmail 의 스팸 메일 함을 열어봤습니다. gmail 이 me.com 로부터 전달 받은 메일을 스팸 메일 처리 해놨습니다.

    gmail 스팸 메일 함

    메일 계정에서 다른 메일 계정으로 Forwading 해주는 것은 메일의 일반적인 기능입니다. 따라서, me.com 메일과 gmail 메일의 조합이 아닌 경우에도 가능하며 이 글에서 사용한 방법과는 달리 gmail 대신 me.com 메일로 통합할 수도 있습니다.

    gmail 의 메일 포워딩(mail forwading) 설정

    iWeb을 이용하면 간단한 작업만으로도 웬만한 아마추어가 작성한 것보다 훨씬 멋진 홈 페이지를 작성할 수 있습니다.

    iWeb의 단점은 블로그의 커멘트(comment) 같은 기능 등은 mobileMe(.mac)의 도움을 받기 때문에 mobileMe에 게시하는 경우에만 사용할 수 있지요. iWeb과 직접적인 연관은 없지만, mobileMe에서 제공하는 갤러리 기능은 사진 게시에 관해서는 타의 추종을 불허할 정도로 멋진 화면을 보여줍니다.

    그러나, iWeb은 전문적인 홈 페이지보다는 캐쥬얼 홈 페이지를 지향하고 있기 때문에 블로그 기능만 놓고 봐도 웬만한 블로거들의 욕구를 충족시키기에는 사실 많이 부족하며, 유저에 따라서는 mobileMe의 가입 비용(한화로 년간 약 12만원/2009년 기준)이 부담이 되기 때문에 mobileMe보다는 웹 호스팅과 같은 별도의 서비스을 통해서 페이지를 게시하고자 하는 유저들도 있습니다.

    iWeb은 이런 유저들을 위해서 mobileMe가 아니더라도 홈 페이지를 게시할 수 있는 기능을 제공하고 있는데, iWeb의 페이지가 정상적으로 표시되지 않고 빈 화면만 출력되는 경우가 있습니다.

    iWeb이 게시하는 페이지들은 모두 첫 줄에서 다음과 내용을 확인할 수 있습니다.

    <?xml version="1.0" encoding="UTF-8"?>

    사실 <?는 서버 사이드 스크립트에서 사용하는 표현 중 하나입니다. 특히, PHP가 활성화되어 있는 경우 <?를 PHP의 지시어로 인식하기 때문에 iWeb의 홈 페이지들이 정상적으로 표시되지 않고 빈 화면만 표시됩니다.

    물론 .html 파일은 PHP 스크립트 파일이 아니기 때문에 PHP는 이를 무시하는 것이 맞지만, 개발 상의 편의를 위해서 .html 파일 역시 PHP나 ASP.NET의 스크립트 파일로 처리하도록 하는 경우가 종종 있는데 이 때문에 iWeb의 결과가 제대로 표시되지 않는 것입니다.

    따라서, iWeb의 페이지가 문제를 일으킨다면 우선 PHP와 같은 서버 사이드 스크립트로 인한 문제는 아닌지 확인하면 됩니다. 우선 iWeb으로 게시한 페이지 중 하나를 골라 페이지 첫 부분의 <?xml version=”1.0″ encoding=”UTF-8″?>를 제거한 뒤 다시 확인해 보면 됩니다.

    페이지가 정상적으로 출력된다면 iWeb의 모든 페이지에 대해서 <?xml version=”1.0″ encoding=”UTF-8″?>를 제거하면 되겠지만 이는 너무 불편한 방법입니다. 대신, 웹 서버로 하여금 .html 페이지에 대해서 서버 사이드 스크립트를 적용하지 않도록 하면 됩니다.

    apache 서버의 경우 웹 서버 전체의 설정을 변경하지 않고 각 디렉토리 별로 설정을 바꾸어 줄 수 있는데 .htaccess라는 파일을 이용하면 됩니다. htaccess 파일의 이름 앞에 .(dot)을 빼먹지 않도록 주의하세요.

    iWeb을 게시하는 루트 폴더에 .htaccess 라는 파일을 생성하고, 다음과 같은 내용을 적어둡니다.

    RemoveHandler .html

    이는 html 파일에 대해서 적용되어 있던 서버 사이드 스크립트의 처리를 취소한다는 의미입니다. .htaccess 파일의 설정은 현재 디렉토리를 기준으로 모든 하위 디렉토리에 적용되기 때문에 iWeb 홈 페이지를 게시하는 루트 폴더에만 .htaccess 파일을 생성하면 됩니다

    이제 다시 확인하여 iWeb의 페이지도 정상적으로 표시되는지 확인하면 됩니다.

    혹은 이런 방법도 있습니다. 마찬가지로 .htaccess 파일을 다음의 내용으로 작성합니다.

    AddType application/xml .html
    php_value short_open_tag 0
     Page 1 of 4  1  2  3  4 »

    Information

    Encore Subtitle, Tokyo, Osaka, Kyoto, Mac, iPhone, .NET, Microsoft Windows, Programming, Journey, Tips, Useful Information, TextEdit Plugin, Detective, Universal Reader, Universal Detector, Movist, SIMBL, Delphi
    © 2009 Mac and PC life stories by maidaro All Rights Reserved.
    An antisocialmediallc.com variation of Projection Template from Template World