리눅스를 다른 사람들에게 별로 추천하지 못하는 이유 중 하나가 응용프로그램, 그 중에서도 게임이 안 된다는 것이 주 원인입니다. 우분투 8.04 시절에 Compiz의 화려한 효과를 보여주면 사람들은 우와~ 했지만 언제나 돌아오는 질문은 "근데 이거 게임 되냐?"였습니다. 그 당시에 제가 할 수 있던 대답은 하나였지요.


"스타 정도는 삽질하면 돌아가."


네 삽질 좀 해야 스타가 돌아가던 시절이었습니다. 물론 스타가 돌아간다는 사실 만으로도 행복하던 시절이기도 했지요. 물론 리눅스용 게임으로 퀘이크가 있기는 했지만 지금이나 그때나 퀘이크는 아는 사람만 아는 게임이었습니다. 퀘이크라고 해봐야 "그게 뭔데?"라는 질문만 돌아올 정도였으니 예시로 들기에는 부적절했습니다. 그래서 하는 수 없이 그 당시에도 꾸준한 인기가 있었던 스타크래프트를 예로들었지요.이후에 Wine이 꾸준히 개발되며 호환성을 상당히 확보했고 표준 Windows API가 아닌 특이한 방법으로 만들어진 게임이 아닌 이상 어쨌건 게임이 되긴 되는 시대까지 되었습니다. Wine이 거의 완벽한 호환성을 갖추게 된 때가 아마도 2009~2010년이 되었을 때였을 것입니다.


그리하여 Wine을 이용해서 수많은 윈도용 게임을 리눅스에서 할 수 있게 되었습니다. 물론 패키지게임의 경우 DRM들이 문제를 왕창 일으키기는 했지만 No-CD, No-DVD 패치들이 인터넷에 돌아다녔기 때문에 보통 이를 이용해서 해결했습니다.


우분투 10.04시절 롤러코스터 타이쿤3 구동 스크린샷 저의 Daum블로그에 올렸던 스크린샷입니다. 그래픽은 기본 wine으로 구동 음악은 DirectX9 라이브러리 설치후 설정으로 해결

