미스테리 퍼즐게임의 세번째 작품 The Room Three 입니다. 이전에 이미 The Room 과 The Room Two의 한글패치를 배포한 적이 있었는데 이번에 딱히 할 일이 없어서 The Room Three의 한글패치를 만들었습니다.

 

다운로드는 여기

https://drive.google.com/file/d/1QVN3JnR3_PWWjrLZAaTh6sC8cDQsRZBL/view?usp=sharing

 

TheRoomThree_Korean_0.2.7z

 

drive.google.com

설치 방법은 다음과 같습니다.

우선 스팀라이브러리에서 The Room Three에 오른쪽버튼을 눌러 속성에 들어갑니다.

그리고 로컬파일 탭에서 로컬콘텐츠 폴더 보기를 누릅니다.

그 다음 압축파일 내용물을 TheRoomThree_Data폴더에 덮어씌워주시면 됩니다.

언어는 그냥 영어 english로 하시면 됩니다.

 

모바일판의 번역을 이용했습니다.

,

 최근 Steam의 Remote Play를 애용하고 있습니다. 지금 사용하는 노트북 PC가 워낙 오래된 물건이라 게임이 돌아가지 않는데 최근에 Windows를 돌리기 위한 데스크탑PC를 하나 맞췄거든요. 그런데 문제는 데스크탑PC는 있는데 모니터가 없습니다.

 

 이쯤되면 모니터를 새로 하나 사는 것이 낫겠지만 그냥 스팀의 리모트 플레이를 쓰니까 굉장히 편해서 모니터를 안 사고 이걸로 버티는중입니다.

 

 그러니까 WindowsPC에서는 자동으로 스팀 로그인을 하게 세팅을 하고 리눅스가 돌아가는 노트북 PC에서 리모트플레이를 하는 것이지요. 생각보다 게임이 잘 돌아갑니다. 이전에는 멈칫거리고 딜레이도 심했는데 알고보니 공유기가 오래되서 그랬던 것이고 공유기도 짱짱한 놈으로 바꿨더니 딜레이도 거의 없어서 리듬게임이나 FPS게임도 아무 문제없이 가능합니다.

 

그런데... 30분~1시간 정도 플레이하고 나면 알 수 없는 오류로 리모트 플레이 클라이언트가 멈추는 현상이 일어납니다. 이런저런 방법을 찾아봤는데 제가 내린 결론은...

 

그래피카드 드라이버 문제였습니다. 리눅스에서는 동영상 가속 시스템으로 VDPAU나 VAAPI를 쓰는데 둘다 스팀의 방식과는 어딘가 안 맞는 것이었습니다. 

 

그럼 방법은 하나입니다. 그냥 CPU를 갈구면 됩니다. CPU동영상 렌더링 방식을 써서 오류가 난적은 거의 없습니다. CPU가 그렇다고 안 좋은 것도 아니니 만약 CPU만으로 1080을 돌릴 수 있을 정도면 되고 그래도 성능이 딸린다 싶으면 대역폭을 제한해서 낮은 비트레이트로 돌리면 됩니다. 

 

클라이언트의 스팀에서 설정으로 들어갑니다.

그리고 Remote Play에 보시면 고급 클라이언트 설정이 있습니다. 이쪽을 선택합니다.

여기서 하드웨어 디코딩 활성화의 체크를 풀면 CPU를 열심히 갈구게 됩니다. 만약 멈칫 현상이 잦다면 이쪽을 쓰는 것을 추천합니다. 그리고 CPU렌더링이기 때문에 성능이 모자라게 될 수 있는데 그럴 때는 해상도 제한과 대역폭 제한을 이용해서 CPU가 감당할 수 있게 제한을 넣어주면 됩니다.

,

