여러가지 문서를 만들고 난 뒤에 전달용으로 PDF로 만드는 것이 당연한 문서 전달 방법입니다. 물론 이거 안 자키는 사람들도 상당히 많기는 하지만 대부분 최종적인 문서는 PDF로 만들어서 보관하는 것이 관례입니다.


PDF는 글자체도 내장하고 그림도 내장해서 더욱 편리하지요. 그래서 PDF파일만 있으면 레이아웃이 깨질 염려도 없고, 폰트가 안 맞아서 어색한 문서가 되는 것을 방지 할 수 있습니다. 이러한 장점들 덕에 전달용 문서규격으로 PDF가 현재 ISO 표준으로 되어 있습니다. 심지어 PDF는 인쇄물을 그대로 파일화를 하기 때문에 PDF로 만들어진 문서들은 해당 PDF를 수정이라도 하려고 하지 않는 한 해당 문서를 별 문제 없이 다시 쓸 수 있습니다.

아직도 몇몇 단체에서는 문서를 hwp로 넘기는 만행을 저지르고 있는데 제발 표준인 PDF를 이용했으면 합니다. Adobe Reader 깔기 귀찮아서 PDF는 별로라고 한 사람도 있었던 것 같은데, Windows8에서는 PDF리더가 내장되어졌습니다. 이제 Adobe Reader 깔기 귀찮다고 투덜거릴 사람은 사라질 운명입니다.


아무튼 PDF는 정말 문서계의 최종 규격이라 그런 것인지 리눅스에서도 PDF 만드는 것은 그리 어렵지 않습니다.보통 사용하는 프로그램에 PDF기능이 있다면 그냥 이것을 쓰면 되고 없으면 가상프린터를 이용해서 PDF를 뽑아내는 것으로 PDF를 만듭니다.


리눅스에서 제일 많이 쓰이는 LibreOffice는 자체적인 PDF 기능을 내장하고 있지만 이외의 다른 문서 도구는 따로 PDF 도구가 없습니다. 하지만 윈도에서도 PDF만드는 기능이 없을 경우를 위해 가상 프린터를 만들어서 PDF화를 도와줄 수 있습니다. 특히 한컴PDF가 이런 방향으로 많이 쓰이곤 합니다.


자 그럼 리눅스에서 PDF만들려면 어떻게 해야 할까요? 간단하게 cups-pdf 패키지를 설치하면 PDF전용 프린터가 설치됩니다. 다만 특이하게도 ~/PDF라는 폴더가 만들어져 있지 않으면 PDF파일이 생성이 안 됩니다. 꼭 내 홈폴더에 PDF란 폴더를 만들어 둡시다.





cups-pdf 설치후에 프린터란을 보면 없던 프린터가 생성된다. 이게 가상 프린터이다.

그럼 누군가가 말하기를 cups-pdf는 어떻게 설치하냐고 물으시는 분도 계셨는데 간단하게 우분투소프트웨어에서 cups-pdf라 검색하면 뜹니다. 이걸 설치하면  리눅스에서 PDF화하는 방법이 완성이 됩니다. 


지금까지 확인해본결과 Libre-Office를 제외하고 자체 PDF생성기능이 있던 문서편집도구는 없었습니다.그러니까 그냥 cups-pdf가상프린터를 써서 만드는 것이 더 나을 듯 합니다.문서가 완성이 되면 최종본을 저장하고 이것을 꼭 PDF화 해서 보관해 두도록 합시다.

누군가가 원한다면 그냥 PDF만 주면 되니까 상관없습니다.


왜냐하면 PDF로 보내는 것은 의무니까요.


,




 

 




우분투에서는 USB 메모리가 상당히 잘 읽힙니다. 2014년 현재 구동 되는 모든 OS는 당연하겠지만 USB 메모리가 안 읽히면 불편함이 이만저만 아니겠지요. 그러니 잘 읽히는 것은 당연 할 것입니다. 이는 우분투와 그 계열의 모든 OS도 마찬가지입니다.


그런데 여러분 USB메모리 쓰실 때 안전제거 꼭 하시나요? 급한 사람들은 안전제거 안 하고 그냥 쑥쑥 뽑던 것 같은데 이거 상당히 위험한 행동입니다.



이걸 굳이 하라는 이유가 있으니까 하라는 것입니다.

우분투에서도 안전제거란 이름외에도  "꺼내기","빼기","안전 제거" 등의 이름으로 이를 지원하고 있습니다. 그런데 사실 이를 찾기가 어려워서 그런지 아니면 윈도 쓸 떄의 습관이 남아서 그런것인지 까먹고 쑥쑥 뽑기 일 수입니다. 그리고 10중 9은 USB쓰기 에러창을 보게 됩니다. 그런데 우분투는 윈도와 다른 한가지 맹점이 있습니다. 윈도에서 복사는 실제 복사 작업이 끝난뒤에 창이 사라지지만 우분투는 복사 작업이 끝나기 전에 창이 사라집니다. 사실 이는 노틸러스의 문제지만, 우분투의 기본 탐색기가 노틸러스이니 우분투의 문제라고 할 수도 있습니다.(Konqeurer는 어떤지 잘 모르겠습니다. 써 본적이 없어서)



우분투도 이런식으로 꺼내기,뺴기,안전제거 등의 이름으로 이러한 기능이 들어있다. 괜히 이런 기능 있는 것 아니다. 꼭 이 기능을 이용하자.


그래서일까요? 우분투 초보자 분들께서는 저 안전제거 기능을 이용하지 않고 복사 창이 닫히자 마자 메모리를 쑥쑥 뽑아버리는 경우가 잦습니다. 애초에 윈도에서도 하면 안 되는 일이지만, 우분투는 안정성을 중요시 여기는 리눅스계열이라서 이를 더 증오합니다.


우선 안전제거를 이용하지 않으면 안 되는 이유를 말씀드리자면

1. 파일을 읽고 쓸 때 뽑으면 당연히 파일시스템에 에러가 난다.

2. 주로 FAT포맷을 이용하므로 파일이 깨질 수 있다. (NTFS나 EXT3,4에 있는 저널링 기능이 없습니다.)

3. 그냥 메모리가 사망할 수도 있다. (반도체는 전기적 충격에 약합니다.)


그런데 이 중 1,2 항목에 의해 에러가 발견되면 우분투는 시스템 안정성을 위해 파일 쓰기를 금지 해버리고 문제가 생긴 파일을 보이지 않게 처리합니다. 이 문제가 생긴 폴더, 파일을 다시 덮어쓰려고 하면 당연히 안 됩니다. 메모리에 쓰기가 안 되게끔 처리가 되어있으니까요.


그런데 윈도에서는 잘 될 것 입니다. 원래부터 윈도는 이런 문제는 사소한 것이라 생각하고 넘어가는 경향이 많습니다. 그러다 결국 지금과 같은 바이러스 천국, 좀비PC 양산이 생기게 되었다고 해도 과언은 아니지요. (그래서인지 서버용 윈도는 유닉스계열보다 더 빡센 권한 분리를 시도하더군요. 그런데 파일 시스템관리에서 또 한번 점수가 깎이네요.) 윈도는 이러한 사소해보이는 문제를 신경 안 쓰는 것 뿐입니다. 하지만 이 사소한 오류가 서서히 번지면 파일 전체로 퍼질지도 모릅니다. 하지만 우분투는 이를 막기 위해서 우선 오류를 잡거나 백업하라는 의미에서 쓰기금지를 해버립니다.


이를 해결하는 방법은 하나입니다. 오류가 난 파일과 폴더를 처리하는 것입니다.

오류를 처리하는 방법은 뭐가 있을까요?


우선 논리적 오류와 물리적 오류 두 가지에 대해 이야기 해야겠습니다. 우선 한 두 번의 실수로 인해 생긴 오류는 논리적 오류로 충분히 고칠 수 있습니다. 하지만 지속적으로 안전 제거 없이 생긴 오류는 고치기 어렵습니다. 이 경우에는 그냥 새 메모리에 백업 한 후에 포맷을 해서 대충 고쳐 써보는 방법이 있습니다. 하지만 포맷으로도 고쳐지지 않을 수준으로 반도체가 맛이 갔다면....삼가 메모리의 명복을 빕니다.

우분투는 위의 논리적 오류로도 쓰기 금지를 먹입니다. 혹시나 모를 문제에 대비 하는 것입니다. 그럼 이 논리적 오류만 해결하면 되겠네요? 네, 간단히 한 두번의 실수로 생긴 오류는 충분히 고칠 수 있습니다. 우분투에서도 가능하고 윈도에서도 가능합니다.


윈도에서는 간단하게 디스크검사 프로그램으로 검사하면 고쳐집니다.사실 도스시절부터 써오던 유서깊은 Chkdsk의 GUI버전이니 믿고 쓰시면 됩니다.

리눅스에서는 Chkdsk 따위 소리가 나오는 훌륭한 도구인 FSCK가 있습니다. 이 녀석을 이용하면 왠만한 오류는 다 고칠 수 있습니다. 리눅스나 유닉스 서버를 쓴다면 당연히 쓰게되는 물건이니 fsck라는 명령은 잘 알아두세요.


방법은 아쉽게도 GUI가 아닙니다. 혹시나 하고 찾아봤는데 fsck를 제대로 쓰는 GUI프로그램은 없더군요. Python같은 것으로 만들어진 프로그램들이 있을 줄 알았는데 의외로 없네요?

하는 수 없습니다. 그냥 터미널을 씁시다.


우선 USB메모리의 위치를 확인합시다. 메뉴-기본설정-디스크를 선택하면 디스크유틸리티가 실행되면서 USB의 장치 주소를 확인 할 수 있습니다.



여기서는 /dev/sdb1이군요. 물론 /dev/sdb는 디스크의 주소이고 /dev/sdb1은 해당 파티션의 주소입니다. 보통 USB메모리는 단일 파티션으로 쓰곤 하니까 어떻게 써도 상관은 없을 것입니다.