어쨌건 이제 리눅스에서 게임이 안 된다는 말은 옛말이된지 오래되었습니다. 다만 Wine을 이용한 방법은 생각 외로 복잡해서 설치하는 사람에게 고통을 자주 안겨주었습니다. 그 때 해결 방안을 함께 알려준 물건이 바로 PlayonLinux입니다.(http://www.playonlinux.com) 이전에도 포스팅을 했었지만 PlayonLinux는 Wine만으로 게임하기가 너무 불편하고 힘들자 Wine을 버전별로 관리하게 하고 각 프로그램마다 가상 윈도(즉, Wine의 FakeWindows를 말합니다.)설정을 다르게 해서 게임 별로 관리하기 쉽게 만든 것이 특징입니다. 지금은 게임 외의 다른 프로그램도 지원하지만요.



무엇보다 게임설치에 필요한 라이브러리(DirectX같은 것을 말하는 것입니다.)를 자동으로 미리 설치해주고 설치를 쉽게 하도록 안내해주고 있어서 이 프로그램을 이용하면서 리눅스에서의 윈도 게임은 쉽고 빠르게 즐길 수 있게 됩니다. 사실 PlayonLinux 이전에도 Wine을 편하게 쓰기 위해서 많은 시도가 이루어져 왔습니다. Wine-doors라던가 Cedega(이것은 자체 개발한 유료 라이브러리인 WineX라는 것을 이용합니다.)라던가 많이 있었지만 PlayonLinux와 Cedega와의 차이는 사용 라이브러리가 Wine이냐 WineX냐의 차이였고 Wine-doors는 그냥 Wine을 GUI로 쓰고자 하는 경우에 가까웠습니다. winetricks(https://code.google.com/p/winetricks/)를 통해 라이브러리르 설치하는 것도 물론 없었고요. PlayonLinux의 설치스크립트 같은 것은 없었습니다. PlayonLinux가 지금은 게임 만큼이나 다른 일반 프로그램설치도 지원하지만 지금도 게임이 제일 많이 리스트에 있습니다. 그것이 사실 처음에는 게임에 특화 시켰던 흔적 이라고도 볼 수 있습니다. 


하지만 PlayonLinux는 모든 게임을 자동으로 완벽하게 해주지는 못했습니다. 바로 No-CD,DVD패치가 법적인 문제가 있어서 이용자가 따로 패치를 하도록 구성을 할 수밖에 없었기 때문입니다. "패치만 해주면 되는데 상관없지 않나?"라고 생각하시는 분들도 있을 수 있는데 처음 쓰는 사람에게는 그것도 은근히 고역입니다. 게다가 No-CD,DVD패치를 구글링 해야하는 수고도 필요했고요. 그런데 이때 DRM-FREE를 표방한 사이트가 등장하게 됩니다. 바로 GOG.com입니다. 이 GOG.com에서 파는 게임들은 따로 패치를 하는 수고로움이 없어졌기에 PlayonLinux에 리스트업됩니다. 이 때 상당히 업데이트가 잦았던 것으로 기억합니다. GOG.com에 새로운 게임이 올라오면 그 순간 새 설치리스트가 올라올 정도였습니다.


DRM-FREE게임을 판매하는 GOG.com 이제는 윈도용 뿐만 아니라 리눅스게임도 팔고 있습니다.


이제 리눅스에서는 Wine의 힘을 얻고 윈도용으로 출시된 게임들을 할 수 있게 되었습니다. 하지만 인간의 욕심은 끝이 없지요. 컴퓨터의 최고 성능을 끌어내야 하는 게임에서 Wine을 한번 거쳐야 한다는 사실은 게임에게는 좀 부족했었던 것 같습니다. 특히 네이티브 리눅스 지원게임과 윈도게임을 Wine으로 돌리는 것은 정말 큰 차이가 났습니다. 이후로 리눅서들은 리눅스 네이티브 게임을 갈망했는데 이를 한번에 뚫어준 것은 다름 아닌 세계 최대 게임유통사(?) Valve였습니다.

스팀에서 팔고있는 리눅스 지원 게임들 자그마치 600여개가 넘어간다. 그 중에서 문명5도 포함되어져 있다.

Valve는 아시는 대로 Steam이란 거대 유통망을 가지고 있는 회사입니다. 그리고 PlayonLinux에 따로 Steam이 있을 정도로 Steam을 이용한 게임을 돌리기 위한 노력도 정말 많이 있었습니다. 그런데 어느날 Valve는 Mac용 Steam을 발표하면서 FAQ부분에 의미심장한 부분이 추가되게 됩니다.


Q : Linux용은 없나요?

A : 아직 Linux용은 개발되지 않았습니다. 하지만 Wine을 이용해서 Windows용 Steam을 실행해 볼 수 있습니다.


정말 이렇게 나와있었습니다. 아마도 Mac용이 출시 된다고 했을 때 Linux용에 대한 문의가 많았던 것 같습니다. 그래서인지 Wine으로 실행이 가능하다고 친절(?)하게 답을 달아주었습니다. 실제로 이 때 Wine으로 Valve사 게임은 충분히 돌아갔으므로 틀린 말은 아니었지요. 하지만 이 일이 기폭제가 되었을지는 잘 모르겠습니다. 어느날 Valve는 갑자기 Linux용 Left4Dead2를 시연하면서 Linux용 Steam을 발표하게 됩니다. Steam의 전부는 아니지만 Steam의 이용 목적이라고 할 수 있던 Valve사의 게임을 Linux로 포팅 하겠다는 발표도 빼놓지 않았습니다. 리눅스 커뮤니티는 전부 뒤집어졌습니다. 어떤 분은 이런 글을 남기셨더군요.

"Valve가 리눅스로 도망간 내 지갑을 또 노리고 있다."

어쨌건 이로써 Lefrt4Dead나 TeamFortress2 등의 굵직한 게임들이 리눅스 네이티브로 출시되게 되었습니다. 물론 리눅스용이 따로 있었던 게임들도 Steam을 통해서 리눅스용을 구입할 수 있게 되었습니다.

 사실 이렇게 되어버린 것도 시장경제논리에 따른 것입니다. 그 원인은 Microsoft가 만든 것이고요. 무슨 말이냐면 Microsoft가 WindowsStore를 Windows8에 끼워넣자 Valve는 Steam의 영향력이 줄어들 것이라 생각하고는 Windows외의 도피처를 생각하게 됩니다. 사실 Microsoft의 윈도 끼워넣기로 잘 나가던 회사가 망한 것이 한둘이 아님을 감안하면 충분히 예상은 가능했지요. 이 때 Valve가 생각한 것이 바로 리눅스였던 것입니다. MacOSX도 있지만 어차피 얘네도 앱스토어가 있어서 자신들이 직접 게임을 팔겠다고 나서기 충분한 상황이었습니다. 지금도 실제로 팔고 있고요. 그 다음 플랫폼은 바로 리눅스입니다. 점유율은 다른 OS에 비하면 박살이기는 했지만 충분히 경쟁력은 있다고 생각했음이 분명합니다. 어쨌건 Valve는 결국 리눅스 중에서도 특히 데스크탑용으로 많이 쓰이는 우분투 용으로 Steam은 출시되게 됩니다. 그리고 우분투 게이머들은 환호했구요. (물론 그들의 지갑은 가벼워졌다고 합니다.)


그런데 Valve는 Microsoft를 보면서 한 가지 더 생각한 것이 있었던 것 같습니다. Microsoft가 자신의 플랫폼을 가지고 시장을 좌지우지 한다고 판단한 것인지 Vavle는 리눅스를 기반으로 한 SteamOS를 발표하게 됩니다. 이미 자사 게임들을 리눅스 용으로 내놓았고 리눅스용 게임도 충분하니 이 SteamOS도 크게 꿀릴 것인 없다고 판단한 모양입니다. 아니면 Steam의 점유율을 새로운 플랫폼 창조로 잇겠다는 극히 Valve스러운 행보일 수도 있고요.


이 SteamOS는 리눅스를 기반으로 한 또 다른 OS이기도 하지만 오로지 Steam만을 위한 OS이기도 합니다. 사실 일반 적인 리눅스 데스크탑에 Steam을 설치한 것과는 크게 다르지 않습니다만 필요한 것만 설치하고 다른 것은 일체 배제함으로써 OS를 게임용으로 최적화를 가능케 한 면이 있지요.


그리고 이 SteamOS를 기반으로 소위 SteamBox란 것도 있고 터치패드를 이용한 Steam용 게임패드도 개발중에 있습니다. 즉, Steam을 이용해서 거실의 최강자 Microsoft와 Sony 그리고 Nintendo의 자리까지 노리겠다는 수로 보입니다. 어찌보면 Micorosoft에게 복수한 것이 아닐까 생각이 들 정도네요.


하지만 이 SteamOS의 성공을 판가름할 열쇠도 다름 아닌 리눅스용 게임들입니다. Valve는 WindowsPC에서 스트리밍해서 플레이 가능케 하겠다고 하는데 그래봐야 리눅스 네이티브 보다 성능이 떨어질 것은 뻔합니다. 다시 한번 말씀드리지만 게임이란 하드웨어의 성능을 제일 많이 필요로 하는 프로그램입니다. 스트리밍만으로 부족할 가능성이 높습니다. 무엇보다 아직까지도 스트리밍이 구현되었다는 소리를 못 들었습니다. 스트리밍의 성능이 어느정도 나올지는 일단 나와봐야 알 것 같고 현재 SteamOS에서 돌아가는 것은 오로지 리눅스용 게임들 뿐입니다. 이 게임 중에 킬러컨텐츠는 얼마나 있을까요? SteamOS가 성공하면 리눅스는 이제 게임하기 어려운 OS가 아니게 될 것입니다. 다른 프로그램을 몰라도 게임하나 만큼은 자신있는 플랫폼이 될 수도 있습니다. 제 나름대로는 이 SteamOS가 꼭 성공하기를 바랄뿐입니다.


제가 리눅스를 처음 접했던 시절에는 정말 게임하기 힘들었습니다. 아니 애초에 게임을 하려고 한 발상자체가 말이 안 되던 시절이기도 했지요. 그런데 이제 7년정도 지나가니 리눅스가 게임 전용 플랫폼이 되기도 하네요. 덕분에 요즘에는 몇몇 친구들 한정해서 우분투 써보라고 하기도 합니다. 왜냐하면 게임도 잘 돌아간다고 얘기해 줄 수 있거든요.

,


윈도를 사용하는 사람들은 CCleaner같은 프로그램이나 V3 Lite같은 프로그램에 붙어나오는 스위퍼 기능을 애용합니다. 인터넷캐시나 레지스트리에 남은 쓰레기값 그리고 백업파일(*.BAK) 등을 깔끔하게 삭제하기 위해서 해당 프로그램의 기능을 활용합니다. 그런데 우분투도 데스크탑OS이다보니 캐시나 로그등이 많이 남습니다. 어쩌면 우분투는 로그를 정말 잘 남기므로 오류가 뜨거나 약간의 경고도 로그가 꽤 많이 남습니다. 그런데 데스크탑 쓰는 사람치고 로그를 유심히 보는 사람은 극히 드물 것입니다. 만약 오래된 로그라면 더더욱 쓸모 없을 것이고요. 이런 로그나 캐시파일들 솔직히 말해서 정말 쓸모없는 것들이지요? 이런 것들을 한꺼번에 처리해 줄 수있는 프로그램이 필요했지요.

그래서 깨끗한 우분투 환경을 조성하기 위해 이 프로그램을 소개합니다. BleachBit!


깨끗한 우분투 환경이라고 했지만 이것으로 깨끗해 진다는 보장은 없습니다. 윈도에서 아무리 CCleaner 돌려봐야 포맷하고 다시 설치하느니만 못한 상태가 되는 것과 비슷하다고 볼 수도 있습니다. 아니 까놓고 말해서 집을 대청소한다고 그 집이 새집이 되는 것은 아니잖아요. BleachBit는 말그대로 그냥 청소프로그램일 뿐입니다. 환상은 접어두고 단순히 어떤 것들을 청소해주는 지 확인 해 봅시다.


일단 저 같은 경우에는 Flash와 LibreOffice의 캐시들이 있군요. Flash캐시는 보통 광고들을 통해서 들어온 경우가 많습니다. 당연히 쓸모없는 것입니다. 삭제를 해주셔야 합니다. 쿠키도 물론 해당 사이트에서 필요로 한 경우입니다. 삭제 해주시는 것이 좋습니다.

APT는 여러분들이 소프트웨어 센터를 사용하면서 생긴 각종 패키지들 정보와 업데이트 정보, 그리고 다운로드 받다가 에러 나서 버려진 캐시 등을 말합니다. 특히 autoclean과 autoremove는 더 이상 이 시스템에서 있을 이유가 없는 패키지들을 삭제해 주는 역할을 합니다. 몇몇 라이브러리를 필요로 인해 자동으로 설치 했지만 이후에 해당 라이브러리를 이용하는 프로그램을 삭제해서 해당 라이브러리가 쓸모 없어진 경우, autoremove 옵션으로 삭제가 됩니다. (APT는 정말 귀찮은 곳을 잘 긁어주는 프로그램입니다.)

Bash 사용기록은 터미널을 이용해서 쉘 스크립트를 실행하거나 쉘 명령을 이용 했을시에 쌓이는 것입니다. 남겨도 나쁠 것은 없지만 남겨봐야 쓸모없습니다. 왜냐하면 이 기능은 서버에서나 쓰일 법한 기능이니까요.

X11디버그로그 당연히 데스크탑 용으로 쓰는 엔드유저에게는 전혀 쓸모없는 파일입니다. 만약 에러가 나서 물어볼 곳이 필요하다면 모를까(보통 에러와 함께 로그파일을 달라고 합니다.) 잘 쓰고 있다면 갖고 있을 이유가 하등 없습니다.

그 외에 시스템도 있는데 시스템에서 몇몇 기능은 최적화 작업을 동반하기 때문에 상당히 시간이 오래걸립니다. 거의 조각모음 한다고 생각하시면 됩니다. 특히 저 메모리 최적화 부분은 솔직히 안 해도 될 정도로 요새 램 용량들이 워낙 커서 할 이유가 더 더욱 없어집니다. 예전의 윈도98시절의 메모리 청소기도 아니고 쓸 이유가 하등 없지요.


만약 오래 걸릴 작업이라면 BleachBit가 알아서 오래걸릴 작업이라고 알려줍니다. 그러면 그냥 안 하시면 됩니다. 굳이 할 필요 없어요. 다른 캐시나 로그 파일 삭제만으로도 상당한 양의 용량이 확보 될 것입니다. 우분투나 윈도나 어차피 사용자의 사용 경향에 맞게 점점 나아지는 운영체제라(XP시절부터 Prefetch란 것이 있었지요. 우분투는 그러한 기능이 없지만 사용자들이 삽질해서 만들어가지요.)잘 쓰고 있다면 굳이 싹싹 지울 이유는 없습니다. 다만 쓸모없는 파일을 삭제 함으로써 디스크 용량을 확보하는 것이 주 목적이지요.


만약 우분투 시스템의 디스크 용량이 부족하신가요? 패키지트리가 지저분하신가요? 그러면 BleachBit를 한번 굴려주세요. 우분투가 깨끗해집니다.

,

http://www.ubuntugeek.com/how-to-improve-ubuntu-laptop-power-management.html


우분투는 그 자체 만으로도 상당히 쓸만한 OS이지만 리눅스 특유의 ACPI정책덕에 전력을 많이소모하는 것으로 유명하다. 발열도 윈도에 비해 많은 편이고 배터리 소모율도 상당한 편이다. 그래서 laptop-mode-tool이라던가 커널패치를 통해 CPU전압을 조절하는 등 많은 시도가 있어왔고 이를 하나롤 처리해주는 패키지를 소개하고자 한다.


이름은 TLP이며 

sudo add-apt-repository ppa:linrunner/tlp
sudo apt-get update
sudo apt-get install tlp tlp-rdw


위의 3줄 명령어로 설치 가능하다. 보면 알겠지만 PPA를 통한 설치이므로 우분투계열이 아닌경우 설치가 어려울 수 있다. 하지만 오픈소스이니 찾아보면 소스를 컴파일함으로써 사용 가능하니 다른 배포판사용자들도 충분히 사용가능하리라 믿는다. 그도 그럴 것이 여기는 우분투 사용관련 블로그이다.


sudo tlp start


위 명령어를 이용하여 바로 작동이 가능하다. 특히 tlp가 관리하는 것이 배터리모드와 AC모드의 구분 및 바로 절약모드 돌입이다. 우선 적으로 AMD GPU의 low전압모드가 있고 성능은 떨어지더라도 발열량을 극히 줄일 수 있어서 상당히 괜찮게 만들어진다. 그외에 사운드카드의 절약모드의 경우 소리가 안 나고 있을 경우에는 전원을 차단해서 배터리를 절약하는 방식으로 돌아가며 일부 보드나 노트북은 무선랜 사용시 자동으로 전원 차단을 해줘서 전원절약을 극대화 시켜주기도 한다. 사실 이 기능들은 모두 우분투에 기본적으로 들어가 있는 기능들이지만 이를 모두 활성화 해주려면 상당한 삽질이 필요하다. 이것을 한번에 해주는 것이 바로 tlp이다.


이 설정도 /etc/default/tlp파일을 수정함으로써 AC전원에서 절약모드로 들어갈 수도 있다. 만약 발열이 심하다면 이 설정을 손을 대는 것도 나쁘지는 않다. 물론 관리자 권한으로 수정해야 하므로 sudo명령은 필수다.


만약 뭐가 뭔지 모르겠고 난 그냥 발열만 잡고 싶다면 AC와 배터리를 똑같이 설정해주면 된다.


# Seconds laptop mode has to to wait after the disk goes idle before doing a sync.
# Non-zero value enables, zero disables laptop mode.
DISK_IDLE_SECS_ON_AC=0
DISK_IDLE_SECS_ON_BAT=2 


이 기본 설정이라면

# Seconds laptop mode has to to wait after the disk goes idle before doing a sync.
# Non-zero value enables, zero disables laptop mode.
DISK_IDLE_SECS_ON_AC=2
DISK_IDLE_SECS_ON_BAT=2

으로 바꿔줌으로써 상당한 하드디스크 발열을 잡을 수 있다.


다른 모드도 비슷하게 작동하니 숫자를 조절해가면서 성능과 발열을 조절하면 우분투에서도 상당히 전력소모량을 줄일 수 있게 된다.


만약 지금 설정을 보고 싶다면 터미널에서

tlp-stat

이 명령만으로 충분히 확인 가능하니 직접 시도하면서 삽질을 해보자. 이런 재미에 우분투로 삽질하는 것 아니겠는가?



,

출처는 https://launchpad.net/~kendatsuba/+archive/ubuntu/starcraft/+packages 이곳이고 패치는

wine1.2_1.1.42-0ubuntu4_1.1.42-0ubuntu4starcraft1.diff.gz

인데 버전을 보면 1.1.42버전용임을 알 수 있습니다. Playonlinux를 이용하면 충분히 다른 버전 Wine을 이용해서 굴릴 수 있으므로 지금 시스템에 설치된 Wine은 별로 신경 쓰실 필요는 없습니다.

http://sourceforge.net/projects/wine/files/Source/wine-1.1.42.tar.bz2/download

여기서 1.1.42버전의 소스를 받은 다음 압축을 풀고 패치파일을 압축을 푼 폴더에 넣어줍니다.

그 다음 patch -p1 < wine1.2_1.1.42-0ubuntu4_1.1.42-0ubuntu4starcraft1.diff

라고 해주시면 와인에 패치가 됩니다. 그다음

make

그리고 Playonlinux를 설치 하셨다면 ~/.PlayOnLinux/wine/linux-x86 (32비트기준 64비트라면 linux-amd64입니다.)에다가 폴더 하나 만들어서 컴파일된 결과물을 넣어주시면 됩니다.

그런데 컴파일 하기 귀찮으시면 위의 출처 들어가셔서 deb파일을 다운로드 받은 다음 똑같이 압축 풀어주셔도 됩니다. 사실 이것이 훨씬 더 편합니다. 그리고 스타크래프트를 설치후에 돌려주시면 됩니다.윈도7에서 색상 깨지는 것과는 다르게 상당히 잘 됩니다. 특히 패치중에 스타크래프트용 속도패치가 들어가 있어서 딜레이도 상당히 줄어듭니다.

참고사항 : 스타크래프트2는 어떻게 돌리냐고 하시는 분들도 있을 것 같은데 Playonlinux에 이미 있습니다. 그것으로 설치하시면 잘 됩니다. 스타크래프트1은 Playonlinux에 들어가있는 녀석이 속도패치가 되어있지를 않아서 따로 설명을 하는 것입니다.

,

이 글은 2012년 10월 27일에 제 다음블로그에 있던 글을 가져온 것입니다. 지금하고 약간 안 맞을 수도 있습니다. (하지만 저는 아직도 이 방법대로 만들어서 사용하고 있습니다.)

컴퓨터를 10년이상 굴리다보니 친구나 친척을 통해서 낡은PC가 잘 굴러들어온다. 소음도 엄청 크고 가끔 터질지 모르는 시한폭탄같은 물건도 있지만 그것 중에는 버려두기 아까울 정도의 물건도 있다. 특히 내가 어딘가에서 3만원주고 구입한 인터넷PC가 그러한데 우리은행이라 적힌 것을 봐서 고객편의용으로 굴리다가 용산에 내놓은 것으로 보였다. 어쨌건 생각보다 깨끗한데다가 조용한 편이라(120mm 팬 하나로 냉각을 끝낸다.) 토렌트머신 및 NAS대용으로 굴리고 있다. NAS용으로는 그냥 Pydio/AjaXplorer 를 이용하면 NAS대용으로 충분히 굴릴 수 있다. 이건 쉬우니까 설명 안 한다. 

일단 이제는 쓰지않는 낡은 PC에 하드를 큰걸 넣고 깨끗한(?)리눅스를 설치한다. 제일 좋은 것은 역시 우분투서버버전이나 X없는 데비안, 그리고 센트OS정도? X를 쓴다면 내가 이 글을 올릴 이유가 없을 정도로 쉬울테니(마우스로 딸깍거리기만 하면 바로 웹컨트롤이 되는데 굳이 이렇게 글을 올리겠는가...)

설명 기준은 우분투(혹은 데비안)기준이다. 다른 OS를 쓴다면 설정파일이나 몇가지가 다를 것이다.

(트랜스미션 홈페이지에서 데비안만 따로 설명하고 있다. 설정파일이 다른곳에 있다고(...))

일단 

sudo apt-get install transmission-daemon

으로 트랜스미션의 데몬(서버버전?)을 설치한다. 그리고 설정파일을 수정하기 위해서 서버를 중지시켜야 한다. 중지 명령어는

sudo /etc/init.d/transmission-daemon stop

이러면 서버가 중지되었다고 뜬다. 서버를 중지시키는 이유는 아파치와는 다르게 일단 데몬이 죽지 않으면 설정파일을 원래대로 돌려놓기 때문이다.

이제 /var/lib/transmission-daemon/info/setting.json 파일을 편집한다.

sudo nano /var/lib/transmission-daemon/info/setting.json

(만약 나노를 쓴다면 이렇다는 것이고 vi를 원한다면 nano 대신 vi를 쓰면 될것이다. 참고로 vi는 초보자에겐 엄청 버겁다...)


쭈욱 내려가다가 rpc-whitelist란 항목이 보이는데 이부분을 true에서 false로 고친다. (외부에서 웹으로 접속하기 위함이다.)

포트도 바꾸려면 포트도 바꾼다. 기본포트는 9091이다.

rpc-username과 rpc-password도 원하는 것으로 고친다. 이 항목은 웹으로 접속할 때 필요한 로그온과정에서 물어볼 것이다. 잘 기억하자.

그리고uname umask의(감사합니다 욱이님 수정했습니다.) 숫자를 18에서 0으로 고치자. 이래야 777로 누구나 수정 가능한 권한이 주어지게 된다.

일단 여기까지만 해도 상관없다. 나머지는 웹으로 접속한다음 설정해도 충분히 설정이 가능하기 떄문에...

다시 서버를 실행한다. sudo /etc/init.d/transmission-daemon start

그리고 웹브라우저로 서버에 접속해보자.

http://(서버주소):(포트번호 기본은9091) 

이 러면 유저네임과 패스워드를 물어볼텐데 아까 설정한 이름과 패스워드를 입력해보자. 이제 웹으로 토렌트를 충분히 컨트롤할 수있게 되었다. 더 많은 설정을 하고 싶다면 아래쪽의 톱니버튼을 누르고 Preference를 누르면 더 설정이 가능하다. 예를 들면 다운로드 폴더라던가 속도라던가.

안드로이드에서는 TorrrentFu같은 어플리케이션으로 컨트롤이 가능하다. 아니면 Transmission-remote같은 것도 괜찮다. 아이폰도 있을텐데 이건 내가 아이폰이 없으니 알아서 앱스토어를 잘 뒤져보시라. 정 짜증나면 그냥 웹브라우저를 이용해도 충분히 컨트롤 가능하다. 다만 PC용 웹화면이라 확대축소가 불가피하다.

써보니 Transmission 의 큰 문제가 있었다. Transmission으로 받은 파일은 소유주가 Transmission이고 덕분에 CIFS등으로 접속하면 여길 수정할 수가 없다는 것이다. 그래서 Transmission 계정에 몇 가지 권한을 지니게 해줘야만 했다.

만약 Transmission의 계정명이 debian-transmission이라면

sudo usermod -a -G debian-transmission

sudo chgrp debian-transmission 다운로드폴더

sudo chmod 777 다운로드폴더

같은 작업이 필요하다.

,

리눅스 데스크탑에서 매번 겪는 문제중 하나는 바로 한글과 관련된 문제이다. 워드프로세서 한글이 아닌 글자 한글이 문제인 것이다. 지금은 보통 UTF-8이(당연하게도)기본 환경이므로 한글을 띄우는데에 삽질이 필요치 않지만 가끔 EUC-KR을 요구하는 환경이라던지(주로 M$환경에서 작업한 결과물이 이런 식이다.) 아니면 폰트가 가끔 빠져서 한글을 띄우기는 하는데 네모네모네모로 뜬다던지 하는 현상이 일어나곤 한다.

초기 리눅스 민트의 경우 한글폰트가 빠진채로 배포가 되어서 한국어로 설치를 하면 모든 설명이 네모로 나와서 사람을 고생시키곤 했었다. 그런데 리눅스민트도 아니고 한동안 별 문제를 안 일으켰던 우분투14.04에서 난데없는 한글글꼴문제가 터지고 말았는데 이번에는 이전과 반대로 리눅스민트나 다른 데스크탑환경이라면 별 문제는 없지만 Unity환경을 사용한다면 꽤나 치명적인 문제가 되어버렸다. 나는 리눅스민트로 이미 넘어간지 오래지만 안드로이드 관련 개발을 하는 사람들은 그냥 별 생각없이 Unity환경의 우분투를 사용하고있다. 이런 사람들은 배포판을 업그레이드 했다가 멘붕을 조금 먹었다고 한다. 다행히도 이를 해결하는 스크립트가 나왔다고 하는데 이런 일이 있을 때마다 리눅스 데스크탑을 추천해주기가 민망해진다. 이런 간단한 문제조차 삽질을 하게 만드는데 과연 어떤 사람들이 리눅스 데스크탑을 쓰려고 할까?

게다가 리눅스 점유율을 끌어올려줄거라 믿었던 Steam 리눅스용도 약간 한글 문제를 겪고 있다. Steam자체내에서는 문제가 없는데 Steam용 게임들에서 문제가 일어나는 것이다. 한글로 떠야할 자막이 폰트문제로 네모네모로 뜨는 문제다. 특히 Valve사 게임에서 이런 일이 자주 일어나는데 Source엔진의 문제인 것인지 아니면 리눅스환경 자체의 문제인지는 잘 모르겠다. 엉뚱한 폰트를 자꾸 찾는 것 봐서는 Source엔진의 한글지원 문제로 보인다.

윈도에서 압축을 한 파일의 경우에도 리눅스에서 그냥 생각없이 풀어버릴 경우 한글로 된 파일명이 와장창 깨지는 것을 볼 수 있다. 이것은 Repairer라는 노틸러스 확장이나 wine으로 설치한 반디집으로 해결 가능하다. kozip이라는 것도 개발되었고 반디집의 경우 리눅스데스크탑을 설치하면 Playonlinux를 설치한 다음 바로 설치하는 프로그램이기 때문에(alz와 egg지원을 위해서) 딱히 불편함을 느끼지 못한다. 하지만 이것은 어디까지나 유니코드표준인 UTF-8이 아닌 CP949환경을 사용하는 윈도 때문이며 기존의 호환성을 최대한 끌고가는 윈도 특성상 코드가 갑자기 UTF-8로 바뀔일은 없을 것으로 보인다.

폰트의 다양성 문제는 이미 해결이 된 것을 보인다. 과거 백묵글꼴의 경우 매우 가독성 안 좋고 보기 영 안 좋기로 유명 했는데 언제부터인가 은 글꼴이 나오면서 리눅스에서도 굉장히 미려한 글꼴이 가능해졌다. 물론 그 시절에도 저작권있는 글꼴 가져다가 때려박는 사람들이 있기는 했지만 그런 글꼴이 좋았냐고 하면 그건 그것대로 영 아니었던지라 은 글꼴은 순식간에 한글표준글꼴화가 되어버렸다. 지금은 은 글꼴도 아니고 나눔글꼴이 그 역할을 수행중이며 우분투에서 기본 한글글꼴이 되면서 "나눔"이라는 말에 맞게 상당히 많이 퍼지게 되었다. 윈도에서의 굴림같은 존재가 리눅스에서는 나눔고딕이 되었는데 언젠가는 이 나눔글꼴도 새로운 폰트에 자리를 내놓게 될지도 모를 일이다. 어쨌건 그만큼 한글글꼴은 꽤 다양해진 편이다. 이 점은 그나마 다행이라고 생각한다.

하지만 한글과 리눅스는 별로 친하지 않은 것으로 보아 이를 해결하기 위해서도 리눅스 데스크탑의 점유율이 문제인 것으로 보인다. 매번 한글과 관련하여 문제가 터진다는 것은 그만큼 한국인이 개발에 참여하기 어렵다는 의미이며 한글문제를 메일로 날려도 워낙 수가 적어서 이슈화되지 않는 것도 문제다.그나마 Steam은 좀 확인 하는 것으로 보이는데 이게 해결되기까지 얼마나 걸리게 될지는 알 수 없는 일이다.

한국리눅서들은 오늘도 고달픈 삽질중이다.

,

사람들에게 "리눅스가 무엇인지 아십니까?" 라고 물어보면 100중 30정도는 "안다"라고 하지만, 사실은 리눅스가 그저 까만화면에 커서 깜빡이는 그런 텍스트기반의 OS인줄 아는 사람들이 상당히 많습니다. 그도 그럴것이 리눅스 데스크탑의 점유율은 그저 1%남짓입니다. 

사실 이렇게 되어버린 원인 중 하나는 리눅스의 어마어마한 배포판의 수도 문제라고 하는 사람들이 많습니다. 

참고: https://upload.wikimedia.org/wikipedia/commons/1/1b/Linux_Distribution_Timeline.svg

리눅스 배포판의 타임라인입니다. 2012년 기준이니 지금 이 순간에도 새로운 배포판이 만들어져서 배포되고 있을 겁니다.

그렇기 떄문에 리눅스용 프로그램중 오픈소스가 아닌 경우 우분투나 레드햇 같이 메이저한 배포판을 제외하면 "동작하지 않도록 만든 경우"가 많습니다. 사실 동작하지 않게 만든 것이 아니라 라이브러리나 기타 다른 이유로 인하여 "동작하지 않은 것"에 가깝습니다. 대표적인 예가 한글2008입니다. 이제는 지원도 안 해주는 버려진 OS인 아시아눅스만이 한글2008이 정상적으로 동작합니다. 우분투에서 동작하는 팁 들이 인터넷 여기저기 돌아다니고 있지만  우분투의 버전이 올라가면 올라갈 수록 아시아눅스와 차이가 생기면서 이것저것 문제가 생겼습니다.(다른 것보다 프린터 문제가 가장 시급합니다.) 한글과컴퓨터가 한글을 새로운 라이브러리에 맞춰서 다시 컴파일하면 되기는 되겠지만 그렇게 해 줄 리가 없겠지요. 만약 아시아눅스가 지금까지 개발되고 있었어도 한글2008이 우분투나 다른 배포판에서 정상적으로 작동하리란 보장도 없습니다. 왜냐하면 아시아눅스는 아시아눅스 나름의 라이브러리를 이용해서 만들어진 배포판이니까요.

상황이 이러니 리눅스 용 상용 응용프로그램은 거의 전무한 실정입니다. Steam에서 리눅스용 게임을 상당히 많이 팔고 있기는 하지만 엄연히 말하자면 이마저도 리눅스용이라기 보다는 우분투용이라고 보는 것이 더 맞습니다. Valve에서도 우분투에 최적화된 상태로 배포한다고 했으니까요. 페도라에서 Steam과 Steam 플랫폼의 게임들이 정상적으로 작동하는 영상이 보이지만 Valve의 공식입장은 아닙니다. 페도라와 우분투의 차이가 라이브러리 차이가 많이 나지 않아서 작동하는 것이지 한글2008같이 차이가 벌어지면 작동하지 않을 수도 있습니다.

그래서 다들 리눅스 데스크탑의 실패 이유 중 하나가 바로 이 배포판의 다양함이라고 이야기 합니다. 얼핏 들으면 맞는 말 같습니다. 배포판이 다양하다는 것은 그만큼 개발할 때 테스트 장비가 많이 필요하고 개발비가 더 올라간다고 합니다. 이와 비슷한 일이 안드로이드에서도 일어나고 있습니다. 그런데 안드로이드는 그렇다고 개발비가 어쩌고 하지는 않습니다. 왜냐하면 이미 점유율이 상당히 높고 그만큼의 개발비가 회수되기 때문입니다. 결국 "닭이 먼저냐 달걀이 먼저냐"의 문제가 되는데 배포판의 다양함이 문제라고 한다면 우분투나 페도라 어느 하나의 배포판을 기준으로 개발하고 테스트하면 됩니다. (바로 위에서 예를 든 한글2008이 이런 식으로 개발되어졌고 그래서 지금 문제를 일으키고 있는 것입니다.) 그리고 다른 배포판에는 안 팔면 됩니다. 하지만 리눅스 데스크탑의 점유율은 다 합쳐봐야 1% 뿐. 돈이 안 되니까 개발비 운운하는 것 아닐까하는 생각이 듭니다. 개발비가 회수가 안 되니까요.

이렇게 배포판의 파편화가 문제라고 했지만 리눅스의 장점도 또한 이 다양함이라는 것도 참 아이러니 합니다. 선택의 폭이 넓으니 이걸 장점이라고 할 수 있는 겁니다. OSX는 선택의 폭이 참 좁은 OS입니다. 오로지 애플하드웨어만 이용할 수 있으며 인터페이스는 오로지 OSX 본연의 것만 사용 가능합니다. 윈도우는 반대로 레거시 하드웨어까지 지원하는 괴랄함의 극치를 보입니다. 하드웨어의 선택이 상당히 넓으며 최근 윈도8의 인터페이스가 마음에 안 든다고 별도의 프로그램을 이용해서 시작메뉴를 되살리기까지 합니다. 리눅스는 윈도와 OSX 어디에 가까울까요? 그리고 윈도와 OSX 어디가 더 성공한 OS인가요? 제가 생각하기에 리눅스는 OSX보다는 윈도에 훨신 더 가까워 보이는데요. 결국에는 어느 한 배포판이 윈도 수준의 점유율을 먹지 않는 이상 이 문제는 해결될 것 같지는 않네요.

그리고 리눅스라는 것도 엄연히 말하자면 그저 커널의 이름일 뿐입니다. 저 수많은 배포판들을 보면 리눅스는 정말 많은 수를 가진 OS라는 이야기가 됩니다. 하지만, 저건 그저 리눅스를 이용한 OS들일 뿐입니다. 흔히들 리눅스/윈도우/OSX 가 3대 OS라고 합니다. (데스크탑에 한해서 리눅스는 너무 적은 수준이긴 합니다.) 하지만 저는 리눅스는 그저 커널 이름일 뿐이고 각 배포판은 다른 OS라고 생각합니다. 이렇게 되면 각각의 OS점유율이 정말 처참할 정도로 박살나 버리기는 하지만 각 응용프로그램을 어떻게 개발해야할 것인지 알 수 있게 됩니다. 막말로 "안드로이드와 우분투가 같은 OS인가?" 이와같은 질문의 답은 모두 다 "아니오"일 것입니다.  같은 커널을 썼지만 다른 OS취급을 하듯이 우분투와 페도라도 다른 OS이고 우분투기반인 리눅스민트와 우분투도 다른 OS취급을 해야 할 겁니다. 이러면 파편화 때문에 리눅스는 망했다? 절대로 그렇게 생각 못합니다. 리눅스가 망한 것이 아니라 해당 OS가 망한것입니다. 왜냐하면 점유율이 바닥이라서 그렇습니다. 간단한 문제이네요.

아치리눅스, 우분투, 페도라, 오픈수세, 데비안, 기타 다른 리눅스 배포판들. 어느 하나의 배포판만이 성공해야 "파편화"라 불리우는 "OS난립"의 문제를 해결 할 수 있을 것입니다. 하지만 그렇게는 절대로 될 수 없을 겁니다. 당연하게도 그것이 리눅스의 장점이니까요.

,

한컴에서 리눅스용 한컴오피스 뷰어를 배포중입니다. 이제 wine을 이용한 삽질은 안 하셔도 됩니다. 그냥 아래는 참고하세요.

2016. 2.1 한컴에서 한글뷰어를 삭제했습니다!

https://www.dropbox.com/s/6d3thzhum7uul4r/hwpviewer_9.20.0.347_amd64.deb?dl=0

우분투 14.04 64비트용 deb입니다. 일단 이걸 이용하시길 부탁드립니다.

32비트 사용자분들이나 사용상 문제가 있으신 분들은 아래의 윈도용을 쓰셔도 됩니다.


한글2010을 설치하는 방법을 올렸던 이전글 http://moordev.tistory.com/10 을 통해서 Wine으로 적당히 한글2010을 쓸 수 있었으며 레지스트리 조작을 통해 한영전환까지 완벽히 끝낼 수 있었음을 알 수 있었습니다. 그런데 문제가 하나 있다면 HWP를 PDF로 변환하기가 잘 안된다는 거였습니다. 어차피 한글2014도 출시했으니 한글2014를 사기에는 아직 돈이 부족하고(...) 헌컴뷰어2014를 설치함으로써 HWP최신판에 대응할 수 있게 해봅시다.

Wine1.6.2가 역시 현재로써는 가장 안정적으로 돌아가는 것으로 보이기 때문에 "도구" -" Wine Versions Management" 를 통해서 미리 1.6.2를 설치하도록 합시다.

그 다음 http://www.hancomoffice.com/MainServlet 이곳을 통해서 한컴서포터즈에 가입 후 한컴뷰어를 다운로드 받도록 합시다. 한컴오피스2014 평가판도 다운로드 가능하지만 아직 시도해보지 않았습니다. 파일크기가 큰 탓인지 설치를 시도할 때마다 시스템이 멈추더군요. 평가판은 시스템이 안정화되면 시도해보도록 합시다.

한글2010설치시와의 차이는 gdiplus 라이브러리를 따로 설치해주어야 하는 것인데 영상을 보면 Install Some libraries를 선택하여 POL_gdiplus를 통해 라이브러리를 설치하는 것을 알 수 있습니다. 즉, 이것으로 gdiplus를 와인 시스템에 설치할 수 있게 되었습니다. 일단 설치가 끝나고 라이브러리 설정이 끝나면 별 문제없이 실행되며 한컴뷰어를 통해 hwp문서를 확인 할 수 있음을 알 수있습니다.

만약 pdf화를 원한다면 cups-pdf를 설치하여 가상 프린터를 설치한 후에 $HOME/PDF 폴더를 만듦으로써 인쇄기능을 통한 PDF파일 저장도 가능해집니다. HWP to PDF도 리눅스에서 하기 쉬워졌습니다.

다만 한가지 문제가 있다면 정상적으로 완벽 종료가 되지 않아서(태스크바에 한컴입력기와 아이콘이 남습니다.) PlayonLinux의 Close all PlayonLinux software를 통해서 종료를 해야 태스크바쪽에 좀비처럼 남아있는 한컴입력기가 종료된다는 것입니다. 이것만 아니면 별 문제는 없을 텐데 조금 아쉽기는 합니다. 어쨌거나 HWP2014도 이제 최소한 보는것과 인쇄만이라도 가능해졌습니다.

,

"어?2014년에 왜 한글2010을 가지고 설명하고 그래?" 라고 하시는 분이 있을 것이다. 그도 그럴 것이 한글2014가 세상에 나온지 좀 되었는데 아직도 한글2010을 설치하기 위한 설명을 쓰고 있으니...그런데 하나만 알아줬으면 합니다.

난 아직 한글2014를 구입하지 못했다는 것입니다!한글2010도 엄연히 말하자면 한글2007홈에디션 구입 후에 약속으로 받은 물건입니다.

게다가 아직 한글2010은 2014년 7월 현재 현역으로 쓰이는 곳이 많으므로 한글2010설명으로도 충분하리라 생각합니다. 그리고 한글2014도 이와같은 방법으로 설치하면 잘 될것이라고 생각합니다.

아래는 동영상으로 찍은 한글2010 설치 영상



자세한 것은 영상을 통해서 알 수 있을 것입니다.  

이제 그림의 예를 들어가며 하나하나 설명하고자 합니다.

우선 Wine버전을 1.6.2를 설치합니다. 도구 - Manage Wine versions를 통해서 1.6.2버전을 설치 할 수 있습니다. (시스템에 설치된 Wine과는 관계가 없습니다.)


지금 마우스의 위치를 잘 보자.좌측창에서 원하는 버전을 선택한 뒤에 >버튼을 누르면 Wine을 다운로드 받습니다.


그 다음 설치버튼을 누르고 지금 마우스의 가 위치한 곳의 Install a non-listed program이란 글씨를 클릭합시다.


Install a program in a new virtual drive를 선택하고


새 Prefix의 이름을 써넣습니다. 저는 그저 HWP2010이라 했습니다. 단, 이때 한글을 별로 추천하지 않습니다.


Use another version of Wine과 Configure Wine을 체크하고 다음을 누릅시다.


자 이제 아까 설치해 두었던 1.6.2버전을 선택하고 다음을 누릅시다. 만약 한글2010이 더 안정적으로 돌아가는 버전을 알고 계신다면 댓글 부탁 드립니다. 제가 써본 것들 중에는 1.6.2가 제일 안정적이었습니다.


Wine설정 창이 뜨면 라이브러리 탭을 선택하고 gdiplus를 추가합니다. 네이티브가 내장 앞에 오면 됩니다.


인스톨 파일을 선택하라고 하면 탐색 버튼을 누르고 한글2010의 Setup.exe를 선택합시다. 저는 DVD를 통짜 복사해서 하드디스크에 있는 것을 선택했습니다. DVD의 경우에는 좀 설치 시간이 걸리는 편입니다.

pg-1.bmp라고 써있는 버튼을 누릅시다. 저거 사실은 저 위치에 그림이 떠야 하는데 Wine의 문제로 그림대신 그림 파일명이 떠있는 상태입니다. 사실 설치하는 데는 아무런 지장이 없기 때문에 그냥 넘어갑시다.


V3 Lite 설치 체크를 풀고(리눅스에서는 필요없는 프로그램입니다. 윈도용 백신이니까요) 제품번호 업력후 pg-2.bmp선택 pg-3.bmp는 선택하면 선택형 설치로 들어갑니다. 그런데 선택을 해도 그게 안 먹힙니다. 한셀, 한쇼를 체크 해제했는데도 다 설치가 되더군요.


시작하자마자 갑자기 다 프로세스바가 꽉 찹니다만 사실 그냥 보이기만 그러는 것이고 그냥 기다리셔야 합니다. 아까 다른 버튼은 이상하게 뜨더만 저 취소버튼은 멀쩡히 뜨네요.


그러다 갑자기 에러를 뿜습니다. 이럴 때는 당황하지 말고 그냥 닫기를 누릅시다. 설치는 이미 되어있기 때문에 별로 문제는 없습니다. 에러의 원인은 HWP확장자를 시스템에 등록하는 과정에서 등록이 되지 않아 생기는 문제로 보입니다. 사실 별 문제는 없으므로 그냥 넘어갑시다.


PlayonLinux메뉴에 등록할 실행파일을 선택하라고 뜰텐데 HWP.exe를 선택 후 다음


적당히 이름을 지어줍시다. 단, 이때도 한글은 별로 추천하지 않습니다. 한글도 별문제는 없지만 한글자가 사라진다던가 하는 사소한 문제가 있습니다.


실행버튼을 눌러보면 로고창이 뜨고(검은 테두리는 신경쓰지맙시다. 다른 프로그램에서도 저렇게 뜨곤 합니다.

제품번호를 또 입력하라고 뜹니다. 그냥 시키는대로 합시다. 이 때 사용자 등록도 같이 해주면 됩니다.


정품인증창이 떴네요. 인증키를 알아내서 넣으면 됩니다. 아니면 인터넷 인증을 눌러도 적당히 작동은 하는데 제대로 작동하는 것처럼 보이지는 않습니다. 사실 그냥 취소버튼을 눌러도 실행에는 아무런 지장 없습니다.(...)


그런데 타이핑 하다보면 한/영전환이 안된다는 것을 알 수 있습니다. 원인이 한글은 자체입력기를 이용하는데 윈도에서는 자체입력기 작동시 윈도내장 IME가 동작을 멈추지만 리눅스는 그게 안 되기 때문에 한/영 전환시에 나비나 벼루,ibus등이 같이 전환이 되어서 생기는 문제입니다. 이걸 해결하는 법을 알려드리겠습니다.(영상의 마지막에 이 작업을 합니다.)

메뉴에 추가된 한글2010을 선택후에 위의 구성버튼을 누릅시다.


해당 창에서 Wine탭을 누른뒤에 레지스트리 편집기를 실행합시다.


[HKEY_CURRENT_USER\Software\Wine에 X11 Driver라는 키를 추가합시다.

X11 Driver키 를 선택 후에 오른쪽 창에다 대고 마우스 오른쪽 버튼

새로만들기-문자열을 선택합시다.


이름은 UseXIM으로 합시다.

해당 값을 더블 클릭 한 뒤에 값 데이트를 N으로 지정하고 한글2010을 다시 실행해 봅시다. 한영전환이 자유롭게 되었음을 알 수 있을 겁니다.


현재 잘 안되는 것은 굴림체나 바탕체 등의 시스템TTF한글글꼴의 굵게가 작동하지 않고 PDF저장기능이 작동하지 않습니다. ODF도 물론 작동하지 않습니다.doc저장은 작동하는 듯 합니다. 다음 글에서는 리눅스 동작하에 한글2010파일을 PDF로 레이아웃 변경없이 뽑아내는 방법에 대해 알려드리고자 합니다. 그러나 hwp를 리눅스에서 사용한다는 것 자체가 넌센스가 아닐까 생각이 드네요.



,

이전글 보기 : http://moordev.tistory.com/7





 

 




저번에는 KDE와 Gnome에 대한 글을 적당히적었는데요. (사실 제대로 된 고찰도 아니었습니다.) 이번에는 KDE와 Gnome 각 환경의 기반이 되는 라이브러리인 QT와 GTK에 대한 이야기를 하려고 합니다.

GDI란 라이브러리로 만들어진 데스크탑환경(?)의 대표적인 예

QT와 GTK의 차이를 알아보기 전에 이 라이브러리가 하는 것이 무엇 인지를 알아야할 것 같습니다. 우선 익숙한 윈도에서의 비교가 필요할 것 같습니다. 윈도에서는 프로그램들의 모습이 비슷비슷하다는 것을 알 수 있을 겁니다. 그건 윈도에서는 GUI를 만들기 위해 사용하는 라이브러리가 GDI/GDI+라는 녀석을 쓰기 때문입니다. 사실 이 외에는 생각하기 힘들지요. QT나 GTK로 만들어지는 경우도 없지는 않습니다만 (다음클라우드는 QT로만들어져있고, Gimp for Windows는 GTK for Windows로 만들었다고 합니다.) 작업표시줄이라던가 시작메뉴, 탐색기 등의 구성 오브젝트 들, 시스템의 전반적인 것들이 GDI로 만들어져있기 때문에 윈도용 QT,GTK 프로그램들은 KDE나 Gnome의 경우하고는 다르다고 봐야 할 겁니다. 윈도용 QT, GTK프로그램은 아무래도 KDE에서 돌아가는 GTK 프로그램과 같은 방식으로 돌아간다고 생각하셔도 됩니다. 즉 그래픽 라이브러리란 화면에 그리기 위한 수단 중 하나입니다. 윈도는 기본으로 GDI/GDI+를 통해서 그리는 것이고 KDE는 QT를 이용해서, Gnome과 그 친척들(XFCE,LXDE 등)은 GTK로 그리는 것입니다. 작업표시줄이나 바탕화면조차도 하나의 프로그램이라는 개념으로 보세요. 그리고 그 프로그램은 어떤 라이브러리로 만들어졌는가를 생각해보세요. 그럼 이제 좀 이해가 될 것입니다.


QT와 GTK는 경쟁자라기 보다는 그냥 서로 협력관계로 보시는 편이 맞을지도 모르겠습니다.GTK가 만들어지게 된 배경이 QT로 그래픽 프로그램을 개발하기 어려워서 만들어진 것 입니다. GTK개발후에 만들어지게 된 프로그램이 그 유명한 Gimp이고요. QT의 부족함을 채우기 위해 만들어지게 된 것이니 경쟁자라고 보기는 좀 어렵지요. 지금이야 GTK로 데스크탑환경도 만들지만 당시에는 Gimp를 위해 만들어졌던 라이브러리였습니다. GTK이전에는 QT가 윈도에서의 GDI와 같은 입장이 아니었을까 합니다.

그렇지만 QT는 약간의 맹점이 하나 있습니다. 다름아닌 저작권이 약간 붕 떠있었다는 것입니다. 리눅스의 근간은 Unix였고 이 Unix의 X환경이 라이센스문제로 엉키던 시절(XFree86에서 Xorg로 넘어가던 시절)부터 QT는 노키아가 마지막으로 라이센스를 가지고 있었는데 지금의 LGPL로 바뀌기 전까지는 이 라이센스 문제때문에 오픈소스프로젝트들이 기피하게 되었습니다. 그러다 대안을 찾은 것이 GTK이고 이걸로 데스크탑환경과 각종 프로그램들을 만들어냈습니다. 그래서였는지 QT기반은 좀 오래된 프로젝트들이 많고 GTK기반은 비교적 최근에 시작된 프로젝트들이 많습니다. 사실 GTK가 다른언어로도 여기저기 포팅된 것도 한몫했습니다. QT데스크탑환경이 KDE만 있는것도 이와같은 영향이 아닐까라는 생각도 듭니다.


이전에도 말했듯이 QT프로그램이 Gnome환경에서 돌아가고 GTK프로그램이 KDE환경에서 돌아간다는 말 한적이 있었나요? 사실 이것도 라이브러리만 있으면 돌아가기 때문입니다. 걔중에는 데스크탑환경에 종속된 물건도 있기는 합니다만 (Nautilus라던가 Konqurer라던가 자세히 보니 대부분 파일탐색기류네요.) 데스크탑환경과는 관계없이 라이브러리만 써서 만든 프로그램들이 훨씬 더 많습니다.

대표적인 프로그램이 다음과 같은데

KDE에 GTK설치하게 만든 범인(?)인 Firefox와 Chrome이 있군요.

그리고 Gnome에 QT 설치하게 만드는 VLC미디어플레이어와 SMPlayer가 있습니다. Amarok도 있네요.

그래픽 라이브러리의 선택은 결국 개발자의 몫이기 때문에 사용자 입장에서는 어떤 라이브러리를 쓰든 상관할 필요는 없습니다. 특히 용량이 넘쳐나는 지금 데스크탑환경이라면 KDE에서 Nautilus쓴다고해도 크게 문제는 없어 보이는군요. (Nautilus는 Gnome을 설치해야 돌아갑니다. 그만큼 용량이 넘쳐난다는 의미입니다.)

제 생각에는 그저 리눅스 데스크탑은 사용라이브러리나 최적화를 떠나서 그저 필요한 프로그램을 쓸 수 있는 것이 가장 좋은 것이 아닐까 생각합니다.

,