예전의 Wine+Steam에 관한 글 참조...http://moordev.tistory.com/78

리눅스에서 윈도우용 스팀게임을 위해서는 여러가지 삽질을 해야 합니다.


보통 사용하는 방법이

1. Wine+Steam for Windows

2. Steam bridge (https://github.com/sirnuke/steambridge)

3. 그냥...복돌


이렇게 사용합니다.


3번이야 당연히 안 쓰는 것이 제일 좋은 것이고(무엇보다 스팀에서 구입을 했음에도 복돌을 하는 것은 이상합니다.) 2.은 아직 불안정하다보니 당연하게도 1.을 이용하고 있습니다.


1. Wine+Steam for Windows는 Steam자체는 꽤 안정적으로 굴러가서 상당히 게임이 안정적입니다. 대신 게임에 필요한 일부 라이브러리 때문에 가끔 꼬이는데요.이 꼬임을 최대한 방지하는 것을 알려드리겠습니다.


Wine+Steam for Windows 최대한 안정적으로 사용하기!


1. 우선 Playonlinux를 사용해서 각 게임당 Prefix로 만들어서 관리하는 것이 좋습니다. 이 경우 게임마다 Steam을 따로 깔아둬야 한다는 단점이 있지만 시스템이 꼬이더라도 해당 Prefix만 날리면 되기 때문에 Steam에서 다시 다운로드 받는 슬픔이 줄어듭니다.


각 게임마다 Steam을 따로 설치해서 관리하는 중이다. 라이브러리가 꼬이는 것을 최대한 방지하기 위해서는 이것이 최선이다.


2. Steam에서 다운로드 받은 뒤에 바로 플레이 버튼을 누르지 말자.

_CommonRedist는 시스템에 설치되지 않은 라이브러리를 모아두는 폴더다 Wine에서는 winetricks를 사용하지 않으면 시스템에 에러난다!


위의 스크린샷을 보시면 알겠지만 게임을 다운로드 받은 뒤에 _CommonRedist란 폴더가 존재함을 알 수 있습니다. 여기에는 시스템에 필요한 라이브러리(DirectX나 Visual C++ runtime같은 것)가 있게 됩니다. 그리고 플레이 버튼을 누르는 순간 바로 시스템에 이 라이브러리를 설치하게끔 스팀의 구성은 짜여져 있습니다. 문제는...여긴 Windows가 아닌 Wine입니다. 기본적으로 Wine의 라이브러리를 덮어 버리는 경우가 존재하는데 gdi.dll이나 d3dX.dll 파일은 덮었다가는 Prefix가 골로가버리기 일쑤입니다. 그러므로 해당 라이브러리를 설치하지 못하게 해야 합니다.


방법은...그냥 저 _CommonRedist 폴더를 삭제해 주시면 됩니다. 그 다음에는 플레이 버튼을 누르든 상관없습니다. 만약 Visual C++ Runtime이 게임실행에 필요하다면 winetricks나 Playonlinux의 라이브러리 기능을 써서 추가하는 것이 안정적인 실행에 훨씬 더 도움이 됩니다.


3. 플레이 버튼 대신 실행 파일 직접 실행

플레이 버튼은 스팀클라우드 연동같이 중요한 기능에 매우 중요합니다. 하지만 Wine에 버그가 있다보니 실행이 안 되는 경우가 파다합니다. 그냥 스팀을 실행한다음 게임의 실행파일을 따로 실행해주시는 것이 정신건강에 매우 좋습니다.


그러니까 보통 게임실행을

Steam실행 - Steam의 플레이버튼 클릭

이렇게 했다면

Steam실행 -  Wine의 prefix/drive_c/Program Files/Steam/Steamapps/Common/게임실행파일.exe

이렇게 해주시는 것이 안정적 실행에 도움이 됩니다. 참고로 Playonlinux에서 바로가기로 만들어두면 편리합니다.


4. 스팀오버레이를 끄자.

그냥 필수입니다. 선택이 아닙니다. 키보드 에러의 주범입니다. 그냥 옵션 가서 끕시다.


5. 백업을 잘 하자..

스팀 클라우드가 지원되면 상관은 없는데 그나마도 가끔 에러납니다. 세이브 날리고 눈물 짓지 맙시다.


...이상이 제가 사용하는 방법입니다. 누군가에게는 도움이 되었을까요?

,

세상에는 많은 클라우드 서비스가 있습니다. 제일 많이 쓰이기로 유명한 Dropbox, 보안에 특화된 Box.com, 한 때는 웹하드 서비스였지만 지금은 클라우드 서비스로 전향한 Mega.com, 그리고 국내에는 N드라이브가 있고 서비스를 곧 접는(R.I.P)다음클라우드까지...


정말 이렇게 많은 클라우드 스토리지 서비스중에서 리눅스와 싱크를 제대로 하는 서비스는 별로 없는데요. 그나마 다음클라우드가 리눅스를 지원해주면서 참 애용했었는데 업데이트가 없어지더니 이번에 사업을 접는다고 합니다.아쉬운 일이지만 어쩌겠어요. 보내줘야 한다면 보내줘야지요.


그래서 자료들을 어디로 이사할까 하다가 후보를 좁히던 중 한가지 문제가 생기더군요.


리눅스 지원 클라이언트의 부재....


그나마 드롭박스나 Box.com은 리눅스 지원이 되지만 저는 이미 여기도 용량이 포화상태라(대체 얼마나 써댄건가..) 남은 것을 찾아야 했는데 일단 구글드라이브가 생각이 났습니다. 혹시나 하고 찾아가 봤더니 여기도 리눅스 지원 클라이언트가 없었습니다(...)


아 왜????


그러던 중 찾아보니 오픈소스로 Grive란 놈이 있더군요. 구글이 만든건가 했는데....어라? 아니네요? 심지어 Grive2라 해서 새로이 포크된 물건이 개발중이더군요. 어쨌거나 일단 클라이언트를 찾았으니 이를 써보기로 했습니다.


그런데..이 grive란 물건...GUI가 아닙니다!!!!!!!


서버용으로 나온 물건이더군요. 데스크탑에서도 쓸 수는 있지만 Geek스럽게 써야만 하는 아픔이 있었습니다. 하지만 The Fan Club이란 팀(?)에서 이를 GUI로 구현해 주었습니다. 팀 이름은 애매하지만 가려운곳을 제대로 긁어주네요. 그럼 이제 구글드라이브 클라이언트를 한번 써봅시다!


우선 Grive2를 설치해야 합니다. 우분투 14.04는 구버전만 있으므로 PPA를 등록해서 Grive의 최신버전을 설치합시다.


http://www.webupd8.org/2015/05/grive2-grive-fork-with-google-drive.html

Terminal을 열고 다음과 같이 입력!

sudo add-apt-repository ppa:nilarimogard/webupd8
sudo apt-get update
sudo apt-get install grive


이 방법으로 Grive의 최신버전을 설치합니다. 터미널이 좋거나 아니면 서버용이라면 여기에서

grive setup

명령을 통해 Grive를 설정 할 수있는데요. 우리는 GUI를 쓸 것이므로 추가로 The Fan Club의 PPA를 등록해서 GUI툴을 설치할 것입니다.


https://www.thefanclub.co.za/how-to/ubuntu-google-drive-client-grive-and-grive-tools

Terminal!!!!

sudo add-apt-repository ppa:thefanclub/grive-tools

sudo apt-get update

sudo apt-get install grive-tools


위의 명령을 이용하면 보조프로그램 메뉴에 3가지가 추가됩니다.


1. Google Drive

2. Google Drive Indicator

3. Grive Setup


우선 Grive Setup을 실행해서 구글드라이브와 연동을 하도록 합시다. 의외로 간단합니다. Setup창을 열면 브라우저를 열고 구글로그인을 하고, 나오는 문장을 넣어주는 작업만 하면 됩니다.


무슨이야기 인지는 해보시면 알 것입니다. 어차피 한국어도 지원됩니다.(사실 귀찮기도 하고 또 스크린샷 찍기도 힘들어서 그렇습니다. 해보시면 됩니다.)

그러면 여러분의 홈폴더에 Google Drive란 폴더가 생성되는데 여기에 구글드라이브와 동기화가 됩니다. 여기에 파일을 넣으면 파일이 그대로 구글드라이브에 들어가고 파일을 삭제하면 구글드라이브에서 삭제됩니다.


Google Drive폴더를 열고 싶으시면 위의 생성된 메뉴중 Google Drive를 실행하시면 탐색기류(노틸러스, PCManFM 등)이 실행되면서 해당 폴더가 열립니다.


그리고 제일 중요한 놈이 Google Drive Indicator 입니다. 이게 실행이 되고 있어야 동기화가 자동으로 이루어 집니다. 일단 인디케이터이기 때문에 실행이 되고 있어야 하고 여기서 동기화를 자동으로 하거나 수동으로 동기화를 요청할 수 있습니다.


일단, 작업은 끝났으니 이제 동기화 작업을 진행하실 수 있는데요. 가끔 일부 파일이 동기화가 안되더군요. 그 때는 어쩔 수 없습니다. 웹브라우저에서 올려야 합니다. 이건 다른 클라우드도 자주 겪는 일이니 그렇게 불편하다고 보기는 어렵습니다. 다만 15GB라는 애매한 용량이 좀 걸리네요. 아이디를 왕창 생성해서 공유에 공유에 공유를 거는 방법도 있지만 이건 이거대로 문제가 많은 방식이라....(그 수많은 아이디를 다 관리 하실 수 있습니까?)


그냥....구글드라이브 하나 지를까 생각중입니다. 에효.

,

스위퍼 프로그램이라고 아시나요? 사실 예전부터 이런 프로그램은 많이 있었습니다. CCleaner란 프로그램이 대표적인 스위퍼 프로그램이고 V3라이트나 알약같은 무료 백신에 기능이 끼워넣어져 있기도 합니다. 사실 제일 유명한 스위퍼 프로그램은 윈도 기본 프로그램인 디스크정리일 것 입니다.


이미지를 하나 넣고 싶은데 그럴싸한 자유 라이센스의 이미지가 하나도 없군요!


어쨌거나 윈도에서는 레지스트리나 인터넷 임시파일등을 삭제하기 위해서 이러한 스위퍼류 프로그램이 많이 나왔습니다. 리눅스는 윈도와 달리 이런 스위퍼가 필요없을까요?


제 답은 절대 아니오!입니다.


멀리 갈 것도 없이 인터넷을 하면 당연히 임시 파일은 쌓이게되고 이를 삭제해주는 작업이 필요합니다. 게다가 리눅스는 윈도와 달리 로그를 쌓는 것이 기본 옵션으로 걸려있습니다. (서버용이 태생이라는 흔적입니다. 윈도도 서버용은 로그가 쌓입니다.) 이러한 로그는 기본적으로 몇 년 지나면 쓸모도 없는데다가 데스크탑 사용자들은 그저 용량잡아먹는 귀신일 뿐입니다.


이러한 것을 수동으로 일일이 지우려면 한도 끝도 없을 것입니다. 그래서 Bleachbit란 프로그램이 나오게 되었습니다.



인터페이스는 그냥 그렇습니다. 그냥 흔한 GTK타입의 프로그램입니다. 하지만 자동으로 청소를 해준다는 의미는 강합니다. 정밀 검사 같은 항목은 느리니 안 하시는 것이 정신 건강에 이롭습니다. (하지만 한번 해주면 깔끔하게 사라지는 것을 볼 수 있습니다. 서버에서도 쓸만합니다.)


그리고 유저모드와 루트모드 두 메뉴가 설치되는데 일반적으롤 루트모드로 해야 깔끔하게 삭제 할 수 있습니다. 특히 apt캐시 같은 경우 쓸모없는 것이 있을 경우 루트모드가 아니면 작동 안 합니다. 이건 윈도용 스위퍼도 마찬가지이므로 보통 스위퍼는 루트모드를 추천합니다. 물론 정밀 검사나 국가설정 같은 오래걸릴 것은 안 하는 것이 좋습니다.


저는 한달에 한번 정도 사용하는데 600MB정도가 매번 튀어나옵니다. 뭐 뻔히 apt캐시와 인터넷 캐시일 것입니다. 하지만 이 정도면 스위퍼 역할은 충분히 한다고 생각합니다. 우분투같이 데스크탑 리눅스를 쓰시는 분들이라면 한번 이 프로그램을 돌려보시면 갑자기 확보되는 용량에 윈도 못지 않다는 것을 아실 수 있을 겁니다.

,


리눅스용 스팀과 윈도용 스팀의 공존. 뭐..어쩌겠습니까 윈도용 게임을 하려면 윈도용 스팀이 설치되어야 하는데...

위의 스팀 스크린샷을 보시면 알겠지만 리눅스용 게임이 상당히 많이 나왔다고 한들 아직까지도 윈도용을 따라잡기에는 멀었습니다. 아직까지도 윈도전용 게임이 상당히 많으며 재미있는 것들도 윈도용이 먼저 나오고 그다음 리눅스용이 나올둥 말둥 하기때문에 게임하는데 애로사항이 있습니다.


그렇다고 해서 안 되는 것은 아니기에 윈도용 스팀 게임을 하는 방법을 대충...끄적여 보겠습니다.


우선 윈도용 스팀을 설치하는데에는 PlayonLinux를 쓰는 것이 가장 편합니다.


저 스팀설치 스크립트는 리눅스용 스팀이 나오기 이전부터 존재하던 유서깊은 스크립트다.


사실 그냥 설치해도 큰 문제는 없는데 3가지 Wine 설정을 건드려야 하다보니 그냥 스크립트로 하게 되더군요.


만약 PlayonLinux를 쓰지 않고 수동 설치를 하신다면 설치후에 Wine설정에서 다음 과 같이 설정해야합니다.


dwrite (사용안함)

gameoverayrenderer(사용안함)


이 둘을 하지 않으면 스팀이 실행하면서 에러를 뿜습니다. dwrite가 제일 대표적인 문제아이고 gameoverayrenderer는 게임실행중에 스팀 메신저라던가 알림을 표시할 때 쓰는 것인데 이놈이 키보드 충돌을 일으킵니다. 꼭 죽여놔야 합니다.(...)아니면 스팀 옵션에서 오버레이를 안 쓰게 설정하는 것도 방법입니다.


그 다음...각 게임 속성에서 스팀 클라우드를 쓰지 않도록 하는 것이 정신 건강에 매우 좋습니다.

물론 세이브 파일 관리를 생각하면 클라우드를 쓰는 것이 정신건강에 좋습니다만... 꼭 네트워크나 기타 문제로 세이브 파일이 그대로 초기화 되는 버그가 일부 있습니다. 세이브가 안되면 말짱 꽝이잖아요.


그러니 Wine으로 스팀을 굴리시려면 스팀 클라우드는 꼭 꺼둡시다...

2015.5.25 스팀 클라우드는 라이브러리 관련으로 오류만 없으면 큰 문제는 없네요. 괜히 쓸데없이 DirectX를 설치한다던가 괜히 아무 라이브러리 가져와서 굴리지만 않으면 에러는 나지 않습니다. 그러니까 네이티브 라이브러리를 최소화 하는 것이 제일 좋습니다.


그리고....


winetricks vcrun6 vcrun2005 vcrun 2008 vcrun2010 vcrun2012 vcrun2013


혹은 Playonlinux 에서 라이브러리 탭으로 들어가

vcrun6 vcrun2005 vcrun 2008 vcrun2010 vcrun2012 vcrun2013

요걸 하나하나 설치합시다.


요렇게 해서 Visual C++ Runtime을 모조리 설치해둡시다. 가끔 게임내에서 visual C++ Runtime을 설치하려고 드는 경우가 있습니다. winetricks나 PlayonLinux Helper스크립트를 거치지 않고 설치하면 제대로 설치가 안 되는 경우가 태반이라 미리 싹 설치를 해서 실수로나마 초기화 되는 일을 방지합시다.


만약 조이스틱이나 조이패드를 이용하신다면....스팀을 실행하기전에 미리 연결을 해주셔야 합니다. 안 그러면 Wine이 아에 인식을 안 하더군요.


만약 인식을 해야 한다면...

wine control

위 명령으로 조이스틱이나 조이패드를 인식시킵시다.


Playonlinux를 쓰신다면 구성-명령프롬프트를 열고 control 명령만 내리면 됩니다.


만약 스팀prefix에 모조리 게임들을 몰아넣다보면 네이티브 라이브러리문제 등으로 꼬일 수 있습니다. 가능하다면 게임당 Prefix로 관리하는 편이 좋을 듯 합니다. 각 Prefix당 스팀을 설치해야 하는 문제가 있기는 하지만 게임을 하기위해서 이 정도 삽질은 불사해야 합니다. 안 그러면 게임 못해요. 리눅스에서...

,

Microsoft Office(이하 MSOffice)는 Microsoft의 밥줄이자 모든 사무실 사람들의 적이고 또한 친구입니다.

사무실 직원들을 구원하고 또 구렁텅이에 몰아넣는 프로그램모음이지요.


사실 제가 우분투를 많이 추천하지 못하는 이유 중 하나도 여기에 있습니다. MSOffice는 당연히 여기저기에서 쓰이며 심지어 초중고 학교에서도 쓰이는 프로그램입니다. 이거 못쓰면 컴퓨터 못쓰는 거라고 생각하면 될 정도이지요. 하지만 우분투는 MSOffice가 없습니다. 대신 LibreOffice라는 훌륭한 대안이 있기는 합니다. 문제는 LibreOffice가 MSOffice와 호환성이 2%부족하다는 것입니다.



LibreOffice는 MSOffice에 견주어도 훌륭한 오피스 슈트이며 실제로 업무에서 쓰이는 경우가 많은 프로그램입니다.


어? 그냥 ODP,ODF,ODS같은거 쓰면 안되나? 하시는 분들이 있을 것입니다. 네, 사실 Open Document 포맷을 쓰면 됩니다만, 다른 회사나 관공서와 작업을 하려고 들면 다들 ppt, xls(뭐 이건 크게 문제 없습니다. VBA만 안 쓰면 잘 읽힙니다.),doc, hwp 등으로 보내주기 때문에 이를 읽어서 써먹고 또 이 포맷으로 보내줘야 합니다.


그런데 LibreOffice로 이를 읽으려고 하면 일단 레이아웃이 와장창 깨지기도 하고 심지어 못 읽어내고 뻗기도 하는 등 참 답답하지요.


그렇다고 해서 ODF등으로 다시 보내달라고 하기도 좀 그렇지요. 나 때문에 더 고생을 시키는 것도 한계가 있는데다가 보통은 제가 을의 위치이니 그냥 입다물고 작업해야 합니다. 어휴.


그나마 최근 구글 드라이브를 도입해서 작업하는 회사가 늘어난것은 다행히 호재라 할 수 있습니다. 동시 작업이라는 편의성 때문에 일부 업체에서는 구글드라이브를 결제해서(!!!!)이용한다고 하더군요. 이러면 저도 참 편하지요. OpenDocument포맷도 잘 읽히는데다가 수정사항이 필요하면 저를 그냥 초대해 주기만하면 됩니다. 그러면 저는 그냥 웹브라우저에서 수정해주고 나면 끝입니다.


하지만...이건 어디까지나 극히 일부 업체 이야기이고 대다수 업체는 그냥 MSOffice+HWP입니다. 리눅스는 레이아웃이 깨지는 것을 감안해서 작업을 하던지(그런데 MS포맷으로 export하면 또 깨집니다!!!) 그냥 포기하고 가상머신에 윈도를 올려서 MSOffice를 깔던지 해야 서로 얼굴 붉힐일이 없어집니다.


Excel은 그래도 큰 문제가 없지만(이는 Google Drive나 LibreOffice나 같습니다. 그냥 줄 맞추는 용도면 모를까 레이아웃을 중시 여기는 프로그램이 아니라서...) Powerpoint나 Word는 레이아웃이 깨지면 참 눈물 납니다.


그런데 최근 Microsoft의 행보가 약간 이상한 방향으로 흘러가더니 크롬웹스토어에 Microsoft Office의 웹앱을 올려놓았습니다. 사실 옛날부터 쓰여왔던 OneDrive(있는줄 아는 사람은 드물지만)에 일부로써 들어있었던 온라인 오피스인데요. 이를 크롬에 웹앱화 시켜놓았더군요.


doc나 docx나 이 웹앱을 이용하면 별 삽질없이 열릴 것이다! hwp....는 이제는 정말 모르겠다. 뷰어만 믿고 가는거다!!!


pptx파일의 레이아웃이 안 깨진다!!! 아쉬운 점이 있다면 웹에서 작업한 결과물은 폰트가 한정적이라는 것. 하지만!!!어차피 기본폰트가 아니면 레이아웃 깨지는 것을 각오 해야하니까 더 낫다!



사실 구글독스같은 웹오피스의 일종이라 크롬이 아니라 파이어폭스나 미도리 같은 일반적인 웹브라우저에서도 다 되기는 합니다. 하지만 마이크로소프트가 직접 크롬 웹스토어에 올렸다는 사실이 중요합니다. 즉, 크롬북이나 크롬을 사용하는 사람들을 MSOffice의 노예(?)로 부리고자 했다는 사실이 중요합니다. IE는 어차피 버린자식이고(실제로 윈도우10에서 퇴출되고 새로운 녀석이 탑재됩니다.) 크롬의 점유율은 상당하니 이 사용자들을 MSOffice로 끌어오고자 했다는 느낌이 다분합니다. 괜히 Office가 Microsoft의 밥줄이 아닙니다.


그렇다는 것은 웹브라우저가 실행되는 모든 환경에서 이 MSOffice를 사용할 수 있다는 이야기가 됩니다. 그동안 MSOffice에서 만들었던 파일을 다른 오피스슈트에서 읽었을 때 생긴 와장창 깨지던 레이아웃, 사라지는 그림과 일부 문장들, 이상하게 바뀌는 Bullet Point 등 호환 문제로 골치를 썩이던 문제가 사라질 수 있다는 이야기가 됩니다.
 물론 그동안 제가 몰랐던 것은 Microsoft가 홍보를 영 안해서 그런것이고 저 또한 검색능력이 부족했습니다. 그런데 알고나니 리눅스를 쓰면서도 MSOffice사용처와 협업이 엄청 편해지네요.


Word야 우리나라에서 찬밥이니 일단 넘어가고, 제일 중요한 Powerpoint만 살펴보도록 하겠습니다. Excel은 아시다시피 LibreOffice나 Google Drive로도 호환이 충분하기 때문에 굳이 MSOffice가 아니어도 잘 되더군요. 그러니까 결국 Powerpoint가 제일 중요하다는 이야기!

어쨌거나 읽어보도록 하겠습니다.


일단, 크롬스토어에서 웹앱을 깔면 크롬 앱런처에 익숙한 Microsoft Office의 아이콘들이 보입니다. 그런데 여기에 OneDrive앱도 같이 설치해주셔야 편합니다. 왜냐하면 OneDrive에 올라간 파일만 읽을 수 있어서 파일을 읽으려면 OneDrive에 올려주셔야 합니다. 그렇다는 이야기는 Microsoft계정이 하나 있어야 한다는 이야기가 되는데 윈도를 하나 이상 갖고 계신다면 Microsoft계정은 다들 하나 씩 있으실테니 문제는 없을 것입니다. 없어도 기존 이메일 계정으로 하나 만들면 그만입니다.


Onedrive에 ppt파일을 올리고 직접 파일을 열려고 하면 아래와 같이 뜹니다!!!


일단 이 부분은 클라우드 서비스가 그렇듯이 내용을 읽어서 보여주는 역할입니다. 여기서 전체화면으로 놓고 직접 프레젠테이션을 진행해도 큰 문제는 없습니다. 무엇보다 MSOffice에서 만든 모습 그대로인게 참 좋군요. 편집을 위해서는 "프레젠테이션 편집"을 누르고 Powerpoint Online에서 편집을 눌러줍니다. "Powerpoint에서 편집"은 여러분 데스크탑에 설치된 Powerpoint를 말하는 것인데 리눅스에는 그딴거 없으니까 넘어갑시다.


그러면 웹브라우저가 하나 더 열리면서...




데스크탑 Powerpoint와 거의 흡사한 웹 환경이 뜹니다!!!!!!! MSOffice에 익숙한 사람이 봐도 전혀 문제가 없습니다. 그리고 이것을 이용하면 다른 사람에게 ppt파일을 넘겼을 때에도 레이아웃이 안 깨집니다. 즉, 리눅스에서도 이제 윈도의 MSOffice에서 작업한 파일을 넘기고 받는데 무리가 없다는 이야기가 됩니다. 상당히 훌륭하지요.


그리고 아까 Microsoft계정이 하나 있어야 한다고 했는데 Microsoft에 가입하는 것은 무료이고, 가입과 동시에 OneDrive가 생성됩니다. 그러니까 무료로 오피스를 이용할 수 있게 된다는 이야기가 됩니다. 이쯤되면 무시무시하지요. 예전에 IE느낌이 들어서 약간 찜찜하기는 한데 일단 다른 회사와 같이 할 수 있는 업무를 무사히 넘길 수 있는 괜찮은 방법을 하나 찾은 듯해서 상당히 기분이 좋더군요. 심지어 OS를 가리지 않으니 더욱 좋고요. Microsoft가 간만에 시장 하나를 또 개척한 듯 합니다.


다만, 단점이 하나 있는데 인터넷이 구리면 작업속도가 구려집니다. 반응이 전체적으로 느려지는 통에 굉장히 답답해집니다. 그리고 단축키가 웹브라우저와 겹치면 안 되므로 그냥 안 먹힌다고 생각해야 합니다. 단축키를 자주 쓰시는 분들은 불편함이 크실 겁니다. 하지만, 리눅스에서 MSOffice를 쓸 수 있다는 것이 얼마입니까? wine으로 설치해도 완벽하지 않아서 어딘가 삐걱거려서 VM까지 이용하는 판국에 이거라도 감지덕지...


하지만 이건 어디까지나 협업과 수정, 그리고 프레젠테이션을 위해서 그런것이고 최종 인쇄용 결과물은 다시한번 말하지만 표준인 PDF!!!를 이용하도록 합시다. 그게 제일 뱃속이 편합니다.


사실 이 짓하는 것보다 OpenDocument포맷이 현장에서 쓰여야 제일 편하겠지만...


...그런데 HWP는 웹오피스에서 호환성이 어느정도 되는지 안 나오네요?...해봐야 하나...

,

Minitab은 통계용 프로그램입니다. 다른 용도로도 많이 쓰이곤 하지만 SSPS나 기타 통계용 프로그램보다 싼 것이 장점이지요. 하지만 Windows만 지원하기 때문에 통계 분석을 위해서는 Windows를 필요로 합니다.


우분투에서도 이런 프로그램이 없지는 않지만 R같은 놈 처럼 프로그래밍을 필요로 하거나 Python의 모듈처럼 초보자가 쓰기에는 힘든 구성을 지니곤 합니다. 그리고 무엇보다 교육자료들이 하나같이 Minitab기준이라 R이나 Python이 분석용으로 쓰이기 참 어렵기도 합니다.


그러면 방법은 하나지요...Wine으로 설치하는 수밖에 없습니다.


그래서 Minitab의 구버전인 15버전을 평가판으로 설치했습니다. Playonlinux에서 설치를 누르고 non-listed program을 선택하신 다음 wine버전을 1.7.5이상으로 선택하시고 설치하시면 됩니다.


minitab 15버전 평가판은 다음 링크에서 다운로드 받으시길 바랍니다.

https://drive.google.com/open?id=0B5LQBL0rAm2fNV9Ld29IVzZjMVk&authuser=0


그리고 추가 라이브러리로 wsh56과 wsh57을 설치해주셔야 그래프가 무사히 뜨게 됩니다. 이거 없으면 그래프가 안 뜹니다.


아 그리고 실험계획법(Design Of Experiment)의 부분 계획을 위해서는 usp10.dll파일이 필요합니다. 아직 따로 Playonlinux에서 지원을 하는 듯 하지는 않더군요. 그래서

usp10.dll.zip

이 파일안에 있는 usp10.dll파일을

~/PlayOnLinux's virtual drives/(Minitab Prefix이름)/drive_c/windows/system32 압축을 풀어서 넣어주신뒤 wine 설정(구성 버튼을 누르고 Minitab의 Prefix를 선택해 주시면 Wine탭에 Wine 설정버튼이 있습니다.)에서




usp10을 추가해주시면 됩니다.


그리고 Mtb.exe파일을 바로가기로 추가해주시면 됩니다.



이제 리눅스에서 Minitab이 실행 되었군요.

.....

이렇게 쉬운 것을 설명하려고 이 글을 올린 것은 아닙니다....




이렇게 wine으로 Minitab을 실행하면 한 가지 어마어마한 일이 일어나게 됩니다.


바로....


...

남은 기간이 30일에서 변하지를 않습니다. 저는 Minitab을 설치한지 약 7일 정도가 지났음에도 어찌된 영문인지 며칠이 지나도 30일이 남았다고 나옵니다.


..디버그항목을 보니 서비스의 일부가 실행이 안 되면서 작동이 안 된듯한데 그 부분이 어이없게도 날짜 제한 부분이었나 봅니다.


wine이라는 특이한 환경을 쓰다보니 별 희한한 일도 다 생기네요 참.

,

 여러분들은 그림판을 어떻게 생각하시나요? 어떤 분들은 그냥 말 그대로 그림 그리는 판정도(?)로 생각하시는 분도 계시고, 예술 작품용(?) 캔버스로 활용하시는 분들도 많으실겁니다. 사실 이만한 성능에 이 정도 메모리만 쓰는 프로그램도 사실 드뭅니다. 까놓고 말해서 쓸모없기로 유명한 Windows 기본프로그램 중 몇 안되는 제 값 하는 프로그램이 메모장과 그림판이라고 할 정도이니 말 다했습니다.  



출처 : 마이크로소프트 요새 그림판은 XP이전의 그림판과 궤를 달리한다. 역시 Windows 가격 20만원 중 5만원 이상의 값 어치 하는 프로그램.

 말 그대로 그림을 그리는 판이지만 그동안 우분투에 그림판같은 프로그램은 없었습니다. 그렇다고 우분투에서 그림판 쓰자고 Wine에 그림판 깔기도 참 뭐합니다. 그동안 우분투에서 기본 그래픽 에디터라고 하면 당연하다면 당연하게 Gimp였습니다. 그런데 Gimp란 이 놈은 사실 그림판에 대응하기 보다는 포토샵에 필적하는 녀석이다보니 간단한 사진에 글씨 넣기라던가 강조 표시정도에 써먹기에는 너무 쓸데없이 무거운 편입니다. (물론 일반인은 전체 기능의 5%밖에 못 쓴다는 포토샵보다는 훨씬 가볍습니다.)

저도 가끔 블로그에 그림을 올릴 때 살짝 편집을 하기는 하는데 그때마다 Gimp를 쓰기에는 너무 Gimp가 쓰기 힘들더군요. 못 할 것은 없는데 소잡는 칼로 닭 잡는듯한 느낌입니다. 간단한 레포트에 넣을 그래프에도 그림판정도면 딱인데 Gimp는 작업하기 참 무거웠습니다.


아무리봐도 Gimp는 간단한 편집에는 부적합하다. 그래프에 글씨 넣는 수준에 이걸 쓰는 것은 철조망 세우는데 타워크레인 쓰는 느낌.

정확히 말하자면 못할 것은 없습니다. 하지만 가볍게 할 작업을 굳이 무겁게 한다는 것이 아쉬웠습니다. 더욱이 Gimp는 용량 문제로 우분투 기본 탑재 프로그램에서 퇴출 당하기까지 했습니다. 


하지만 역시 수요가 있으면 공급도 있는 법. 우분투에 그림판 같은 존재가 드디어 등장했습니다. 이름하여 mtPaint Graphic Editor입니다.


mtPaint의 모습. 누가 봐도 그냥 그림판 클론이다.

 위의 스크린샷을 보시면 알겠지만 보면 그냥 그림판하고 크게 차이가 나지 않는 것을 보실 수 있습니다. 어쩌면 그림판의 Windows7 이후 버전보다는 XP 이전의 클래식한 모습에 가깝습니다. 즉, 그동안 우분투 사용자들은 Gimp가 맡았던 고급 기능의 그래픽 에디터와 함께 클래식 그림판이 맡았던 역할인 간단하게 그릴 수 있는 캔버스, 이것이 필요했던 것이지요.


 이 놈을 쓰다 보니 그동안 소 잡던 칼인 Gimp가 실행되는 횟수가 확 줄었습니다. 즉, 전 그동안 간단한 편집만 했기에 Gimp같은 무거운 프로그램이 필요 없었는데 대신할 것이 없었던 것이지요.


 굉장히 가볍고 좋군요. 왜 그동안 이런 프로그램이 없었는지 안타깝기만 합니다. 아니면 내가 못 찾았던 것일지도 모르겠지만요.

,

이 이야기는 VMware를 유용하게 쓰시고 계실 모든 분들에게 통용될 이야기입니다. 우분투에서만 이용되는 이야기는 아닙니다. CPU성능이 더럽게 좋아서 소프트웨어 렌더링이 훨씬 더 퍼포먼스가 좋다던지(Intel, S3) 공식드라이버가 워낙 거지같아서 오픈소스프로젝트의 드라이버를 사용하시는(AMD) 모든 분들에게 다 먹히는 이야기이니 유용하게 쓰시기 바랍니다. Windows에서는 후자의 경우가 없으므로 별로 쓸 일은 없겠지만 간혹 베타드라이버에서 VMware가 가속이 안된다고 한 경우가 있으니 Windows 사용자분들도 써먹을 수 있습니다.


VMware를 쓸 때 3D 가속을 하는 이유는 무엇일까요? 보통 VirtualBox에서는 일단 Direct Rendering이 가능하다는 가정하에 3D 가속 설정만 하면 그냥 가속 모드로 들어가는 것과는 다르게 VMware는 오픈소스 드라이버이거나 최신의 드라이버의 경우 3D 가속이 검증이 안 되서 그런 것인지 3D가속을 꺼버립니다.



호스트에서 3D 가속이 안 된다고? 리눅스에서 AMD쓴다고 무시하냐?


VMware가 아무래도 기업용으로 자주 쓰이다 보니 업데이트가 늦는 편이고, 안정성을 추구하다보니 드라이버에 대해서도 상당히 보수적인 입장을 취합니다. 하지만, VMware가 아무리 보수적이라고 해도 방법이 없지는 않습니다. 환경설정에는 안 나와있지만 수동으로 설정을 하면 어떤 드라이버를 쓴다고 해도 3D 가속을 쓸 수 있습니다.


VMware의 가상머신이 있는 곳(~/vmware)에서 vmx파일을 텍스트 에디터로 열면 여러분들이 설정한 설정 값들이 텍스트형태로 나와 있음을 알 수 있습니다. 그 중 제일 마지막에 다음과 같은 한줄만 추가하면 됩니다.



mks.gl.allowBlacklistedDrivers = "TRUE"


이 한줄만 추가해주시면 이제 오픈소스드라이버를 쓰든, 베타드라이버를 쓰든 아니면 소프트렌더링을 쓰든(...) 3D 가속을 가상머신에서 하는 것을 보실 수 있습니다.

,

 이제는 Wine의 성능이 상당히 좋아졌습니다. 예전의 고작(?)윈도용 프로그램 몇개 돌리던 호환 레이어였던 Wine은 이제 상당한수준의 산업용 프로그램도 무리없이 굴릴 수 있게되었습니다. 물론, 이 모든 것이 다 사용자달의 피드백과 개발자분들의 열의 덕입니다. 


 이번에는 산업용으로 많이 쓰이는 시리얼 통신을 wine구동 프로그램으로 굴리는 방법을 알려드리고자 합니다. 그러기 전에 시리얼통신을 왜 쓰는 것인지에 대해 말씀 드려야겠네요.


 주로 시리얼 통신은 작게보면 이제는 가정에서 볼 수 없는 RS-232 9핀 커넥터를 주로 이용해서 주변 장비를 구동하는 통신 방법입니다. 본래 시리얼 통신은 직렬구조의 통신 방법을 모두 통틀어서 하는 말입니다. (Serial의 의미가 직렬이란 의미입니다.) 그리고 이 RS-232방식의 통신은 마우스나 키보드, 그 외의 작은 주변장치의 구동에 많이 쓰""습니다. 하지만 이 시리얼 포트는 프린터포트(혹은 병렬포트,패러럴포트)와 함께 우리가 너무나도 잘 알고 있는 USB에 의해 밀려서 사라졌습니다.


안녕? 내 이름은 시리얼 포트라고 한다. 이제 가정에서 보기 어려워진지 오래지. 하지만 산업현장에서는 내가 엄청 중요하단다.


이 통신방법은 아직도 산업현장에서는 많이 쓰이고 있어서 이를 쓰기위해 USB-RS232변환 젠더 물건도 나와있고 이 시리얼통신은 AVR이나 PIC같은 MCU에도 많이 쓰이는데, 이것을 시리얼통신포트를 쓰지 않고 곧바로 USB에 접속할 수 있게 만든 칩도 나와있습니다.(대표적인 칩이 FTDI사의 칩입니다.) 그러나 산업현장에서는 장비 가격이 가격이다보니 여전히 위에 보이는 포트를 사용하는 장비를 많이 이용하고 있습니다. 이를 최근에 나오는 PC에 쓰기위해서는 USB를 써야만 하는데 USB-RS232변환젠더 같은 물건이 이때 상당히 애용됩니다. 그리고, 이 통신방법은 제가 여러차례 말씀 드렸던 Arduino도 쓰고 있습니다. 단, 이경우는 FTDI칩을 이용한 가상 시리얼통신입니다. 그래서 실질적으로 USB포트밖에 없습니다.


아무튼 시리얼 통신 포트는 점점 사라지고 있지만, 그 통신 방법은 여전히 많이 쓰인다는 것을 아실 수 있을 것입니다. 심지어 Arduinio도 시리얼통신포트는 쓰지 않지만 그 방식의 통신을 하고 있습니다. 그런데 문제는 이 포트를 이용하는 방법이 Windows와 Unix/Linux계열이 다르다는 것입니다.


 시리얼 통신은 어떤 포트인지 구분하는 것인지가 상당히 중요합니다. TCP/IP기반 통신과는 다르게 장비가 연결되었는가에 대한 규격 자체가 없습니다. 그냥 송신명령 내리면 (그곳에 수신을 받을 장치가 있는지 없는지는 무시하고)그냥 해당 포트로 열심히 신호를 보냅니다. 물론 받는 곳도 그냥 들어오면 땡입니다. 그래서 장비 개발자들은 장비와 연결되었는지 확인하는 것을 소프트웨어 적으로 구현해서 집어넣는데 이 때 포트 번호를 제대로 지정하지 않으면 에러메시지가 뜨도록 해놓는 경우가 흔합니다. 그래서 시리얼통신 PC프로그램은 포트설정 하는 것을 굉장히 중요시 여깁니다. 그 다음으로 중요시 여기는 것은 통신 속도(Baud Rate)지만 그것에 대한 이야기는 넘어가겠습니다. 헌데 이 통신포트구분법은 OS마다 다르기 때문에 참 난감합니다. 심지어 규칙조차도 OS마다 천차만별입니다. 


 Windows에서는 시리얼 통신용 포트를 구별할 때 COM1 COM2 ...이런 식으로 COM뒤에 숫자를 붙이는 것으로 구별합니다. 이는 USB-RS232장비나 Arduinio같은 가상시리얼포트도 마찬가지인데 특이한 것으로 연결한 순서대로 붙이되 가상시리얼 장치는 마음대로 COM포트 번호가 바뀌는 것이 일상입니다. 그래서 PC에 가상시리얼 장치(USB-시리얼)를 붙이면 그 다음에 꼭 장치관리자에서 포트번호를 꼭 확인해야 합니다. 그리고 메인보드에 시리얼포트가 있다면 이 포트가 제일 앞 번호를 선점하게 되어 있습니다. 이 경우에는 장치관리자 따위는 무시해도 상관 없습니다. 만약 보드에 시리얼 포트가 2개 붙어있다면 이 둘이 순서대로 COM1 COM2를 먹고 이후에 USB시리얼 장치가 붙으면 순서대로 붙되 쓰다보면(...)한없이 숫자가 엉키는 것을 보실 수 있습니다. (난데없는 이전장치는 COM3이었는데 COM8이라던가...)


 Unix/Linux는 시리얼장치도 하나의 콘솔로 취급합니다. 아니, 사실 여러분이 터미널 창을 하나 띄우는 것을 이 시스템은 가상시리얼 장치 하나가 연결 된 것으로 취급합니다. 사실 시리얼 통신에 제일 가까운 운영체제가 Unix계열입니다. 그러다보니 단순히 COMX로만 구분하는 Windows와 달리 구분하는 것이 상당히 다양합니다. 일단 Unix계열은 해당 어떤 포트가 어떤 포트인지 구별합니다(!). 만약 보드에 달린 시리얼 포트이면 /dev/ttyS0 ~ /dev/ttySX 이런 식으로 구분합니다.(그런데 실제 포트수와 관계없이 여러개가 준비되어 있습니다.) 그리고 USB장치를 이용했으면 /dev/ttyUSB0~ /dev/USBX 로 포트를 구분합니다. /dev/~~라고 적은 것을 보시면 아시겠지만 모든 하드웨어 장치도 파일로 취급하는 Unix계열 특성상 시리얼 포트도 파일로 취급합니다. 이 파일에 무언가를 적거나 읽어내는 것이 시리얼 통신입니다. /dev/ttyX도 있는데 이것들이 바로 여러분 PC에서 터미널로 작업할 때 쓰이는 콘솔입니다. 여기에는 실제 장치가 붙을 일은 절대 없으니까 무시하셔도 됩니다.


서론이 길었습니다. 이제 Wine프로그램을 이용한 장치를 어떻게 시리얼통신에 써먹는지에 대해 말씀 드리겠습니다. ~/.wine/dosdevice에 들어가보시면 C:라고 이름붙여진 링크와 Z:라고 이름붙여진 링크들이 보입니다. 여기에 com1 혹은 com2라고 만들어진 링크를 만들면 wine은 이들을 알아서 시리얼 포트로 인식해줍니다. 참으로 똑똑하지요? 하지만 이를 이용하려면 우선 wine을 이용하되 여러분이 사용하는 프로그램을 어떻게 실행할 것인지에 대해 알고 계셔야 합니다. PlayonLinux를 이용하셨다면 ~/.wine/dosdevice에 링크를 만드시면 안 됩니다. Playonlinux는 그 특징상 가상드라이브를 따로 만들기 때문에 해당 가상드라이브에 들어가셔야 합니다.



com1이란 링크가 보이는지? 이 com1은 /dev/ttyUSB0의 링크이다. 지금은 장치가 연결되어있지 않아서 오류마크가 뜬 것.



즉, Playonlinux를 이용해서 시리얼통신을 하신다면,

~/PlayOnLinux's virtual drives/가상드라이브명/dosdevice


여기에 링크를 만들어야 하고,


그냥 해당 프로그램을 바로 파일매니저 등에서 wine Loader으로 실행하신다면,


~/.wine/dosdevice 

에 링크를 만드셔야 합니다.


무슨 링크를 만들어야 하는데? 라고생각하시는 분들은 아까 제가 모든 하드웨어 장치를 파일로 생각한다고 했던거 기억하시나요? /dev/ttySX 나 /dev/ttyUSBX 같은 파일이 곧 시리얼포트를 의미합니다. 즉 저 파일을 링크(Windows 표현대로라면 바로가기)를 만들어주시면 됩니다. 


링크를 만드는 명령어는 다음과 같습니다.


ln -s 포트이름 wine가상드라이브/dosdevice 


USB형태의 가상포트이며 포트이름이 /dev/ttyUSB0라 했을 때, Playonlinux를 사용하지 않는 다면,


 ln -s /dev/ttyUSB0 ~/.wine/dosdevice/com1


어떤 포트가 실제 장비가 쓰는 포트인지 모르시겠다면, 보드에 달린 포트는 해당 보드의 매뉴얼을 읽으시면 1번포트 2번포트등으로 구분되어져 있다는 것을 아실 수 있습니다. 1번포트가 /dev/ttyS0입니다. 이것은 Windows와 거의 동일합니다. USB를 이용하셨다면 USB시리얼장치를 연결하기 전에 


ls /dev/ttyUSB* 

를 보고, 장치 연결 후에 같은 명령을 쳤을 때 추가된 포트가 바로 해당 장치가 쓰는 포트입니다. 이는 무식하지만 확실한 방법입니다.(저도 상당히 애용합니다.) 정 모르시겠다면 그냥 USB시리얼 장치를 순서대로 꽂으면 /dev/ttyUSB0, /dev/ttyUSB1 이런 식으로 올라갑니다. Windows 마냥 COM3 그다음 장치가 COM8이 되는 이상한 현상은 거의 없다고 보시면 됩니다.


어쨌거나 위의 예시에서는 com1이라는 이름으로 링크를 걸었는데 보시면 아시겠지만 Wine내에서 해당 시리얼 포트를 COM1로 취급한다는 의미입니다. 즉, 이제 Wine 구동 프로그램에서 COM1로 접속을 하시면 별 문제없이 접속이 되는 것을 확인하실 수 있습니다.


,

민트에서 루분투로 갈아탄지 2일째입니다. 루분투는 성능상의 잇점때문인지 Pulse-audio를 사용하지 않고 Only Alsa정책을 펴고 있었습니다. 그런데 제 노트북에서는 소리가 안 나오는 기현상이 일어나서 Pulse-audio를 설치 했습니다.



sudo apt-get install pavucontrol

이걸로 음량 조절 기능을 설치하고 음량을 조절 할 수 있게 됩니다. 터미널에서 pavucontorl만 치면 실행됩니다. 저는 소리가 안 나오는 원인이 HDMI를 기본 하드웨어로 잡아서 그렇더군요. HDMI 관련 장치를 Off로 설정하니 이후부터는 별 문제 없이 스피커로 출력이 잘 되었습니다.


HDMI어쩌고 장치를 off로 설정하면 스피커로 소리를 들을 수 있다. HDMI를 사용한다면 HDMI를 On하고 쓰면 된다.

그런데 문제가 하나 생기더군요. 키보드에 있는 볼륨 조절키를 아무리 눌러도 조절이 제대로 되지를 않았습니다. 원인은 Openbox 단축키 설정이 Alsa로 되어있어서 그런 것이었습니다.

그럼 그 설정을 Pulse-audio용으로 바꾸면 그만입니다.

단축키를 바꾸는 방법은 두가지가 있습니다. 직접 ~/.config/openbox/lubuntu-rc.xml를 수정하는 방법과 obkey라는 유틸리티를 쓰는 것입니다. 이번에 저는 obkey를 써보겠습니다.


https://code.google.com/p/obkey/downloads/list


위의 링크로 들어가서 obkey를 다운로드 받습니다. 그 다음 원하는 곳에 압축을 풀고 터미널을 열어줍니다. 터미널에서 찾아가기 쉽게 ~/obkey/ 정도에 압축을 풀어놓는 것이 좋겠지요?


이제 obkey를 압축 푼곳으로 찾아갑시다. ~/obkey에 압축을 풀었다면 cd ~/obkey/ 찾아갈 수 있습니다. 그 다음에 다음과 같은 명령어를 줍시다.


./obkey ~/.config/openbox/lubuntu-rc.xml


그러면 다음과 같은 설정 창을 볼 수 있습니다. 여기서 우리가 원하는 것은 XF86Audio 입니다.


모든 설정이 끝나고 저 버튼을 누르지 않으면 말짱 꽝이다. 그리고 설정 꼬일 것을 대비해서 ~/.config/openbox/lubuntu-rc.xml 파일을 백업해두자

쭉 찾아보면 Key열에 다음과 같은 세 개의 문장이 보입니다.


XF86AudioRaiseVolume

XF86AudioLowerVolume

XF86AudioMute


이 세 개를 Pulse-audio에 맞게 설정 하는 것이 이번 글의 목표입니다.


일단 찍어보시면 오른쪽 위에 Command라고 써있는 칸이 보입니다. 그곳에 보면

amixer ~~~이렇게 쓰여 있는데 이건 Alsa용 명령어 입니다. Pulse-Audio용으로 쓰려면 이걸 고치면 됩니다.



command 칸을 보면 이미 pactl~~로 고쳐놓았다. 이것이 Pulse-audio용 볼륨조절 명령이다. 터미널에서도 먹히니 한번 심심하면 해보자


고쳐야 하는 것은 다음과 같이 고치시면 됩니다.

 Key이름

 ALSA 명령

 Pulse-audio 명령

 XF86AudioRaiseVolume

 amixer -q sset Master 3%+ unmute

 pactl set-sink-volume 0 +3%

 XF86AudioLowerVolume

 amixer -q sset Master 3%- unmute

 pactl -- set-sink-volume 0 -3%

 XF86AudioMute

 amixer -q sset Master toggle

 pactl set-sink-mute 0 toggle


이제 xml파일을 저장하고 로그아웃 했다가 다시 돌아오면 단축키로 볼륨 조절 되는 것을 보실 수 있습니다. 참고로 저 3%는 고칠 수 있습니다.


이외에도 obkey로 단축키를 마음대로 설정 가능하니 마음껏 이용해보시길 바랍니다.

터미널이나 파일매니저, 웹브라우저는 단축키로 해 놓으면 아주 편합니다.

,