이제 터미널을 열고 fsck 명령을 쓰기전에 꺼내기 버튼을 눌러서 미연의 오류를 방지합시다. (꺼내기를 하지 않으면 fsck가 어차피 막을 것입니다.) 디스크 유틸리티에서도 꺼내기 버튼은 있습니다. 그리고 USB를 아직 뽑지는 마세요.


터미널을 열고 다음과 같이 명령을 칩시다.


sudo fsck -p /dev/sdb1

'

여기서 /dev/sdb1은 디스크 유틸리티에서 찾은 USB 메모리의 장치주소입니다. 여러분은 다르게 나올 수 있습니다.


그러면 오류가 난 폴더와 파일이 사라집니다.(!!!!) 복구 가능 하냐구요? 안 됩니다. 이는 복구 안 됩니다. 그러니까 백업은 필수입니다. 어쨌건 오류가 있었던 파일이 사라졌으므로 다시 USB를 뺐다가 꼽으면 쓰기 금지가 풀려있을 것입니다.


그런데 이런 복잡한 짓거리를 하기 전에 예방이 중요합니다. 그러니까 꼭 USB를 뺴기전에는 하드웨어 안전제거!!!! 꺼내기!!!! 뺴기!!!!! 이 기능을 꼭 이용하세요!!!!!!

,


드림스파크는 대학생/대학원생/전문학교학생 들을 위해서 마이크로소프트가 운영하는 사이트입니다. 이곳에서는 서버용 윈도우나 Visual Studio 등을 학생 인증만 하면 무료로 다운로드가 가능합니다. 윈도우도 임베디드버전을 산업용이기는 하지만 다운로드가 가능합니다.


드림스파크에 학생 인증하는 법은 https://www.dreamspark.com/Student/Default.aspx 이곳을 보시면서 하시면 됩니다.


드림스파크를 이용하면 마이크로소프트 제품을 무료로 쓸 수 있다니 정말 멋지지 않나요? 하지만 한 가지 문제가 있습니다. 바로, MacOSX나 Windows만 정상적인 방법으로 다운로드가 가능하다는 것이 흠입니다. 

리눅스계열들은 정상적인 방법으로는 다운로드가 어렵습니다. 하지만 세상은 넓고 꼼수도 많습니다. 무엇보다 Wine을 통하면 Windows로 인식이 되니까요. 이를 이용하면 됩니다.


이 삽질을 일으키게 한 장본인은 바로 보안 다운로드 관리자(SDM)이란 놈입니다. 이 놈이 MacOSX와 Windows용으로만 만들어져 있습니다. (Microsoft제품이니 그러려니 할 수 밖에는 없습니다.)

무슨 웹하드마냥(그래도 웹하드보다는 안전합니다.)다운로드 프로그램을 이용하라고 나온다!!!

SDM이란 놈은 사실 SDX파일을 이용해서 제품을 바로 다운로드 받을 수 있도록 만든 프로그램입니다. 문제는 SDM이란 놈을 다운로드 받으려고 하면 리눅스에서는 pkg로 만들어진 MacOSX용 패키지파일을 다운로드 받게 됩니다. 하지만 리눅스에서 MacOSX용 프로그램을 쓸 수 있는 방법은 없습니다. 따라서 저희는 Wine을 이용해서 굴릴 수 있는 윈도용 SDM이 필요합니다.


이를 얻으려면 현재 브라우저를 Internet Explorer로 속이거나 아니면 Windows용 Firefox나 Chrome으로 속여야 합니다. 이는 브라우저 확장기능으로 충분히 가능합니다. 저는 Firefox기준으로 알려드리겠습니다.


https://addons.mozilla.org/ko/firefox/addon/user-agent-switcher/?src=ss

위와 같은 주소로 들어가면 바로 User Agent Swticher라는 확장을 다운로드 할 수 있는 페이지로 들어가게 됩니다. 그리고 해당 부가기능을 설치하면?

User Agent Switcher 부가기능 설치페이지. 생각보다 많은 사람들이 쓰는 중이다.


도구-Default User Agent 라는 메뉴가 생깁니다.

해당 메뉴에서 Internet Explorer 8을 선택하고 다시 드림스파크 홈페이지에서 다운로드를 시도하면 SDM_KO.msi(한국어의 경우) SDM_EN.msi(영어의 경우)파일을 다운로드 받을 수 있게 됩니다.


이제 SDM도 설치 했으니 그 다음은 Wine에 웹 브라우저를 설치하는 일 입니다. 즉, 윈도의 브라우저를 설치하는 것입니다.

우선 윈도용 Firefox를 설치합니다. 윈도용 Firefox외에도 단순 윈도용 탐색기 프로그램(토탈커맨더나 7-zip 등)을 이용해서 SDX파일을 직접 실행 할 수도 있는데, 드람스파크 홈페이지에 직접 접속해서 다운로드 하기 편하도록 저는 Firefox를 설치했습니다.


저는 관리를 편하게 하기위해서 playonLinux를 이용했습니다.

PlayonLinux의 설치 버튼을 누른뒤에 Mozilla Frefox를 선택해서 Firefox의 윈도용을 설치합니다.




Firefox의 설치 자체는 정말 쉬우니 다 생략하고

설치를 다하고 나면 PlayonLinux에 Mozilla Firefox 항목이 생깁니다. 이 아이콘을 선택하고 구성버튼을 누릅시다.



그리고 Miscellaneous 탭으로 들어가서 Run a .exe file in this virtual drive를 선택한 후에 아까 다운로드 받은 SDM_KO.msi/SDM_EN.msi 파일을 선택하면 이제 SDM의 설치에 들어갈 수 있게 됩니다. 이 때 한글이 깨지게 되는데 스크린샷을 보시면서 진행 하시면 무사히 설치가 완료됩니다.



여기서 사용권 계약화면 바로 아래를 보자. 라디오버튼을 자세히 보면 왼쪽은 4글자, 오른쪽은 3글자이다. 정답은 왼쪽 - 동의 안 함 오른쪽 - 동의함 꼭 오른쪽 버튼을 선택하자.


이제 Internet Explorer를 설치하면 됩니다. Internet Explorer를 설치 할 거면 왜 Firefox 설치했냐는 사람도 있을 것 같은데 내가 해 본 결과 Internet Explorer로 다운로드 시도하면 이상하게 꼬이는 데다가 느려서 드림스파크 접속도 힘들 지경입니다. 그냥 Firefox를 이용합시다. Internet Explorer는 SDM의 구동을 위해 설치하는 것 그 이상 그 이하도 아닙니다.


Internet Explorer 설치는 Install components 탭에서 바로 가능합니다.



Install Componenets 탭에서 Internet Explorer 8 을 선택하고 설치 버튼을 누르면 설치 스크립트가 실행됩니다.



이 때 중간에 언어를 물어 볼 것입니다만, Korean은 설치가 진행이 안 되므로 English를 선택합시다. 어차피 한국어로 설치를 해도 글자가 다 깨져버려서 설치하기 힘듭니다.



Internet Explorer 8 설치 화면입니다. 여기서 I do not want to participate right now를 선택합시다. 익스플로러의 개선을 위한 정보 전송관련에 도움을 달라는 것인데 Wine으로 돌리는데 방해를 했으면 방해했지 절대 도움 안 됩니다.



Install updates의 체크는 꼭 풀어버리도록 합시다. 굳이 설치시간만 늘어나는데다가 XP지원이 종료되면서 IE8의 지원도 같이 종료되었습니다. 굳이 업데이트한다고 해도 SDM구동에 도움이 될지는 모르겠습니다.


시스템 재시작 버튼 눌러봐야 별 반응 없습니다  Restart later 버튼을 누릅시다.


이제 Internet Explorer의 설치도 끝났으니 이제 드림스파크에서 다운로드를 받는 일만 남았습니다.




PlayonLinux에 설치된 Firefox로 드림스파크에 접속을 합시다. 그리고 다운로드를 시도하면 SDM다운로드떄와 똑같은 페이지가 나오게 됩니다. 이번에는 SDX파일을 다운로드 하도록 합시다. 그리고 열기를 해주시면!!!

이제 드림스파크를 통해 다운로드가 가능해졌습니다!!!


드림스파크가 다운로드 속도가 좀 많이 늦기는 해도 임베디드 버전의 윈도나 서버용 윈도를 무료로 다운로드 받을 수 있다는 것이 참 좋네요. IDE계의 최강자인 Visual Studio도 상당히 좋고요. 물론 Visual Studio는 Only Windows라서 저에게는 별로 좋은 물건은 아니긴 합니다.


어쨌건 이제 드림스파크도 리눅스에서 이용 가능해 졌습니다. 드림스파크의 다운로드 속도가 상당히 느린 것은 그냥 켜놓고 자면 되니까 상관 없습니다.


어쨌건 저는 이제 Windows Embeded 버전이 하나 생겼으니 이것을 우선 VirtualBox에 깔아서 한번 이것저것 해봐야 할 것 같습니다. 이 참에 Home Streaming 전용 Steam Mathine 하나 구비하는 것도 나쁘지는 않겠네요.
(Steam을 통하면 Windows머신에서 실행된 게임을 리눅스나 OSX에서 스트리밍해서 플레이 할 수 있습니다.)


,


으음.. 아직 베타딱지가 붙어있지만 그리 큰 문제는 없었다.


여러분들은 AutoCAD란 소프트웨어를 들어보신적이 있으신가요? 만약 기계공학이나 이 쪽 계통의 일을 배우신다면 이 물건을 배우게 될 것입니다. 이 AutoCAD란 물건은 교육용으로 만들어진 학생용 제품을 제외하면 어마어마한 가격을 자랑하는 물건입니다. 게다가 또 다른 문제가 있습니다.이 물건은 오로지 M$ \indows만 지원합니다. 물론 Wine으로도 충분히 구동이 되지만 이왕이면 Wine을 통하지 않고 리눅스 네이티브를 지원하는 물건이 훨씬 더 좋습니다.


이놈은 2D CAD의 제왕 AutoCAD. OSX과 윈도를 지원하지만 리눅스는 찬밥이다. 출처 - 위키피디아 영문