리눅스용 스팀에서는 각종 동영상을 처리하기 위해서 이런저런 방법을 동원합니다. 그냥 mpv나 VLC같은 외부 플레이어를 쓰면 참 편하겠는데 스팀에서 영화도 팔고 게임 트레일러도 광고하다보니 그냥 자체적으로 플레이어를 만들어 쓰더군요.


그런데 이상하게 CPU점유율이 높아서 보니까 동영상 가속이 안 되더군요. 그런데 웃긴건 VLC나 MPV에서는 아무 문제없이 동영상가속이 잘 되는 겁니다.



알고보니... 스팀은 32비트를 사용합니다. 그래서 32비트 라이브러리를 이용해야 하더군요. 그래서 스팀을 설치하고 나서 추가적으로 32비트 동영상 가속 라이브러리를 설치해야합니다.


sudo apt install mesa-vdpau-drivers:i386 (AMD, Nvidia사용자)

sudo apt install mesa-va-drivers:i386 (AMD, Intel 사용자)


AMD는 VDPAU, VAAPI 둘 다 지원하므로 둘 다 설치해두면 좋습니다.


그리고 VAAPI는 2020년 1월 현재 메모리 관련해서 버그가 발견되었습니다. 스팀의 문제로 보이며 VDPAU를 사용하는 것을 추천합니다.

,

Steam에서 신박하게도 Remote Play라는 서비스를 내놓았습니다. 이전에 In-Home Streaming이란 것으로 내놓았다가 이제는 집안 뿐만 아니라 밖에서도 게임이 가능하게끔 만든 것입니다.


실제로 써본결과 약간 미묘하게 반응이 늦는것이 발견되기는 했지만 그럭저럭 쓸만했습니다. 다만 좀 멀미가 와서 그런지 어지럽네요.


아무튼 이 스트리밍 기능은 상당히 유용합니다. 강력한 게임용 WindowsPC에서 저성능 리눅스PC나 라즈베리파이로 게임을 스트리밍 할 수 있으니까요.


그런데 일부 게임의 경우에는 소리가 나지 않는다는 이야기가 있습니다.

그럴때는 기본 사운드카드를 Steam 스피커로 바꿔줘야 합니다.



WindowsPC에서 스피커 부분에 오른쪽 버튼을 누르고 소리 설정 열기를 클릭합니다.




그리고 기본 출력장치를 Steam Streaming Speaker로 바꿔줍니다. 이러면 WindowsPC에서 나오는 소리를 Steam이 대신 잡아갑니다.


그러면 스트리밍되는 곳에서 소리가 문제 없이 나는 것을 알 수 있습니다.


그리고 Windows10부터는 하드웨어가 연결되어있지 않으면 해당 하드웨어가 작동하지 않습니다.


예를들어 그래픽카드에 모니터가 연결되어 있지않으면 해당 장치관리자에는 잡히자만 그래픽카드는 작동하지 않습니다. 만약 필요하면 더미플러그를 끼워서 인식을 시켜야 합니다.


그리고 마우스도 연결하지 않았다면 포인터가 뜨지 않습니다. 하지만 이건 굳이 더미를 연결하지 않아도 쓸 수 있습니다.





Windows초창기부터 지원해 오던 마우스키를 활성화 함으로서 마우스를 인식 시킬 수 있습니다.


Windows 설정에서 마우스 키라고 검색하면 마우스 키 켜고 끄기를 찾을 수 있습니다.

여기서 마우스 키의 숫자 키패드로 마우스 포인터 이동을 켜면 포인터가 마우스를 연결하지 않아도 뜨는 것을 볼 수 있습니다. 오로지 Steam Streaming을 위해 만들어진 PC라면 유용하겠죠!

,

