컴퓨터를 쓰다보면 ACPI란 말을 자주 듣게 된다. 사실 윈도를 설치할때 몇번 듣게 됨과 동시에 전원이 자동으로 꺼지지 않으면 사용하란 말도 듣게된다. 이 ACPI란 무엇일까? 

ACPI란 일종의 컴퓨터 전력관리 표준규격에 일종이다. 우리가 시스템종료를 실행했을때 따로 스위치조작없이 전원이 나가는것도 이 ACPI때문이며 노트북에서 배터리모드로 자동 전환되는것도 바로 이 ACPI의 규격에 나와있는것이다. 헌데 이 ACPI가 표준그대로 잘 만들어지면 크게 문제는 없겠는데 PC제작사에서 대충 동작만 가능하게끔 만들어놓곤 하는것이 문제다. 이 동작여부도 오로지 당시의 대세윈도만 여부를 판단한다. 지금시점이라면 윈도7이 될것이다. 대기업PC라면 미리 탑재된 윈도만 동작확인을 하며 다른OS는 신경도 안쓰기 마련이다.

사실 윈도에서도 규격에 맞지않게 만들어졌다면 당연히 정상작동을 안해야 하는데 윈도란것이 워낙 괴랄한 하드웨어지원을 하는터라(레거시지원이 제일 잘되는OS가 바로 윈도)신기하게도 작동을 한다. 

문제는 여기서 발생되는데 다른OS를 설치해서 사용하는경우 이 ACPI설계가 개판이면 정상작동여부가 불투명해진다는 것이다. 대표적인것이 2.6.38때 벌어진 pci-e과열사태가 있다. 윈도야 워낙 잘 돌아갔지만 aspm을 강제 활성화하지 않은경우 리눅스에서는 배터리광탈 및 과열을 일으켜버리고 사망하시는 일이 일어났는데 일부 비표준ACPI지원과 관련이 있다고 한다. 그도 그럴것이 리눅스를 미리 탑재하고 출시되는 PC는 몇 안되니 리눅스의 점유율을 높이려면 기존 윈도와 동거(?)하던가 윈도를 밀어내고 자리를 차지하는 수밖에 없다. 그런데 그 윈도 기본탑재PC들이 저런 개판ACPI를 달고 다니는 경우가 꽤 있다보니 리눅스도 윈도마냥 괴랄한지원을 추가하는 수밖에 없다.

그런 비표준ACPI지원하려다 생겨난 버그도 생기고 하는터에 최근 리눅스는 전력관리 테이블조차 윈도의 것을 그대로 쓰는것으로 밝혀졌다. 아니, 사실 PC마다 멋대로이기는 해도 OS별 전력관리테이블이 존재해서 팬컨트롤이나 cpu스로틀링 같은것을 해당테이블에 맞춰 운영하게 되어있는데 보통은 리눅스용 테이블이 만들어져있어서 이것을 이용하지만 이것마저 개판인 경우도 많다보니 그냥 리눅스에서 리눅스용 테이블대신 윈도용 테이블을 가져다가 사용한다는 것이다. 제 아무리 많은 발전을 한 리눅스라고는 해도 윈도와 전원관리 철학이 다르지 않았던가(리눅스는 전원절약보다는 안정을 선호 윈도는 노트북에 한해 전력최소를 지향)하지만 워낙PC제조사들이 막장짓을 자주해서인지 커널부터 윈도용을 가져가 쓴다니...(물론 부트옵션으로 리눅스용 테이블을 쓰게끔 할 수도 있다)

어쨌건 불행인지 다행인지 옛날에 꽤 문제를 닐으키던 ACPI활성화 문제는 적당히 해결이 됐는지도 모르겠다. 하지만 지금도 가끔 최신 하드웨어에서 전력관리가 안 되어서 과열및 전력광탈 현상이 아직도 목격되고 있다. 시간이 지나면 자연스럽게 해결될 문재라고는 한다. 그런데 그게 언제냐고...

옛날이야기를 하자면 우분투 라이브 옵션 중에 acpi=off 옵션이 붙어있었다. 이것은 아에 acpi를 무시하겠다는 의미로 팬이 왕왕돌아가면서 사용자의 귀를 간지럽히게 된다. 그리고 자동 셧다운도 작동하지 못했다. 어떤의미인줄 알겠는가? 리눅스에서 acpi를 지금수준으로 지원하는것도 거의 기적이라고 생각이 들 정도다. 이러니 아직도 리눅스가 전력관리 못한다는 소릴듣지...

정말 리눅스는 언제쯤 메인 대세가 될 수 있을 것인가... 아니면 PC제조사들이 신경써서 표준그대로 설계하면 참 좋을텐데(실제 호환이 가장 뛰어난 하드웨어는 애플의 물건이다)

,

출처는 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 다운로드폴더

같은 작업이 필요하다.

,