그러한 물건이 바로 Dassau System에서 내놓았습니다. 이름이 DraftSight로 AutoCAD가 갖고 있는 모든 기능을 다 갖춘 물건입니다.개인에 한해 무료인 듯 한데, 어차피 회사에서는 AutoCAD사서 쓰기 떄문에 별 문제 없을 수도 있습니다.



이 물건이 바로 DraftSight. 위의 AutoCAD와 별 다를바없어 보이는데, 실제로 기능도 별 다를바 없다.


일단 DraftSight는 프랑스의 다쏘시스템에서 만들어진 프로그램으로 사실 오픈소스는 아닙니다. 다쏘시스템도 AutoCAD를 만든 AutoDesk사 처럼 설계프로그램을 만드는 회사인데, 3D CAD에서는 정평이 나있는 SolidWorks와 CATIA를 만들어냈습니다. 하지만 2D CAD에서는 워낙 AutoCAD가 대세다보니 답답했던 것인지 2D시장도 노리기 위해 이 DraftSight를 무료로 배포하는 것이지요. 이 무료배포가 시장 장악력을 높인다면 다쏘시스템으로써는 더할 나위 없는 상태일 겁니다.


실제로 제품 개발하는 과정이 Solidworks나 CATIA UG등을 이용해서 3D 모델링을 한 후에 이를 2D화해서 AutoCAD로 집어넣은 다음 AutoCAD에서 한 번 더 작업을 하는 삽질 아닌 삽질을 하고 있습니다. AutoDesk사의 Inventor를 이용하면 바로 AutoCAD로 넣을 수는 있지만 3D CAD가 대기업에서는 CATIA나 Pro-E가 중소기업에서는 Solidworks가 사랑받다보니 Inventor는 AutoCAD 아니었으면 망했을겁니다.(...)


상황이 이 모양이니 다쏘시스템에서는 자신들이 갖고 있는 3D에서의 영향력을 2D로 바꾸려고 DraftSight를 만든 것이지요.


이제 거두절미하고 바로 사용하는 방법에 대해 알아보겠습니다.

http://www.3ds.com/ko/products-services/draftsight/download-draftsight/


위의 주소로 들어가시면 바로 Draftsight를 다운로드 받으실 수 있습니다. 윈도,맥, 페도라, 우분투를 지원한다고 되어있네요. 다른 OS는 어떻게 하냐고요? 실행되게끔 삽질해야지요. (라이브러리 버전 맞추고 링크 걸고 그리고 또 삽질! 데비안은 Unstable로 업데이트하면 실행 잘 될 듯 합니다.)


그리고 처음 실행하면 이메일 주소를 물어볼 것입니다. 그러면 자신의 이메일 주소를 입력하고 사용하시면 됩니다. 끝입니다. 참 간단하지요?


단축키와 명령어는 모두 AutoCAD와 동일합니다. op,l,c 등의 단축 명령어도 동일하니 AutoCAD 사용자분들도 편하게 넘어오실 수 있습니다. 심지어 이거 리눅스에서 무료로 사용하는 것이니 총 투자비용이 0에 가까운 수준입니다. 물론 요즘 세상에 2D CAD만 작업 하는 경우는 없기는 합니다. 하지만 3D CAD+ 2D CAD + Windows가격에 비해 어마어마하게 싼 것이 장점이지요. 참고로 CATIA나 Solidworks는 Wine으로 돌아갑니다. 3D CAD도 리눅스용으로 나오지 않기는 하지만 Wine에서만 잘 돌아간다면 제품 개발도 윈도를 거치지 않고 가능해집니다. 어떤가요 멋지지 않은가요?


이로써 리눅스에서 CAD작업도 수월하게 되었습니다. 공대에서 윈도 몰아내는 것도 어렵지는 않습니다. 굳이 윈도를 쓸 이유는 없다니까요?

,


오늘의 주인공 GPRename입니다. 파일리스트는 신경쓰지 마세요.

