이 블로그 검색

2014년 12월 24일 수요일

KDE ark로 한글이름 압축파일을 열 수 없는 것을 수정하자.



여러 정보들을 찾다보면 예전에는 그저 konqueror 의 인코딩정보수정으로

간단히 가능했던 것으로 보인다.

하지만 지금은 잘은 안된다.

KDE3~ 4로 넘어오면서 부터 여러 정책적인 부분에서의 변경에 의한 부분인가 보다.

여러가지 방법이 있다. 일단 인터넷에 돌아다니는 zlib에 대한 패치를 통해서도 할 수 있지만

나는 내가 직접 수정하ᅟ는 방식을 해보길 원해서 그건 갑자기 할 수 있는 수준이 아니라 접었다.

소스를 본적이 있는데 원래 코드가 더러워서 수정 코드도 읽기 편하지 않았다. 그리고 어려웠...


iconv로 인코딩 정보 바꾸는거 정도다 기본적으로는 알고리즘도 다 알겠지만...

zlib소스 읽어본 사람ᅟ만 알겠지만... 어디다 넣어야 할 지  감이 안 온다.


그래서 ark의 소스를 받아보았다. 그런데 말이지 ark라는 프로그램이

굉장히 cli수준에서의 linux의 철학을 잘 반영한다.

먼 말이냐면 만들어진거 있으면 그냥 그것을 쓰지 새로 만들지 않는다랄까...

그냥 zipinfo로 파일정보 얻고 unzip으로 푸는 것을 gui를 잘 씌어 놓았다는 것이다.

 먼말인지 모르겠으면 그냥 한번소스를 보라 나 같은 허접한 사람이 보면 감탄한다.

의외로 굉장히 간단해서..... 간단한 것이 막강할 줄이야...


일단 내가 수정한 부분은 요 파일이다
vim plugins/clizipplugin/cliplugin.cpp 로 열고.

80         p[ListArgs] = QStringList() << QLatin1String("-O")  << QLatin1String("euc-kr") << QLatin1Str    ing( "-l" ) << QLatin1String( "-T" ) << QLatin1String( "$Archive" );
 81         p[ExtractArgs] = QStringList() <<  QLatin1String("-O")  << QLatin1String("euc-kr")  << QLati    n1String( "$PreservePathSwitch" ) << QLatin1String( "$PasswordSwitch" ) << QLatin1String( "$Archive"     ) << QLatin1String( "$Files" );

빨간색 글씨로 되어있는 부분만 수정했다. 그리고 마지막으로 빌드를 했는데

까먹으면 안되는게  cmake ; make ; sudo make install 을 하면

/usr/local/ 에다가 설치를 하는데 ark상에 문제인지 kde상에 문제인지 저쪽으로 들어가면

인식을 못한다. 그리고 ark가 설치되어있으면 우선순위도 밀려서 적용이 안된다.

고로 cmake -DCMAKE_INSTALL_PREFIX=/usr/ ; make ; sudo make install 을 하시면

되겠다. 그러면 온 갖 압축파일로 부터 해방이된다.


일단 내가 우분투라 zip에 -O 옵션이 있는 것이다.이 옵션이 없는 리눅스 배포판의 zip이라면

그냥zlib을 패치해서 쓰던지 zip자체에 패치되어 있는 녀석을 쓰던지 하면된다...

결국 ark는 unzip으로 푸는거니까...

댓글 1개:

  1. 음 이거 그대로 사용 못한다. 물론 고칠 수는 있다. 근데, zip파일을 다루는 플러그인이 너무 많아서 설정에서 플러그인도 끄고 해야해서 그냥 터미널쓰는게 편하다. 그리고 zip을 쓰지 말자... 영어 안쓰는 나라끼리 소통할거라는 생각을 전혀 안하고 만든 물건이다.

    답글삭제

가장 많이 본 글