윈도우에서 리눅스 설치 USB만드는 것은 쉽습니다. win32diskimager(https://sourceforge.net/projects/win32diskimager/)라는 것으로 처리하거나 Unetbootin(https://unetbootin.github.io/)이라는 것을 이용하거나 LiLi(https://www.linuxliveusb.com/)라는 것을 이용하면 주요 배포판은 물론이고 각종 변종 배포판의 USB를 제작할 수 있습니다. 심지어는 Windows 설치용으로 주로 쓰이는 Rufus라는 툴도 쓸 수 있습니다.

 

하지만 반대는..? 리눅스에서 Windows설치 USB를 만드는 것은 생각보다 어렵습니다. 그냥 VirtualBox에서 윈도우를 올리고 Rufus나 winUSB Creator를 쓰는 것이 제일 확실합니다.

 

아니면 이 방법 외에는 없습니다.

WoeUSB(https://github.com/slacka/WoeUSB) 이것을 쓰는 방법 뿐인데 이것마저 사람 참 괴롭게 하더군요. 다행히 우분투에서 설치는 쉽습니다.

 

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

 

문제는 그 다음입니다. 보통 실행까지는 문제없지요.

 

 

일단 여기만 보면 대충 어떻게 해야할 지 감이 오실겁니다. From disk image에서 iso파일을 선택하고 File system을 고른다음(보통 64비트에서는 파일 크기문제로 NTFS를 선택하게 됩니다.) Target device에서는 꽂혀있는 USB메모리를 고르면 되지요. 그리고 Install을 누르면 되야하는데...

 

설명하자면 지금 USB메모리를 누가 쓰고 있으니 껐다 켜던지 기다리시오 하는 이야기다

이런 오류메시지가 뜹니다. UnetBootin은 이렇게 뜨면 그냥 USB를 뺐다 다시 꽂는 것으로 해결되는데 이건 해결이 안 되더군요!!!

 

그래서 삽질하다가 방법을 알았습니다. 마운트된 것을 해제하면 됩니다.

 

이건 보통 마테나 그놈환경에 있는 디스크 관리 프로그램을 이용하면 됩니다. (다른 데스크탑환경의 경우에는 확인 바랍니다.)

일단 USB메모리를 연결하고 디스크 프로그램을 실행합니다.

 

그리고 다른 디스크는 그만두고 USB메모리를 누른다음 ■ 버튼을 찾아서 누르면 됩니다. 그러면 전원은 연결된 상태에서 마운트만 해제됩니다. 그리고 다시 WoeUSB를 실행하면 아주 잘 됩니다!

,

digispark는 소형 아두이노가 있습니다. 아두이노를 사용하고 아두이노와 호환되지만 사실 아두이노와는 구조가 다르죠.

 

하지만 크기가 워낙 작아서 쓸모가 많고 전력소비가 적은 ATTY85를 사용해서 전력이 부족한 배터리 환경에서도 사용이 가능하다는 잇점이 있습니다.

 

문제는.. AdaFruit사의 정품은 가격이 좀 쎈편입니다. 2만원 남짓..?

 

대신 중국에서 이를 복제한(복제해도 아두이노 라이센스상 문제는 없습니다.)제품이 배송비 포함 1달러 조금 넘게 팔리고 있습니다. 문제는 이거... 호환성이 극악합니다.

 

알고봤더니 Digispark가 사용하는 부트로더의 버전이 낮은 것이 원인이었습니다.

 

1.6버전을 사용한다고 떠있는데 그마저도 중국에서 수정을 좀 한 것으로 보입니다.

 

Digispark의 부트로더는 Micronucleus라는 것으로 1.x버전으로 1.11까지 나왔고 2.x는 지금도 활발히 개발중입니다. 제가 사용한 보드는 1.6버전의 부트로더를 쓰고 있으므로 2.x를 쓰면 벽돌이 될 확률이 높습니다. 그러므로 1.11버전을 사용하는 것이 좋습니다.

 

Digispark의 버전을 확인 하는 방법은 아두이노IDE에서 Digispark관련 패키지를 설치한 후에 그곳에 있는 툴을 이용해서 확인 하면 됩니다.

 

우선 아두이노IDE를 설치하고(IDE의 설치 방법은 생략합니다. 워낙 쉽기때문에...) 파일-환경설정으로 들어갑니다.

 

그리고 추가적인 보드매니저URL에 다음과 같이 적습니다.

 

http://digistump.com/package_digistump_index.json

 

그 다음 확인을 누른 후

 

툴-보드-보드매니저

여기서 Digistump AVR Boards를 설치합니다

난 이미 설치가 되어 있어서 INSTALLED라고 떠있는 것 뿐이다

그러면 리눅스라면 ~/.arduino15/packages/digistump/tools/micronucleus/ 여기서 폴더 하나만 더 들어가면 micronucleus라는 프로그램이 있고 해당 프로그램을 터미널로 실행 하는 것만으로도 확인이 가능합니다

 

그런데 제가 구입한 보드는 어찌된 영문인지 리눅스용 프로그램에서는 인식이 되지 않고 윈도우에서만 인식이 되었습니다. 그래서 어쩔 수 없이 윈도우 가상머신을 설치 후에 https://github.com/digistump/DigistumpArduino/releases/download/1.6.7/Digistump.Drivers.zip 

위 드라이버를 설치해서 윈도우에서 잡아주는 방법만이 가능했습니다. 대체 중국에서 무슨 짓을 했는지 궁금하군요.

 

어쨌건 드라이버를 설치하고 가상머신에서 USB연결을 이용해서 윈도우에 인식시키니 드디어 장치가 인식 됩니다.

대신 윈도우에서 부트로더를 업그레이드하면 이후에는 리눅스에서도 아무 문제없이 사용이 가능해집니다. 이 참에 윈도우 가상머신을 하나 구비해두시는 것을 추천합니다. 저는 네트워크를 끊어놓은 XP 가상머신 시스템을 하나 구비했습니다.

 

어쨌건 윈도우에서 드라이버가 설치되었다면 보드 인식이 되었을 겁니다. 그리고 드라이버 설치 폴더를 뒤져보면 Micronucleus.exe라는 프로그램이 있을 겁니다. 이것을 이용해서 부트로더를 업그레이드 하게 됩니다. 단, 명령어를 쓰기 때문에 기본 cd명령어 정도는 알고 계셔야 합니다.

 

1. 우선 Digispark장치를 뽑습니다.

 

2. 윈도우에서 CMD.exe를 열고 드라이버 설치 폴더로 들어갑니다. (cd 어쩌고)

 

3. 그리고 https://github.com/micronucleus/micronucleus/blob/v1.11/upgrade/releases/micronucleus-1.11-upgrade.hex 여기서 RAW버튼을 눌러서 hex파일을 다운로드 받아서 Microclues.exe파일이 있는 곳에 복사합니다.

 

Micronucleus.exe --run "micronuclues-1.11-upgrade.hex"

 

이렇게 명령어를 치면 장치를 연결해달라는 말이 뜹니다. 이 5초 안에 장치를 연결하고 USB장치를 잡아야 합니다. 하지만 5초란 시간은 생각보다 넉넉합니다.

 

그러면...

부트로더 업그레이드가 완료 됩니다.

 

이제 리눅스에서 시도해보면 문제없이 구동되는 것을 알 수 있습니다!

,

그동안 쓰던 넥서스7(2012)이 "또" 안 켜졌습니다.

사실 이전에 한번 배터리가 부풀어서(...) 교체를 받았는데 교체 받은지 6개월도 안 되서 또 안 켜지네요. 아무래도 오래된 거라 어쩔 수 없는듯 합니다.

 

그래서 일단 넥서스7의 뒷통수를 뜯은 다음 한번 전압을 재봤습니다.

 

참고로 넥서스7의 뒷통수를 뜯는 것은 그냥 대충 틈새에 신용카드같은것을 넣고 쭈욱 돌리면 따다다닥 하면서 뜯깁니다. 정말 고치기 쉽죠.

 

넥서스7 배터리의 빨간 선과 검은선을 전압계로 재니까... 0.7V??? 이건 그냥 안 나온다고 봐야지요.

쉽게 말해서 배터리 고장입니다. 리튬 배터리는 2V 이하로 떨어지면 다시는 충전이 되지 않습니다. 그냥 버려야 합니다.

 

그렇다고 잘 쓰던 넥서스7을 버리긴 아깝고 해서... 그냥 배터리 없이 그냥 작동 시켜보기로 했습니다.

 

https://forum.xda-developers.com/showthread.php?t=2311799

 

Nexus 7 Running without Battery

Can someone verify that the Nexus 7 can operates perfectly fine with the battery removed and only powered by the USB cable? I've read some threads eluding…

forum.xda-developers.com

여기를 보니까 그냥 대충 4.2V 이하로 만들어서 직접 전원을 넣으면 동작한다고 하더군요. 그래서 전압강하 모듈을 하나 사서 5V어댑터에 연결했습니다.

 

https://www.devicemart.co.kr/goods/view?no=1321132

 

MP1584EN 강하형 DC-DC 소형 가변 컨버터 [SZH-PWSD-002]

최대 3A 출력의 미니 사이즈(4mm * 17mm * 22mm) 강하형 전압 변환 모듈 / 4.5V ~ 28V의 전압을 입력하여 0.8V ~ 20V의 전압으로 출력 가능 / Step-Down / 벅(BUCK)

www.devicemart.co.kr

그리고 잘 적당히 절연처리를 잘 해주고 켜보니까...

 

 

배터리가 0%로 뜨기는 하지만 잘 켜지네요! 대신 시간은 초기화 되지만 어떻게든 돌아가 줍니다... 그런데 뭐만 하면 툭툭 꺼져버리는군요. 그래서 뭐가 문제인지 봤더니...

 

전압강하 모듈이 엄청 뜨겁습니다. 얘기를 들어보니 MP1584EN은 온도가 85도가 넘어가면 전류를 알아서 차단한다고 합니다. 그리고 전원을 완전히 차단하지 않는 이상 다시 전류가 통하지 않는다고 합니다.

 

자세히보니까... 어댑터는 5A이고 전압강하모듈은 최대 3A가 최대입니다. 아무리 그래도 3A 이상 흐르지 않는 이상 과열 될일은 없을 테지만 아무래도 넥서스7이 전기를 많이 먹어서 3A 이상을 먹나 봅니다. (오버클럭도 좀 했습니다. 기본 클럭은 답답해서...) 그래서 전압 강하 모듈을 새로 구매해서 5A 이상 지원 되는 걸 구매했습니다. 이거면...좀 낫겠죠? 아니면 방열판도 새로 사서 달아주면... 넥서스7보다 전원부가 더 커지는 불상사가...

 

추가...

 

여기가 뒷판의 와이파이안테나랑 연결되는 부분인데 박살이 났더군요. 어쩐지 통신 속도가 극악하더라니.... 그래서 이부분에도 안테나를 새로 사서(?) 달아줄까 고민중입니다. 이쯤되니 휴대용이 아니라 괴물이 되어 가는 듯한데...

 

이야기를 들어보니 4.2V로 낮추지 않고 그냥 5V로 넣어도 잘 돌아간다고 합니다. 아니 그냥 5V를 넣어야 안정적이라고 하네요. 대신 GPU풀로드 걸리면 발열량이 무시무시하므로 그건 신경쓰라고 합니다.

 

그래서...

 

그래서 그냥 5V를 쑤셔넣었는데 유튜브도 잘 나오고 3시간째 아무 문제 없이 굴러가고 있습니다

 

그래서...

아래에 플라스틱을 살짝 뜯어 낸다음 선을 뽑았습니다

 

그리고 5V를 어댑터로 직접 연결했더니 아주 잘 켜집니다.

 

그래서 그냥 이제는 화면을 끄지 않고 그냥 돌릴라고 합니다. 아무 문제 없을 것 같습니다.

,

VirtualBox가 6.0으로 버전업 한지 오래되었습니다.


그런데 저는 버전업 하고 쓸일이 딱히 없어서 그대로 두었는데 최근에 Windows에서 작업할 일이 생겨서 VirtualBox를 켰습니다.


그런데...


이런 에러가 나면서 VM실행이 안 되더군요.


이유는 간단한데 버전업을 하면서 실행중인 스냅삿의 복원이 안 되는 것입니다.


방법은 간단하게도 그냥 전원을 껐다 켜는것처럼 만들면 됩니다.


터미널을 열고 다음과 같이 입력하세요.


VBoxManage discardstate "VM의 이름"


예를들어 VM의 이름이 windows10 이라면


VBoxManage discardstate "windows10"


이렇게 입력하면 전원이 꺼진상태로 바뀌면서 부팅을 하는 것을 볼 수 있습니다. 즉, 다시 스냅샷을 찍어야 합니다.

,

요즘 너무 블로그를 방치해두고 있었기에 그냥 할말 없으니까 뻘글이나 잠시 쓰려고 합니다.


HamoniKR의 버전업도 딱히 할 필요성을 못 느끼고 있고 조금만 더 기다리면 굳이 제가 안 해도 미디어 버전이 나올 것은 자명하기 때문에 리눅스 쪼물딱 거리는 것에 그냥 정신줄을 놓고 살았습니다. 


그런데 최근 또 이상한 짓을 시작하려고 해서 보니까 리눅스를 가지고 놀아야 겠더군요. 그래서 다시 블로그를 잡기 시작했습니다. 아무튼 윈도우를 이용하는 것보다 리눅스쪽이 이러나 저러나 최적화에는 유용하기 때문에 계속 리눅스를 잡게 될 것 같습니다. 아무튼....


다시 블로그 시작합니다. 여러모로 말이지요.

,

서버를 사용하다보면 SSH로 접속하기 마련입니다.

 

하지만 어떤 서버프로그램은 데몬형태가 아니라 그냥 프로세스 형태로 돌아가게 설계된 경우가 많습니다. 이럴 때는 SSH로 실행했을 시 nohup을 쓰지 않는 이상 SSH접속 = 서버종료 라는 상태가 됩니다.

 

하지만 nohup을 쓰게되면 문제가 이후에 SSH접속을 하면 서버메시지를 볼 수 없다는 겁니다. 물론 X를 쓰는 서버라면 그냥 터미널 창 하나를 더 띄우면 되지만 X를 쓰는 서버자체가 적지요.

 

그러면 어떻게 해야하느냐...

 

Screen이라는 것을 쓰면 됩니다.

 

우선 screen을 설치해봅시다

 

sudo apt install screen

 

그리고 세션을 하나 만듭니다.

 

screen -S [세션이름]

 

이제 한번 다음 명령을 써봅시다.

 

screen -r

그러면 아까 지정햇던 세션이름이 숫자.[세션이름] 형태로 뜨는 것을 알 수 있습니다. 이렇게 세션을 여러개 만들 수 있습니다.

 

이상태로 SSH를 종료해도 해당 세션을 살아있습니다. 즉, screen세션을 닫지 않는 이상 SSH접속 여부와 관계가 없어진다는 의미입니다.

그러면 저 세션에서 해당 서버 프로세스를 실행시키고 그냥 SSH접속을 종료하면 나중에 다시 SSH접속 후에 해당 세션에만 들어가도 서버메시지를 볼 수 있다는 의미가 됩니다.

 

해당 세션에 접속하는 방법은

 

screen -x [세션이름]

 

이렇게 하면 됩니다. 이제 이후에 해당 세션에 접근 하는것 만으로도 서버메시지를 볼 수 있게 됩니다.

,