윈도우즈에서 제가 편하게 사용했던 프로그램 중 하나가 DarkNamer(http://blog.naver.com/darkwalk77/70027450806)입니다. 파일이 더럽게 많은데 이 파일명을 순서대로 바꾸고자 할 때 (특히 애니메이션이나 만화책들이 대표적입니다.) 그렇게 유용할 수가 없었습니다. 리눅스에서도 이게 가능한데, 사실 리눅스에서는 이전부터 정규식을 사용해서 그냥 터미널에서 가능했습니다. 문제는 이것이 터미널 인데다가 정규식을 알아야 제대로 쓸 수 있었다는 겁니다. 


정말 편하게 쓴 프로그램 DarkNamer 출처 - http://blog.naver.com/darkwalk77/70027450806 공식블로그


정규식을 쓰면 프로그래밍하는 사람에게는 (특히 스크립트 삽질하는 경우) 그만한게 없지만 일반인들에게는 너무 어렵고 불편한 것이 사실이었습니다. DarkNamer를 워낙 편하게 썼기 때문에 그런 프로그램이 없는지 찾아봤습니다. 역시나 세상은 넓고 저와 똑같은 생각을 하는 사람은 있었습니다. 

그 프로그램이 바로 GPRename입니다.


딱 보시면 DarkRename과는 다르게 우선 하나의 폴더로 들어가야 하는 것을 알 수 있습니다. 아쉽게도 파일을 경로와 관계없이 밀어넣고 이름을 바꿀 수 있는 DarkNamer와 다르게 한 폴더에 몰아넣어진 파일들을 일괄적으로 변경해버리게 때문에 이름을 바꿀 파일을 한 폴더에 몰아 넣어줘야 합니다. 이 것은 기존의 정규식을 이용한 CLI작업과 유사합니다. 사실 그 정규식 작업을 GUI로 바꾼 것이기에 동일할 수밖에는 없습니다.


하지만 역으로 생각해보면 일괄적으로 이름을 바꿀만한 파일들은 대개 한 폴더에 몰아 넣어져 있는 경우가 많기는 합니다. 보통 xxx1, xxx2, xxx3 ... 이런식으로 구성된 파일을 바꾸는 것이라서 다른 폴더에 있는 경우도 드물기는 합니다. 즉, 그렇게 썩 불편한 것은 아니라는 것입니다. 다만 초보자가 보기에는 UI가 직관적이지 못하다는 것이 조금 마이너스군요.


이 프로그램의 UI중에서 제일 큰 크기를 차지하는 것은 파일/폴더리스트 입니다. 하지만 제일 중요한 기능은 그 아래에 내몰려(?)있습니다.



Case Change 기능은 솔직히 잘 모르겠습니다. 대체 무슨 소리인지 영 모르겠습니다. 죄송합니다.

Insert/Delete 기능은 파일명에 일정 문장을 추가하거나 일정한 양만큼 삭제하기위한 기능입니다. DarkNamer에도 동일한 기능이 있지요.

Replace/Remove 기능은 역시나 자주 쓰이는 기능인데 일정 문장을 바꾸는데 쓰입니다. 만약 바꿀 문장을 빈공간으로 하면 Remove가 되겠지요.

Numerical은 번호붙이기 기능인데 이게 DarkNamer에 있는 것보다 더 복잡한 기능을 자랑합니다. 숫자를 넣는데 아래의 Keep Existing names 를 No로 하면 밑도 끝도 없이 숫자만 붙은 파일이 됩니다. Before the numbers를 해 주셔야 숫자 앞에 붙은 파일명이 살아남습니다. 그리고 바로 위의 Insert before numbers ~~가 파일명중에서 어디에 숫자를 넣을 것이냐? 를 적는 부분입니다. 맘 같아서는 너무 복잡해서 그냥 Keep Existing names 를 No로 한 다음에 Insert기능으로 따로 문장을 넣어주는 것이 좋을 듯 합니다. 하지만 잘 쓰면 강력하지요. 숫자를 중간에 박아넣을 수도 있으니까요. (하지만 그럴일이 많지 않을 듯 하긴 합니다.)


일괄적인 파일명 변경. 리눅스에서 편하게 하실 수 있습니다.

,


 


 VS?

 



여러분들은 제 블로그가 우분투 블로그라고 철썩 같이 믿고 오신 분들이 많으실 겁니다. (아니신 분들도 있겠지요.) 하지만 글을 몇 번 읽어보신분들은 알겠지만, 저는 우분투를 안 쓰고 리눅스민트를 대신 씁니다. 그러면서 여전히 우분투 블로그라는 이름을 쓰고있습니다.그도 그럴 만한 이유가 있어서 그렇답니다.


1. 우분투의 문제?

 우분투는 굉장히 진보적인 운영체제 입니다. 11.04의 Unity인터페이스는 갑작스러운 멘붕을 먹기 충분했습니다. 지금이야 Unity인터페이스가 안정화 되어서 많이 이용되고 있지만 정말 초기에는 이딴 것을 왜 넣었냐는 분노의 성토글이 대다수였습니다. 저 같은 경우에는 그냥 Unity환경을 꾹참고 썼는데, 결국에는 화가 나서 Gnome2의 옛날 환경으로 돌려버렸던 기억이 있습니다. 우분투는 안정보다는 변화를 추구하는 정말 급진적인 운영체제였습니다. (이와 정반대의 물건이 친척뻘인 데비안이지요.)


우분투의 Unity인터페이스의 모습 Unity는 굉장히 편리한 인터페이스중 하나지만 11.04시절에는 안정화문제로 여럿 엿을 먹었다. -이미지출처 위키피디아


 그런데 이 급진적인 행보는 일부 사람들의 치가 떨리게 한 듯 합니다. 데비안으로 돌아가겠다고 선언한 사람부터 당시 나오던 Gnome3에 맞춰서 Gnome Shell을 탑재한 Fedora로 갈아탄 사람도 있었습니다. 7.04~10.10시절에 정말 최고의 효과로 커뮤니티가 대 폭발했던 Compiz(윈도따위는 명함도 못 내밀 정도의 아주 뛰어난 창 효과로 엄청 인기였습니다.)도 Unity로 바뀌면서 구석으로 내쫓기고 그저 Unity의 일부로써만 작동중입니다.이 때 Compiz 개발자들이 엄청 반발했다고 합니다. 우분투에서 정상 작동을 위해 감놔라 배놔라 할 때는 언제고 지금은 그냥 구석으로 내 몰아버리냐고 Compiz측에서 우분투에 반감을 갖게 된 사람들이 많다고 하네요.


 사실 우분투는 Unity뿐만 아니라 이전에도 한번 문제를 일으킨 적이 있었습니다. Ubuntu One 서비스를 기본으로 내장하면서 생긴 문제입니다. 정보를 클라우드에 저장한다는 개념은 나쁘지는 않았습니다. 게다가 우분투를 지원하는 클라우드 서비스가 많지 않았던 시절(지금은 DropBox 하나가 존재감이 커서...없더라도 그렇게 불편하지는 않습니다.) 우분투에 대놓고 나온 클라우드 서비스라 의외로 나쁘지는 않았습니다. 문제는 이 서비스가 클로즈드 서비스라는 것이었습니다. 클라우드 서비스의 단점인 개인정보 획득이 문제가 된 것이지요. 이전의 Ubuntu 서비스들 처럼 Ubuntu One 클라이언트의 소스가 공개되어있었으면 절대로 나올일 없었을 것이, 클라이언트가 클로즈드 소스라는 것이 밝혀지자마자 난리가 났었습니다. 구글이나 애플이 했던 것처럼 얘네도 그러는 것 아니냐면서요.(구글은 오픈소스였던 크로미움에다 자신의 코드를 넣어서 개인정보를 모은 전력이 있습니다. 애플은 애플지도사건 아시죠?) 이 때부터 캐노니컬의 신뢰도는 바닥을 향해 떨어지기 시작합니다.


사실 Ubuntu One 클로즈드소스나 Unity인터페이스 같은 것은 제가 리눅스민트로 넘어가게 만든 주요한 원인은 되지 못했습니다. 사실 제일 큰 원인은 "지겨워졌다" 였습니다. 우분투가 Unity로 가기 이전에는 GTK-2.0기반 테마가 상당히 많았고, 이리저리 꾸밀 거리가 상당히 많았습니다. 맘만 먹으면 전혀 다른 OS처럼 만들 수도 있었습니다. 그런데 Unity에 들어오면서 거의 획일화된 화면만 보게 되더군요. 거기에 답답한 반응속도까지 보이고 앉아있으니 저는 다른 방법을 찾아보게 됩니다.


1. Gnome2로 되돌리기?

Gnome2는 10.10까지 잘 이용되어오던 인터페이스 입니다. 나쁘지는 않았지만 업데이트 중단+언젠가는 못 쓰게될 가능성이 높기때문에 포기했습니다.


2. Gnome Shell

나쁘지는 않지만 Unity와 비교 했을 때 저는 그렇게 편리함은 못 느꼈습니다. 오히려 Unity가 더 편리할 정도? 심지어 당시는 안정화도 그리 잘 안 되어있는 것으로 보여서 후보에서 탈락했습니다.


3. XFCE, LXDE

상당히 가볍지만, 써 본 결과 화면이 별로 예쁘지도 않고, 일부 답답한 면도 보여서 PASS


4. Cinnamon

리눅스 민트의 기본 인터페이스 입니다만, 우분투에 데스크탑환경만 설치해보니 상당하더군요.예쁘고 반응속도 좋고,그래서 우분투에 Cinnamon만 깔아서 써봤습니다. 그런데 결국 문제가 터지더군요. 나중에 인터페이스가 엉켜서 Unity패널+Cinnamon태스크바가 나오는 어이없는 결과가....

전 당시 Cinnamon의 불안정함이 원인이라 생각하고 다른 인터페이스를 찾았습니다. 지금 생각하면 그냥 Unity버그였는데요. 조금 아깝습니다.


5.Mate

마찬가지로 리눅스민트의 기본 인터페이스입니다. 단 이놈은 Gnome2의 한 갈래입니다. 즉 Gnome3공개로 인해 Gnome2의 개발이 중단되면서 Gnome2의소스가 하나의 갈래로 갈라져서 Mate로 개발되고 있다는 것입니다. 써보니까 Gnome2의 안정감+민트 특유의 미려함이 섞이니 상당히 마음에 들더군요. 물론 이때도 우분투에 설치해서 쓴 것이기는 합니다. 그러다보니 Cinnamon을 설치했을 때의 엉키는 인터페이스가 생각나서 Mate에 Mate에 의한 Mate를 위한 배포판을 찾게 됩니다. 그게 LinuxMint인 것은 당연한 것입니다.



이렇게 저는 LinuxMint로 넘어왔습니다. 그리고 MATE환경을 쓰니 기존의 Gnome2와 비슷해서 편하더군요. (그도 그럴것이 같은 코드다보니...)그 뒤에 12.04가 나오면서 Unity는 상당히 안정화 되었지만 잘 알다시피 한번 적응한 배포판을 바꾼다는 것은 귀찮기도 하고, 굳이 우분투로 돌아갈 이유도 없었기에 그냥 이대로 눌러앉게 됩니다. 사실 LinuxMint는 우분투기반이라서 그냥 우분투에 적용했던 모든 명령이 다 먹힙니다. 트윅도 먹히고, 단축키도 먹히고 그냥 우분투용으로 나온 각종 비기와 술수(?)가 모두 되다보니 LinuxMint에 편하게 적응할 수 있었기도 합니다. 하지만 민트는 겉모습만 편해서 선택한 것이 아닙니다.

지금 제가 사용하는 화면입니다. 원래 민트는 작업표시줄이 아래에 있지만, 그동안 쓰던 Gnome2에 익숙하져버린 나머지 그냥 위로 올려버렸습니다.

사실 리눅스를 쓰다보면 어쩔 수 없이 VirtualBox나 VMware를 써야하는데 저는 VMware보다는 오픈소스인 VirtualBox를 더 선호합니다. 그리고 인터넷을 하면서 작업을 자주 하기에 VirtualBox의 심리스모드를 애용하는데 Unity에서 이 심리스모드가 이상하게 작동하더군요. 지금은 고쳐진 것 같은데 LinuxMint는 별 문제없이 심리스모드가 잘 작동했습니다.



심리스모드의 우월함입니다. 아래에는 윈도의 작업표시줄이 위에는 민트의 작업표시줄이 화면에는 리눅스 콘솔과 윈도 탐색기가 같이 떠 있습니다.



특히 오피스 관련 작업 할 때 상당히 편하더군요. Wine으로 엑셀과 파워포인트를 설치해 뒀지만 (워드는 그냥 버립시다.)중요한 작업일 경우에는 Wine이 불안해서 그냥 VirtualBox에 윈도를 설치하고 여기서 엑셀과 파워포인트작업을 합니다. 그런데 Unity에서 이 모드가 정상적으로 되지를 않아서 짜증이 밀려오더군요. 그래서 VirtualBox는 창모드로 썼는데 왜 이렇게 답답하던지...듀얼모니터를 쓰면 되지 않나? 라는 분도 계시겠지만 저는 노트북한대가 전부입니다. 모니터 살 돈도 없어요...


하지만 LinuxMint의 단점도 있습니다.


1. 우분투버그+민트버그

 우분투도 아시다시피 버그가 많은 편입니다. 그리고 이는 시간이 지나면서 차차 해결됩니다. 그래서 LTS버전이란 것이 나왔고 무조건 새것이 좋지는 않다는 결론이 나오게 되었지요. 그런데 Mint는 이 우분투를 이용해서 만들기 때문에 기존 우분투의 버그를 안고 갑니다. 거기에 민트만의 수정사항들이 더해지면서 또 다른 버그를 낳을 수 있습니다. 즉, 버그가 해결되기는커녕 도리어 버그가 불어나는 셈입니다.  17 Qiana 이후로 기반 베이스 우분투를 14.04로 16.04가 나올때까지 밀겠다고 했으니 우분투의 버그는 많이 줄어들지도 모르겠습니다. 문제는 Mint로 인해 생긴 버그네요.


2. 늦은 업데이트

 우분투는 못해도 4월과 10월에 새 버전이 나오게 됩니다. 그리고 민트는 이 우분투를 받아서 만들기 때문에 우분투가 나온 뒤에 새 버전이 나오게 됩니다. 제가 우분투 버그 이야기를 했었지요? 보통 우분투 출시 후에 1달~3달 뒤에 민트의 새 버전이 나오게 되는데 어이없게도 우분투의 버그를 안고 나옵니다. 즉, 버그가 패치된 업데이트 된 우분투가 아닌 배포 초기의 우분투 iso를 가지고 만들어서 1달 뒤에 나옴에도 바로 받아보면 패키지가 4월이나 10월 것으로 그대로라는 것입니다. 우분투는 업데이트가 상당히 잦기 때문에 민트를 받아서 업데이트를 해보면 바로 설치하는 것인데도 업데이트가 쏟아집니다. 1달분만 있으면 그나마 다행인데 3달분이면(...) 걔중에는 커널업데이트도 있어서 시간이 꽤 걸리기도 합니다. 배포하기 전에 우분투패키지를 미리 업데이트해서 넣어주면 안 되나?


3. 한글관련 문제

 이는 얼마전에 해결되었던 문제입니다. 라이브모드에서 한글지원은 되는데 한글글꼴을 넣어주지 않아서 한글이 나오지 않았던 문제가 있었습니다. 지금은 나눔글꼴을 기본으로 넣어서 배포하기 때문에 한글이 아주  잘 보입니다. 하지만 한글입력기가 약간 문제가 있다는 이야기가 들려왔었네요. 우분투의 문제였는지도 모르겠지만, 저는 재설치 없이 업데이트를 했기 때문에 한글문제가 해결되었을지도 모르겠지만 초반에 삽질이 약간 있었다고 합니다. 제가 쓰는 Nabi나 UIM은 문제가 없었고 ibus만 문제가 있었을 수도 있습니다. 이는 민트 버그의 일종이라고 봐야 할 수도 있겠습니다.


4. 포맷&설치로 업그레이드해야 한다?

 제가 전에 재설치 없이 업그레이드 하는 방법을 알려드린 적이 있었습니다.(http://moordev.tistory.com/2) 그런데 이 방법은 민트측에서 별로 추천하지 않는 기능이라고 합니다. 실제로 제 시스템이 약간 문제가 생기기는 했는데  사소한 것이라 신경 끄고 쓰고 있습니다. 하지만 이 문제가 언제 시한폭탄이 될 지는 아무도 모릅니다. 그럼 결국 정상적인 방법은 하나라는 의미입니다. 무조건 재설치라는 것이지요. 6개월에 한번씩 새 버전이 나오는데 6개월마다 한 번씩 재설치하는 것은 좀 무리라고 봅니다. 그래서 우분투는 update-manager를 통해서 이를 처리합니다. 하지만 민트는 답이 없습니다. 사소한 문제를 해결하려면 그냥 깨끗히 포맷하고 새로 설치하는 수 밖에는 없습니다. 아니면 그냥 제가 올린 글처럼 해서 업그레이드 하는 수 밖에요. 사소한 문제가 생길 수는 있습니다만 이게 더 편한 것은 어쩔 수 없습니다. LTS이 이래서 있는 것이지만 이후의 민트는 무조건 LTS기반이라고 했으니 우분투는 14.04 그대로여도 민트가 업그레이드 되었으니 밀고 새로 설치를 또 해야겠네요.


하지만 리눅스민트의 아버지는 우분투이고, 우분투의 행보가 마음에 안 들어서 우분투의 시스템을 사용한 리눅스민트로 넘어간 것이니 아직도 저는 우분투 빠이긴 한 것 같습니다.결론은 우분투 만세! 리눅스민트 만세!

,


출처 - http://sourceforge.net/projects/rebeccablackos/?source=navbar 레베카 블랙 OS라서 레베카 블랙의 뮤직비디오를 띄운 스크린샷이 올라와 있다.

이전에 저는 Wayland와 Xorg에 대한 글을 올린 적이 있었습니다.http://moordev.tistory.com/39

그런데 Wayland에 대한 글만 잔뜩 쓰고, Wayland의 스크린샷 하나 올리지 않았더군요. 그 당시 저는 Wayland를 쓰려면 Arch Linux를 이용하는 것이 가장 좋다고 했었는데 혹시나 하고 찾아보니 우분투 기반으로 nerdopolis라는 분이 만든 버전이 있었습니다. 사실 직접 Customizer로 작업하려고 소스 컴파일까지 했었는데 이 배포판을 보자마자 작업하던 것을 그냥 지워버렸습니다. 이미 Wayland를 경험할 수 있는 모든 것을 다 갖춘 배포판이어서 굳이 Arch를 설치할 이유도, 굳이 우분투를 커스터마이징 할 이유도 없었습니다. 그냥 이 배포판 하나면 Wayland가 이런 거구나~정도로 다 알 수 있습니다.


Rebecca Black 이란 이름의 정체?

그런데 이름이 좀 웃기기는 합니다. Rebecca Black이라? 이게 무슨 뜻일까 하고 검색해 봤더니 유튜브에서 (안 좋은 쪽으로) 유명한 한 여성의 이름이더군요.위의 스크린샷에 떠 있는 유튜브 영상속의 여성분이 바로 Rebecca Black입니다. 아무튼 이 Rebecca Black의 팬인 어느 한 분이 직접 만든 OS가 이 OS라고 합니다. 배경이 일부 팬심으로 만든 배포판과는 다르게 이 여성 사진으로 도배 되어 있다거나 기본 홈페이지가 뮤직비디오 유튜브채널이라던가 하는 일은 없고 오로지 이름만 RebeccaBlackOS이기 때문에 크게 부담은 없습니다.(다만 라이브 사용자 이름이 beccaholic입니다.)


현재 Wayland를 이용하는 데스크탑 환경이라 할 수 있는 것은 대략 4가지가 있습니다.

1. Weston

2. Gnome Shell

3. Enlightment wayland

4. Hawaii


Orbital이란 것도 있고 SWC란 것도 있다고는 하는데 저는 해당 데스크탑들은 구동이 안 되어서 확인 못했습니다. 메이저라 할 수 있는 KDE도 포팅 중이지만, 아직 여기에 들어가지는 못했습니다. Gnome은 Xwayland를 약간 써서 구동이 되는 수준이라고 하구요. Gnome Shell 3.14에서는 완벽히 Wayland에 포팅할 예정이라고 합니다. 왠지 기대되네요.


한번 스크린샷을 쭉 봅시다. 참고로 VirtualBox를 이용했기 때문에 KMS가 필요한 Gnome Shell이나 Enlightment는 스크린샷이 없습니다. 대신 Xorg 기반과 모습이 동일하기 때문에 따로 Wayland라고 딱히 다른 것은 없습니다.


다운로드는 http://sourceforge.net/projects/rebeccablackos/files/ 여기에서 그나마 날짜가 최신인 폴더로 들어가 iso파일을 받으시면 됩니다. 32/64 모두 지원하기 위해 32비트용으로 만들어서 배포한다고 합니다. 그 다음 iso파일을 DVD로 굽던지 아니면 Unetbootin을 이용해서 USB에 담던지 아니면 USB Image Writer로 USB에 구워주시면 됩니다.


우선 부팅화면부터 보겠습니다. (Unetbootin을 이용하시면 이 스크린샷과는 다르게 Untebootin의 화면이 나옵니다.)


제일 윗줄이 가장 일반적으로 사용할 메뉴입니다. 그냥 기본 라이브모드 진입입니다. 그 아래는 KMS를 지원하지 않는 시스템용입니다. 그러한 시스템의 대표적인 것이 VirtualBox를 들 수 있습니다. 만약 가상머신을 통해서 확인 해보시고 싶으시다면 아래의 메뉴중 원하는 해상도를 찾아 선택해주시면 됩니다. 보통 USB나 DVD를 이용하시면 제일 위의 메뉴를 이용하시는 것이 가장 좋습니다.


RBOS 이렇게 검색하니 이상한 것만 잔뜩 나온다. 검색할 때는 약어를 쓰지말고 RebeccaBlackOS라고 꼭 풀네임을 쓰자

부트 화면도 의외로 깔끔합니다.


여러모로 확 깨는 로그온 화면. 아직 정착중인 Wayland니까 이 정도는 봐주자.

우분투 기반이지만,(정확히는 쿠분투기반입니다. 기본 아이콘이 KDE입니다.) 확실히 다른 모습을 보입니다. 그런데 이거 사실 로그온 화면입니다. Wayland가 아직 GDM이나 LightDM같은 변변한 로그온화면이 없어서 이런 식으로 로그온 화면을 만들었습니다. 저는 VirtualBox를 통해 스크린샷을 찍어서 Enlightment와 Gnome Shell 세션을 사용 할 수 없습니다. USB/DVD부트 하신 분들은 Enlightment와 GnomeShell을 사용하실 수 있을겁니다.


그냥 보면 투박한 화면 같지만 Xorg가 아니라 Wayland다.

가장 기본적인 Wayland 쉘인 Weston입니다.

위의 로그온(?)화면과 비슷하지요? 위의 로그온화면도 사실 Weston에 아이콘을 줄여서 만든 화면입니다. weston을 로그온화면으로 쓰다니...기발한 생각인 것 같기도 합니다.


참고로 여기 있는 것들 KDE어플리케이션이다. Wayland로 포팅된 것이 아니라 Xwayland를 이용해서 X11용 어플리케이션을 돌리는 것이다.

Application Launcher를 실행했더니 메뉴형식이 아니라 이렇게 하나의 창에 뜨더군요. 사실 Weston이 완벽한 물건이라기 보다는 다른 데스크톱 환경을 위해서 만들어진 경향이 커서 그냥 쓰기에는 상당히 부적합합니다. 그놈이나 KDE같이 아이콘 배치도 마우스로 하는 것이 아니라 weton.ini파일을 텍스트로 수정해야 하더군요. Wayland가 정착되면 이 화면 보기 어려울 듯 합니다.


다른 것은 대충 알겠는데 Hybrid Sleep은 뭘까?

로그 아웃을 눌렀더니 뜨는 창. 역시 심플합니다. 아직은 테스트 성격이 강하니까요.


약간 안드로이드 타블렛스러운 화면 안드로이드에서 이런 런처를 만들어도 잘 될 듯 하다.

Wayland 기반 중에서 제일 기대되는 환경인 Hawaii입니다. 기존 Gnome Shell포팅이나 KDE포팅보다 이 환경이 저는 더 기다려지더군요. 아직 안정 버전조차 나오지 않은 신예지만 상당히 깔끔한 것이 기대됩니다.


일단 Wayland만의 어플은 부족해서 KDE의 어플과 gedit등의 Gnome 어플을 가져왔다.

KDE메뉴를 빌려서 쓰던 Weston보다 훨씬 깔끔한 메뉴입니다. 이 화면 사실 터치에 최적화된 UI라고 합니다. 어쩐지 타블렛스러운 화면이 그럴것 같더니 하지만 마우스로도 상당히 편하게 잘 됩니다. MauiOS에서 만들고 있는데 정말 기대됩니다.


우선 화면을 보면 상당히 깔끔한 화면들을 보실 수 있습니다. 그런데 이 Wayland가 가진 가장 중요한 키포인트가 굉장히 가볍다는 것인데요. 실제로 구동해본결과 GPU가속만 되면 상당히 쾌적한 퍼포먼스를 보여줍니다. 굼벵이 기어가는 Xorg와는 차원을 달리 합니다. X11프로그램도 Xwayland를 중간에 거치는데도 Xorg에서 돌리는 것하고 큰 차이를 보이지를 않았습니다. 우분투나 페도라 같은 큰 메이저 배포판에서 Wayland를 기본 데스크탑 환경으로 채택할 날도 멀지 않은 것 같습니다. (우분투는 Wayland가 아니라 자체 개발하는 Mir를 밀고 있기는 합니디만...) 아직 일부 프로그램 실행 시 불안정한 모습이 많이 보여서 걸리기는 하지만 이는 시간이 해결해 줄 것이라고 믿겠습니다.


Wayland를 말로만 들으셨나요? 한번 Wayland란 놈을 써보시는 것은 어떤가요? 미래를 미리 체험한다고 생각하고 한번 테스트해보시면 정말 신세계를 느끼실 수 있을 것입니다. Wayland가 메이저가 되는 날도 멀지 않은 것 같습니다.

,



Ubuntu Customization

Kit

 VS

 

Customizer


가끔 여러분들은 나만의 OS를 만들고 싶다는 생각이 들었던 적이 있으셨나요? 저는 졸업작품을 만들 때 제 작품 구동용 전용 OS를 우분투를 이용해서 만든 적이 있습니다. 거의 임베디드화 했다고 생각하시면 되는데요. 사실 PC기반이었기에 그냥 기존의 우분투를 고쳐서 쓰는 수준에 불과한 물건이었습니다. 하지만, 아무도 그것이 우분투였는지 모르더군요. 어쨌건 저는 저만의 OS를 하나 만든 셈이었고, 이리저리 고쳐가며 만든 것이 상당히 재미있었습니다.


우분투를 이용하여 할 수 있는 많은 것 중에서 나만의 OS만들기는 상당히 짜릿한 느낌이었습니다. 제가 사용한 방법은 2가지가 있었는데, 이 두 가지를 비교하며 이야기 해보도록 하겠습니다. (사실 한 가지 더 있었는데, 프로젝트가 문을 닫아버렸습니다. Remastersys라고 상당히 특이한 물건이었는데 아쉽더군요.)


1. Ubuntu Customization Kit


 Ubuntu Customization Kit (이하 UCK)는 공식 우분투 커스터마이징 도구입니다. 우분투에서 공식적으로 지원하는 물건이기 때문에 간단한 언어설정+추가 패키지를 하실 생각이라면 이 도구 만큼 좋은 것은 없습니다. 또한 대화상자 형태로 동작하기 때문에 차근차근 묻는대로만 하면 정말 쉽습니다. 


사실 이 도구가 나오게 된 계기는 기존 우분투 배포버전은 무조건 영문 라이브 환경으로 들어가다보니 다른 언어권 사람들이 자신의 언어를 기본으로 하는 배포판을 만들어 내기 시작했습니다.(특히 일본이 가장 열성이었다고 하지요. 우리나라에서도 부러워 할 정도로 거의 완벽한 일본어 로컬라이징을 보여줬다고 합니다. 8.04시절이야기 입니다.) 그런데 어차피 영문배포판에 해당 언어를 기본으로 넣어주는 것에 불과한데도 삽질을 하는 것이 안 쓰러웠던 것인지 이러한 물건이 탄생하게 됩니다. 이것을 이용해서 데스크탑 환경도 바꾸고, 기본 언어도 바꾸고 할 수 있는 것이지요.


그런데 이 물건은 한 가지 문제를 가지고 있었습니다. 바로 우분투에서 배포한 iso를 기본 바탕으로 사용해야만 했다는 것입니다. 사실 우분투 데스크탑 환경에 언어설정만 하고 몇가지 추가 패키지만 설치하는 정도면 이것만큼 좋은 것도 없습니다. 그런데 그 이상이라면 이야기가 달라지지요. Wayland나 리눅스민트 수준의 마개조를 필요로 한다면 UCK가지고 커스터마이징 하는 것은 많이 어려워 보입니다. 즉, UCK는 공식 커스터마이저라서 호환성도 확보되었고, 사용도 쉽지만 그만큼 제약도 심하다는 의미지요.


2. Customizer (통칭 U-customizer)


이 물건은 UCK가 나오기 전부터 만들어졌던 물건입니다. (https://github.com/clearkimura/Customizer) 그런데 중간에 업데이트가 중단 된 듯하여서 조금 걱정을 했는데, 다행히도 github에서 소스를 커밋할 수 있더군요. 최근 업데이트가 3월...이라서 조금 걸리기는 하지만 아직까지는 14.04도 되는 듯 합니다. 


설치방법이 바뀌었군요. 그냥 컴파일 삽질입니다!!! (PPA가 중단되었습니다!)

아래 주소로 소스코드를 우선 다운로드 받습니다.


https://github.com/clearkimura/Customizer/archive/master.zip


sudo apt-get install git build-essential fakeroot make binutils g++ python python-dev python-qt4 pyqt4-dev-tools squashfs-tools xorriso x11-xserver-utils xserver-xephyr qemu-kvm dpkg-dev debhelper qt4-dev-tools qt4-linguist-tools qttools5-dev-tools --no-install-recommends


위의 명령어로 필요한 패키지를 설치합시다.

그리고 다음 명령어를 씁시다.


make deb

이러면 여러분의 소스폴더 바로 상위폴더에 새로운 deb이 생기는데요. 이놈을 보통 deb 설치하듯이 설치하면 됩니다. GUI가 gambas에서 QT로 바뀌었습니다...


특히 다른 것보다 이 도구가 좋은 것이 우분투 배포판 중에서 Ubuntu Mini Remix (http://www.ubuntu-mini-remix.org/)라는 것이 있는데, 이 배포판은 특징이 Debian처럼 가장 최소한의 구동부분만 들어있어서 GUI도 없고 다른 패키지도 존재하지 않습니다. 오로지 구동에 필요한 패키지만 있는 것이지요. 이 mini-remix를 이용해서 커스터마이징하기 아주 좋다는 것입니다. README.md에 이 mini-remix가 언급이 되어있을 정도로 이 도구는 최적화된 가벼운 OS를 만들기에 정말 좋습니다.


정말 Advanced한 커스터마이징 도구이다. 졸업작품도 이 물건 없었으면 조금 힘들었을지도?

또 QEMU 버튼을 달아서 QEMU를 설치 했다면 바로 QEMU를 통해 만들어진 라이브OS를 확인 가능하게 했다는 것도 큰 특징입니다. UCK와 비교했을 때 커스터마이징의 범위가 상당히 넓어 진것도 상당히 점수를 많이 딴 항목입니다.


그런데 이 물건도 상당히 큰 단점이 있습니다. 바로 Gambas로 만들어진 GUI입니다. Gambas는 현재 약간의 버그로 인하여 GTK-3.0을 이용할 시 클릭이 한번에 먹히지 않는 버그가 있습니다. 이 버그가 상당히 사람 짜증나게 하는데, 보통 ISO를 여는데 버튼을 두세번 누르고, 배포판 이름을 바꾸는데 클릭 두세번, LiveCD User name 바꾸는데 클릭 두세번, 그리고 커스터마이징되는 OS의 파일을 확인하려면 또 클릭 두세번(Directories메뉴를 클릭 하면 됩니다.) 하다보면 짜증이 당연히 밀려옵니다. 한번에 입력이 되면 좋을 텐데, 그게 전혀 되지를 않고 있는 것입니다. 이 버그가 gambas의 버그인지 GTK-3.0의 버그인지는 잘 모르겠지만, 작업중에 혈압상승을 동반하게 됩니다.


보통 이 도구를 이용해서 커스터마이징을 하는데에는 순서가 있습니다.(굳이 똑같이 할 필요는 없지만)


1) Select ISO 버튼으로 수정할 배포판 iso선택( 우분투 공식 배포판이나 우분투 미니리믹스 iso를 선택하시면 됩니다.)


2) Distribution Name 수정 (그냥 Ubuntu로 두셔도 됩니다.)

3) LiveCD User name 수정(live도 나쁘지는 않습니다. 아니면 root를 쓰시는 분도 계십니다. 버전에 따라 안 된다고 하지만)

4) Hostname 수정 (보통 바꾸지 않습니다.)

5) Release notes URL 보통 바꾸지 않지만 만약 리눅스민트 수준으로 전혀 다른 수정을 하시고 공식 홈페이지를 만드셨다면 여기에 적으셔도 됩니다.


6) Terminal 버튼을 누르고, CLI작업 시작(apt-get 으로 추가 패키지 설치 및 기타 설정 파일 수정)

(6의 작업이 제일 중요합니다.)


7) Desktop버튼은 보통 이용하지 않고 Terminal에서 일련의 작업을 마칩니다. (Install DEB은 apt-get 이나 dpkg -i 명령을 이용하여 처리힙니다.)

8) ReBuild ISO 버튼으로 커스터마이징된 ISO 생성 기본으로 /home 안에 있습니다. 찾아보세요.

9) QEMU로 확인


(참 쉽죠?)


보통 이런 식으로 작업해서 어느정도 끝내면 충분히 작업이 완료 됩니다. 남은 것은 혹시나 모를 버그에 대비해서 준비를 하는 것 뿐입니다. UCK에 비해 조금 어렵기는 하지만 커스터마이징 할 수 있는 것이 워낙 넓으니 약간 전문적인 느낌이 들기는 합니다.


그나저나 느린 반응이 참 안타깝기는 합니다. gambas로 되어있는 것을 PyGTK로 포팅이라도 하면 이 문제가 해결 될 것 같기는 합니다만, 아무도 그럴 생각이 없는 것 같아서 안타깝네요. 심지어 이 도구는 공식저장소에서 퇴출 되었습니다. 더더욱 안타깝습니다. 아마도 Gambas가 업데이트 되는 동안 정작  Customizer가 업데이트 되지 않아서 작동이 안 되자 없애버린 것이 지금까지 남은 듯 합니다. 어쩔수 없습니다. 그냥 github에서 받아서 따로 복사해서 쓰는 수 밖에요. chroot기능을 이용하기 때문에 GUI.gambas 파일을 관리자 권한으로 실행하는 것은 필수입니다.


3, 비운의 Customizer 하지만 그만큼 특이했던 Remastersys

사실 위의 UCK나 Customizer는 모두 별도의 ISO를 이용해서 만드는 커스터마이저였습니다. 그래서 14.04에서 12.04의 커스터마이징도 가능했고, 반대로 다른 버전의 ISO를 이용하는 것이 가능했습니다. 하지만, GUI의 혜택은 전혀 받지 못했습니다. 터미널 작업은 필수였지요. 하지만 Remastersys는 좀 달랐습니다. 괜찮은 방법이라고 생각하면서 애용하기 했던 물건입니다.


더 이상 포럼에 글이 올라오지 않아서 프로젝트를 중단했다는 글이다. 사실 나도 이 프로그램을 쓰면서 포럼에 글 한번 올리지 않아서 좀 찔리는 감이 있다.

Remastersys는 사실 Customizer라기 보다는 Norton Ghost같은 백업 프로그램에 가까운 물건입니다. 즉, 지금 사용하는 시스템을 그대로 라이브DVD화 한다는 것이 특징이었습니다. 여러분이 지금까지 쓰면서 이리저리 끼워넣고 삽질하고 했던 시스템을 라이브DVD(혹은 라이브USB)화 해서 쓸 수 있도록 한 것입니다. 여기에 설치프로그램도 넣어서 그대로 설치하듯이 복구 가능하도록 한 것도 독특한 물건이었습니다. 게다가 사용자 환경도 같이 가져가서 설정도 함께 설치 된다는 것도 특이한 사항이었습니다. (백업이 완벽하게 되어서 기본 옵션으로 하면 그냥 사용자이름과 패스워드까지 백업이 됩니다. -dist옵션을 넣어야 비로소 기존 라이브 환경이 됩니다.)


하지만 이 프로그램은 12.04까지만 지원하고 이후 개발을 중단 했습니다. 만약 소스를 원한다면 기부금을 보내달라고 하네요. 특이하고 마음에 들었지만, 제가 필요로 할 정도는 아니었습니다. Customizer나 UCK로도 어느정도 가능한 작업이었으니까요. 만약 복잡한 OS설치 및 수정이 싫었다면 샀을 지도 모를 일이기는 합니다. 2년이나 지나도록 다시 개발이 되지 않는 것으로 봐서는 그냥 이렇게 사라지는 듯 합니다. 비슷한 컨셉의 오픈소스가 나오기를 희망합니다.


이상 우분투 커스터마이징 도구들을 살펴보았습니다. 초보자에게도 친절하면서 사용하기도 쉬운 UCK, 조금 불편하지만, 커스터마이징 범위가 상당히 많은 Customizer 저는 특성 상 Customizer를 이용했지만, UCK도 상당히 좋은 도구임에는 분명합니다. 여러분들도 나만의 OS 하나 만들어 보시는 것은 어떠신가요?

,

Stepmania(http://www.stepmania.com/)는 DDR이나 Pump it up!같은 댄스 시뮬레이션 게임입니다. DDR과 같은 4방향과 Pump it up! 같은 5방향을 모두 지원합니다. 실제로 Stepmania용 스텝도 인터넷에 많이 돌아다니고, 가정용 장판만 있으면 충분히 할 만한 수준입니다.


특히! 무엇보다 좋은 것은 오픈소스라는 것입니다. 누구나 소스를 열람하고 수정할 수 있습니다. 게다가 라이센스도 GPL이 아니라서 상업용으로 써도 무방합니다. 실제로 Stepmania기반 아케이드가 나온 적이 있습니다. 그것도 자그마치 Pump it up! 시리즈 중 하나로 말이지요. (정확히는 Pump it up! Pro 시리즈 입니다.) 이 외에도 상당히 스텝파일 지원폭도 넓어서 4방향 스텝인 DWI와 2000년대에 나온 Kick it up!(Pump it up! 클론 시뮬레이터)의 파일인 KSF도 지원합니다. 물론 지금은 대부분 *.Sm로 만들어지기는 합니다.


그런데 이 Stepmania가 윈도나 맥은 그냥 바이너리를 주지만 리눅스는 그냥 소스만 덜렁 내줍니다. 하다못해 RPM이나 DEB이라도 좀 주지... 그래서 리눅스에서 쓰기 위해서는 컴파일 작업이 꼭 필요합니다. 이번에는 그 짓을 해보도록 하겠습니다.


리눅스는 어디로 갔지? Any라고 써있으면서 소스만 주는 아...

1. 우선 Stepmania홈페이지에서 소스묶음을 다운로드 받습니다. http://www.stepmania.com/download/

여기에 보시면 위의 스크린샷과 같이 Any라 써있는 범용 소스코드(...)를 다운로드 받을 수 있습니다.

이것을 다운로드 받으면 됩니다. Windows도 Mac도 아니니 당연히 그렇지요.


2. 압축을 풀고 컴파일을 위한 패키지를 미리 설치합시다. 

터미널을 열고 다음과 같은 명령어를 넣으면 됩니다.


sudo apt-get install libasound2-dev libpulse-dev libmad0-dev libtheora-dev libvorbis-dev libpng-dev libswscale-dev libavutil-dev libavformat-dev libavcodec-dev libjpeg-dev libglu1-mesa-dev libgl1-mesa-dev libgtk2.0-dev xorg-dev libxrandr-dev libbz2-dev libglew1.5-dev automake1.10 build-essential curl g++ libfaac-dev libmp3lame-dev libx264-dev libxvidcore-dev


무진장 많은데 저 라이브러리를 다 쓰기 때문에 다 써먹어야 합니다. xorg-dev만 넣어도 알아서 다 따라온다고 하는데 그냥 넣어버리지요.


3. 위에서 다운로드 받은 덩어리(?)의 압축을 풀어서 해당 폴더에 쳐들어가 봅시다.

이 소스를 컴파일 한 뒤에 Songs 폴더를 포함해서 써먹어야 하는 파일들이 모인 곳이니 중요히 여기자. 문제생기면 또 컴파일하면 된다.


4. autogen.sh 파일을 실행하자. 

잠깐 터미널이 지나가고(터미널에서 실행을 안 해도 파일 변화가 보입니다.) Configure라는 스크립트가 생성됨을 알 수 있습니다.

위와 아래를 비교해보자. 약간의 변화가 느껴지는가?

5. configure를 실행해 봅시다. 이왕이면 터미널로 실행하는 것을 추천 드립니다. 만약 중간에 오류가 생기면 어디서 어떤 라이브러리가 부족한 것인지 알 수 있습니다.


6. 이제 터미널이 들어가야 합니다.

 터미널을 이용해서 해당 소스 트리로 들어갑시다. (cd ~~ 아시지요?)

그 다음 다음과 같은 명령을 내립시다.


make distclean

./Utils/build.sh -f -v -j2

(위의 -j뒤의 숫자는 스레드 수입니다. 듀얼코어면 2 쿼드코어면 4를 써주시면 됩니다.

그리고 -f는 동영상 지원용입니다. 만약 최신 소스를 사용하시면 이게 필요없습니다.


7. 이제 컴파일이 다 될 때까지 시간을 보냅시다.


한 번 지켜보자..왜인지 빨려들어갈 것 같은 기분이든다. 괜히 쳐다보지 말고 그냥 다른 짓을 하도록 하자.

8. ~/.stepmania-5.0/Songs 폴더에 내가 하고 싶은 음악들을 몰아넣자.

(그냥 소스트리의 Songs폴더에 넣어도 됩니다.)

특이하게도 폴더트리 구조가 

Songs------Jukebox1-----곡1폴더--곡과 스텝파일

               |                       |--곡2폴더--곡과 스텝파일

               |

               |--Jukebox2------곡3폴더


이러한 형태라서 폴더구조를 이중으로 만드셔야 인식이 됩니다.


9.  ~/stepmania-5.0/Themes 폴더에 내가 쓰고 싶은 테마를 넣자.

(그냥 소스트리의 Themes폴더에 넣어도 됩니다.)

여기는 이중구조 아닙니다. Themes 폴더안에 스킨(테마)하나 폴더 만들어서 그안에 압축풀어 넣으시면 됩니다.


10. 소스트리 루트에 있는 stepmania 파일을 실행하면 끝.

이 제 저것만 실행하면 끝!


11. 메뉴에 추가하거나 /bin에 링크를 만들어 넣는 것은 수동으로 해주시면 됩니다.(네 저 좀 무책임합니다.)



Q: 곡이나 테마파일은 어디서 구하냐구요?

A: 그냥 포럼을 뒤지세요. 상당히 좋은 곡들과 테마들이 넘쳐납니다. 특히 자작스텝의 경우, 개념있는 스텝도 있는 반면 미친듯한 극악의 스텝도 있습니다.

곡 : http://www.stepmania.com/forums/songs/

테마 :http://www.stepmania.com/forums/themes/


Q : 화면이 버벅거려요!

A : OpenGL이 잡히나요? 터미널에서 glxinfo 명령을 내린뒤에 장치가 soft renderer나 softpipe라던가 llvmpipe라던가... 이러면 느립니다. 옵션에서 해상도를 낮추고 이미지 품질을 낮추는 등의 일련의 작업이 필요합니다.


Q : 이거 돈받고 팔아도 되나요?

A : 프로그램은 돈 받고 팔아도 되는데(MIT 라이센스라네요.) 곡이나 테마는 저작권이 걸려있으면 못 팝니다. 물론 전부 자작이라면 가능합니다. 그런데 기본스킨도 저작권 있는것 아시나요?


Q : 발판은 어디서 파나요?

A : 옛날 DDR발판 중고로 구하셔도 되고 그냥 오픈 마켓 뒤지면 나옵니다. 어떤 분은 직접 만들기도 하시더군요. 책받침이나 PE(1T~1.5T정도) 사다가 알루미늄 테이프하고 전선가지고 조이패드나 키보드에 납땜해서 만들기도 합니다.


Q : 층간 소음 어쩌나요?

A : 저한테 묻지 마시고 아랫집하고 직접 이야기 하세요.


Q : 소스 컴파일하는데 너무 오래걸려요. 바이너리를 주세요.

A : 컴파일하는데 요즘 컴퓨터로 2분이면 충분합니다. 제 컴퓨터로 5분이면 컴파일 완료되던데요.


Q : 코나미가 소송 안 거나요? 안다미로는요?

A : 아니 뭘 이런 걸 다 신경쓰세요. 벌써 5.0인데 아직까지 별 소리 없는 것 봐서는 별 문제 없을 겁니다.


Q : 게임이 너무 힘들어요!저 살빠지면 책임지실거에요?

A : 이 사람이 진짜....

,

Gambas는 토마토소스에 야채를 썪어서 만든 매콤한 요리입니다. 보통 뷔페등지에 가면 볼 수 있는 음식이지요. 그런데, 갑자기 우분투 블로그에서 왜 요리이야기룰 하냐고요? 사실 Gambas는 이 요리만 있는 것이 아닙니다. Gambas는 리눅스 환경에서 Basic언어로 GUI를 만들어낼 수 있는 막강한 툴의 이름이기도 합니다.

 하지만, 제작자도 이것을 알고 있어서 프로그램 아이콘이 새우입니다. 토마토소스에 볶은 새우요리인데, 정작 아이콘은 파란 새우네요. 약간 유머와 위트를 섞은 것 같네요.


즉, 이 요리이야기가 아니라 이미지 출처 -http://www.piospaella.com/food/item/gambas-al-ajillo/


바로 이 개발도구 이야기 입니다.


우선 gambas 이야기 하기 전에 Visual Basic이야기를 해야 할 것 같습니다. Visual Basic은 Basic언어를 사용하는 RAD(생산성 향상 개발도구 정도라고 생각하시면 편합니다.)입니다. 우선 쉽기로 유명한 Basic언어를 쓰면서 GUI도 상당히 자유롭게 만들 수 있어서 VIsual Basic은 초보 개발자들에게 입문용으로 많이 추천되어져 왔습니다. 다만, 6.0까지만 그랬고 이후에 나온 VB.net같은 물건은 Basic을 쓰기는 쓰는데 워낙 기능이 많아서 입문용으로 C보다 별로인 물건으로 굴러떨어지고 말았습니다. 실제로 지금도 Visual Basic은 2005이후 버전을 쓰거나(그나마도 대부분 교육용으로 나온 2005 Express을 씁니다.)아직도 6.0을 쓰고 있습니다. 6.0이 가볍기도 하지만, 그만큼 VB.net에서 이것저것 기능을 추가하다보니 문법이 방대해진 것도 한 몫 했습니다. 



Visual Basic 6의 모습, 개발자 친화적이라는 Microsoft의 역작중 하나이다. 출처- 위키피디아



하지만 그 특유의 생산성은 여전해서 아직도 간단한 시리얼 통신을 기기 제어, GUI를 구현하는데 많이 쓰이고 있고, 지금도 막강한 영향력을 발휘합니다. 그러다보니 리눅스나 BSD진영에서도 이러한 Visual Basic스러운 물건이 만들어 지는데 이게 바로 Gambas입니다. 그러나 Gambas와 Visual Basic은 서로 호환이 전~혀 안됩니다. 실제로 Gambas홈페이지(http://gambas.sourceforge.net/en)에서도 Visual Basic과의 차이를 들어가며 설명중입니다.

아는 선배의 부탁으로 gambas로 만들고 있는 측정 프로그램, 이걸 만드는데 하루도 채 걸리지 않았다.


하지만 Gambas도 결국 Basic언어를 쓴 하나의 도구이기 때문에 코드 호환성이 어느 정도 확보가 됩니다. 마음만 먹으면 Visual Basic에서 동일하게 컨트롤을 배치하고 Name을 똑같이 배정한 다음 코드를 그대로 복사-붙여넣기 하면 60%정도는 돌아갈 것입니다. 고작 60%?라고 생각하실 수 도 있겠지만 이 정도면 선방한 셈입니다. Basic을 쓰더라도 Visual Basic와 QBasic은 죽어도 호환 안 되는 것을 생각하면 이거라도 감지덕지입니다. VB나 Gambas나 생산성을 위한 도구니까, 본격적으로 만드는 프로그램에는 적합하진 않습니다. 본격적으로 만드실려면 C/C++나 Python같은 언어로 개발하시는 것이 나중에 기능 추가등에 편리합니다. (Visual Basic으로 제대로 만들어서 판매하는 사람도 있기는 합니다. 언어에 한계란 것이 없어서...) 애초에 OS호환성을 따질 생각이었으면 VB나 Gambas보다는 Python + QTCreator or Glade(GUI를 위한)을 쓰는 것을 추천드립니다. 이 쪽이 나중에 기능 추가를 한다거나 호환성을 확보할 때에는 이쪽이 훨씬 더 편리합니다.


하지만 나중을 위해서가 아니라, 그냥 지금 당장 프로그램을 만들어야 하는데 시간이 없다면 Gambas를 쓰는 것이 100배 낫습니다. 윈도라면 Visual Basic으로 하시면 되고요. 하지만 Visual Basic은 가격도 가격이고, 최근 버전은 너무 더럽게 구동이 느려서 저는 그냥 리눅스 환경에서 Gambas를 씁니다. 원한다면 라이브 리눅스에 Gambas런타임하고 새로 짠 프로그램 넣고 주면 그만이니까요. 지금 당장 데이터를 뽑아내야 하는데 가장 생산성이 좋은 Labview는 가격이 상당한데다가 전용 하드웨어가 필요하고, Python은 Glade나 QTCreator와 조합해야 하는데 못 할 것은 없는데, Gambas에 비해 만드는 것이 쉽지는 않습니다. JAVA도 나쁘지는 않지만 GUI 만들기가 제가 이야기한 것 들에 비해 생각보다 어렵습니다.(Swing은 XML로 뽑아내는 GUI가 없는 것으로 알고 있습니다. 만약 Glade처럼 XML로 뽑아내주는 도구가 있다면 트랙백이나 댓글 부탁드립니다.)


Gambas를 이번에 쓰면서 느낀 것이지만, Visual스러운 개발 환경을 갖추면서 오픈소스란 점은 정말 매력적입니다. 원한다면 뚝딱뚝딱 만들어낼 수 있는 점도 상당히 마음에 들고, 기존 Visual Basic사용자들도 별 무리없이 넘어 올 수 있습니다.(몇몇 문법차이는 배우면 되니까 크게 문제는 없습니다.)


장점만 크게 이야기 한 것 같은데 단점도 생각보다는 큽니다. 우선 Visual Basic의 단점은 모두 물려받았습니다. 컨트롤 부족=개발단계 급증가를 의미합니다. 아니, 컨트롤을 개발해야 하는 입장이 된다면 그냥 Basic을 버리고 C/C++만으로 넘어가는 것이 훨씬 좋습니다. 처음부터 C/C++로 개발을 하면 중간에 Basic을 끼워넣어서 두번 거치게 하는 것보다 더 쉽게 처리 가능합니다. 물론 나중을 위해서 컨트롤을 미리 개발할 수도 있겠지만, 만약 비공개 프로젝트라던가, 단순 레포트제출용 데이터라던가 하면, 이 과정은 그냥 '삽질'일 뿐입니다. VB.net은 이를 해결 하기 위해서 오만가지 잡다한 것들을 다 넣어놓았는데, 도리어 Basic하지 못해지면서 사람들에게 외면을 받고 말았습니다. 2005 Express부터는 그 기능을 그대로 가져오면서 필요없는 것들을 가리는 등의 Basic한 면을 돌려놓았다고는 하는데 이미 Basic세상은 C#이 점령해가고 있었습니다.(아아...Basic은 이렇게 몰락해 가는가....) Gambas도 마찬가지로 VB.net수준으로 만든다면 사람들에게 외면 받을 것입니다. 그러다보니 컨트롤이 좀 부족하다는 느낌이 들 때가 있습니다. SDL같은 물건도 지원하는 굉장한 능력은 지녔지만, 저는 SDL기능을 쓴 적이 없네요. 아니, 사실 쓸 일이 없었던 것일지도 모르겠습니다.


또 다른 단점으로는 OS호환성 문제가 있습니다. 즉, 호환성이 문제를 일으킨다는 것인데 우선 Gambas는 BSD와 리눅스에서 GUI Basic을 사용하기 위한 것으로 출발 했기 때문에 윈도는 전혀 지원하지 않습니다. 특히 Xorg에 거의 대부분 의존하고 있기에 Xorg를 사용하지 않는 다른 OS는 절대로 지원이 안 된다고 합니다. OSX도 Xorg가 그나마 설치가 되기 때문에 그럭저럭 쓸 수는 있지만, OSX는 Xorg의 구동이 매우매우매우 답답하게 돌아가기 때문에 별로 추천하지 않는 다고 하네요. 윈도는 Cygwin에서 GUI를 제외하고는 구동이 된다고 합니다. 그런데 GUI 안되면 왜 Gambas로 개발하나요? 그냥 Python으로 만들던가 Bash스크립트 만들어내지.... 구글을 통해서 알아보니 다들 그냥 가상화해서 리눅스 올려 쓰라고 하네요.

OS호환성 말고도 버전별 호환성문제도 있습니다. 하지만 이 버전별 호환성 문제는 JAVA나 Python도 겪고 있는 문제이니 Gambas만의 문제라고 볼 수는 없습니다. 게다가 Python 2.7이 Python3.x 보다많이 쓰이면서 구 버전을 기본을 설치하는 등의 일도 일어나지 않고 있습니다. Gambas2.x보다 Gambas3.x가 훨씬 더 많이 쓰이고 훨씬 더 많이 포럼에 글이 올라옵니다. 그냥 기존 Gambas2프로젝트를 Gambas3로 바꾸는 것이 더욱 이득이 되는 상황이라 이것은 그냥 단점을 상쇄하네요.


리눅스와 BSD에서 Visual Basic같은 도구를 찾으신다면 당연히 Gambas를 설치하세요. 만약 Visual Basic을 쓰셨다면 더욱 금상첨화입니다. 어쩌면 이 새우요리가 여러분의 프로젝트를 빠르게 성장 시킬 동력이 될 수도 있으니까요.

,