이제 곧 6월 4일(세계 표준시 기준)에 리눅스 민트 19 Tara의 베타버전이 배포됩니다.


사실 이미 테스트버전이 FTP를 통해 배포중이었습니다. ftp://ftp.heanet.ie/pub/linuxmint.com/testing/


이미 이쪽을 통해 사전 다운로드가 가능했었다.



하지만 공식홈페이지에는 아직 올라오진 않고 있었는데 이번 6월 4일을 기준으로 공식적인 19 Tara의 베타버전이 배포될 예정입니다. 이번 리눅스 민트 19는 기존 16.04기반의 18.x버전과 달리 우분투 최신 버전인 18.04를 기반으로 만들어지고 있습니다. 따라서 우분투 18.04에서 개선된 것이 적용이 될 것입니다. (인텔의 Meltdown 완화 패치 포함) 


큰 기대는 하지 않지만 반대로 실망은 절대로 하지 않는 배포판이기에 초보자 및 본격적인 데스크탑으로 사용하고자 하는 분들에게 많이 추천하는 배포판입니다. 우리나라의 HamoniKR프로젝트(http://hamonikr.org/)도 이것을 기반으로 하고 있고 저도 이걸 기반으로 배포를 많이 했었지요. 


일단 우분투 18.04기반이기에 그동안 우분투 18.04가 쌓은 호환성 문제를 해결하고 이를 따라서 개인 PPA들이 지원하는 각종 프로그램들을 이용이 가능합니다. 18.2에서 18.3으로 넘어갈 때에는 Time Shift기능을 통해서 차별화를 했는데 이번에는 어떤 것을 가져올지 기대되는군요.


Tara버전의 베타버전이 나오면 일단 써보면서 이런저런 것을 해야겠지요.

,

저는 이전에 스마트폰으로 게임을 하기 위해서

http://moordev.tistory.com/128

이런 물건도 만들었습니다.



사실 스마트폰은 OTG기능과 블루투스가 있기 때문에 스마트폰용 게임패드가 상당히 많이 나와있습니다.


다만, 문제는 게임패드를 지원하는 게임이 많지 않다는 겁니다. 의외로 대다수 게임들은 터치 스크린에 최적화 되어 터치스크린을 비비면서 하게 만들어져 있습니다. PC게임중에서 XBOX게임패드를 지원하지 않아 키보드로 인식시키는 것과 비슷하다고 할까요?


아무튼 그래서 Octopus란 앱이 PlayStore에 나왔습니다.

https://play.google.com/store/apps/details?id=com.chaozhuo.gameassistant&hl=ko_KR

이 앱은 중국에서 만들어진 것으로 그동안 터치패드로 인식 시키기 위해 루팅을 하거나 각종 디버그 도구를 써야했던 것을 벗어나 루팅 없이 게임 패드를 터치로 인식 시킬 수 있는 앱입니다. 지원 패드는 여러가지가 있지만 일단 XBOX패드 혹은 그 호환 패드를 추천합니다. 그리고 블루투스 연결은 인풋렉이 좀 심하더군요. 개인적으로 OTG케이블을 이용해서 유선으로 연결을 해주세요.


그럼 이것을 이용해서 이떻게 해야하는지 설명해 보겠습니다. 설명에 사용될 타깃은 Mihoyo의 붕괴3rd입니다.


오늘의 타깃은 바로 이 게임. 왼쪽에 조이스틱 터치패드가 보인다. 이것을 조이패드로 플레이 할 예정이다.

이 게임은 액션 게임이라 뭔가 마구 눌러주는 것이 많습니다. 하지만 터치스크린에 두드려봐야 그 재미가 줄어들지요. 그래서 Octopus로 이를 써먹을 예정입니다.


우선 Octopus를 안드로이드 스마트폰에 설치해야겠지요?


https://play.google.com/store/apps/details?id=com.chaozhuo.gameassistant&hl=ko_KR


이 링크로 들어가면 PlayStore가 나와서 설치할 수 있을 것입니다.

안드로이드 4.4 Kitkat 이상이면 실행이 아무 문제 없이 잘 됩니다. 현재 누가 7.0에서 문제 없이 구동됨을 확인 했습니다.


그리고 구동을 위한 게임도 함께 다운로드 합시다. 붕괴3rd는 생각보다 용량을 많이 먹는 게임입니다.


그리고 Octopus앱을 켜면...


여기 있는 PUBG는 미리 등록한 것이다. 난 없는데 뭐냐고 하는 사람은 없길 바란다.

뭔가 번역기가 심하게 돌아간 한국어가 여러분을 반길겁니다. 뭐 어쩌겠습니까 중국에서 만든 것이니 그냥 그러려니 해야지요. 여기서 "게임첨가"(?)를 누릅니다.


여기서 Octopus로 실행할 게임을 선택해서 등록합시다. 그리고 게임패드를 연결하면...


이렇게 메뉴에 추가 된것을 확인 할 수 있습니다. 그리고 위에 게임패드가 연결 되었음을 알 수 있습니다. 만약 연결 어쩌고가 없다면 그건 패드 연결이 안 된것이니 다른 패드를 쓰거나 블루투스라면 유선 연결을 시도해주시기 바랍니다. 저는 Xbox패드를 써서 Xbox패드라고 인식이 되었습니다.


그리고 Octopus앱에서 게임 아이콘을 눌러서 실행을 해봅시다.


만약 저 외계인이 보이지 않는다면 Octopus가 실행이 되지 않은 것이다. 당장 게임을 끄고 다시 Octopus에서 게임을 실행하길 바란다.

한쪽 구석에 귀여운 보라색 외계인이 떠 있는 것을 알 수 있습니다. 바로 이 외계인이 Octopus입니다. 저 외계인 버튼을 누르면 각 게임 패드의 버튼을 어디에 할당할 것인지 설정할 수 있는 창이 뜹니다.


여기서 왼쪽 스틱은 당연히 패드의 왼쪽 스틱을 말하는 것이고 이걸 길게 누르면 터치 스크린의 어디를 스틱으로 인식 시킬 것인지 나오게 됩니다. (이건 스크린샷을 찍기 힘들어서 포기 했습니다.) 저는 왼쪽 아래의 터치형 조이스틱부분에 걸쳤습니다.


그리고 손잡이라고 나온 것이 오른쪽 스틱입니다. 이 게임에서는 그냥 화면을 미는 것으로 카메라를 돌리게 됩니다. 저는 이 것을 적당히 그냥 빈 공간에 배치했습니다.


그리고 제일 중요한 버튼! 버튼은 길게 눌러 배치를 하고 조이패드의 버튼을 눌러서 이 버튼이 어떤 버튼에 대응되는지 알려주어야 합니다. 그럼 화면에 조이패드의 버튼이름이 뜨게 됩니다.


아무튼 이런 식으로 조정을 하다보면...


아이 이 자식이 터치형 조이스틱 화면을 가려버렸지만 아무튼 이 위치가 조이스틱 위치다. 버튼부는 각각의 버튼이 어떤 곳에 위치했는지 알 수 있게 잘 해놓았다.

이렇게 배치를 할 수 있습니다. 그리고 게임을 하면서 이상한 부분이나 잘못 맞춘듯한 부분은 크기를 조정하고 위치를 조정하면서 맞추면 됩니다.


이 게임은 하다보면 계속 버튼이 추가되기 때문에 Act1을 전부 클리어 한 다음에 버튼배치를 완료하는 것을 추천합니다. 적당한 연습 모드에서 배치를 하는 것이 제일 낫습니다.


P.S Octopus를 이용하면 GooglePlay로그인이 되지 않습니다. 구글 계정으로 게임을 하고자 하시는 분들은 아쉽게도 불가능합니다. Facebook이나 다른 방식 로그인을 하게끔 해주시기 바랍니다. 붕괴3rd같은 경우에는 MiHoYo계정으로 하는 것을 추천합니다.


이것으로 각종 스마트폰 게임을 패드로 할 수 있게 되었네요. TeraM 이나 위에서 보였던 PUBG모바일도 가능합니다.

,

Docker는 이미 서버관리에서 필수가 된지 오래입니다.

https://www.docker.com



고래가 컨테이너들을 잔뜩 얹고 있는 이 모양은 바로 Docker가 나가고자 하는 방향을 나타냅니다. 


사실 Docker가 가지고 있는 가능성은 무궁무진합니다. 리눅스 컨테이너를 가상화하여 리눅스 프로그램을 정해진 환경에서 구동할 수 있게 만드는 것으로 특화 되어있습니다. 


이는 이미 우리나라에서 Docker에 대해 알고자 할 때 추천되는 바이블인 "가장 빨리 만나는 Docker"란 책에서도 나와있습니다. http://pyrasis.com/docker.html


그동안 서버를 구성하고자 하면 고생하는 것이 이만저만이 아니었습니다. 어떤 배포판은 /usr/lib에 서버가 설치되고 관리되면 어떤 배포판은 /usr/lib는 대몬만 설치되고 설정은 /etc로 관리됩니다. 또 어떤 배포판은 /usr/local에 설치됩니다. 제각각으로 관리되던 서버 설정 및 설치과정을 한큐에 해결하게 만든 것이 바로 docker입니다.


예를 들어 웹서버를 하나 구성하고자 한다고 하면 Nginx+PHP+MariaDB로 보통 구성됩니다. 그런데 배포판이나 OS마다 각 서버를 연동시키려면 고생이 이만저만이 아니었습니다. 어떤 배포판은 PHP를 CGI형태로 구동하고 어떤 배포판은 nginx로 하면 안 되고 Apache로 해야만 구동이 되는 등 중구난방이 따로 없었습니다. 10년 전에 Apache+Tomcat(JSP)을 하려고 할 때 서버를 뒤집어 엎어서 구성해야 가능했던 것을 생각하면 어휴...


하지만 Docker를 쓰면 미리 구성된 배포판과 서버 대몬이 그 어떤 리눅스 위에서도 문제없이 구동이 됩니다. 모든것이 완성 되어있기에 그냥 Docker 컨테이너를 올리는 것으로 서버 구성이 끝나게 됩니다. 그리고 그렇다는 것은 그동안 서버 관리자를 괴롭혔던 배포판별 판이한 구성 문제가 없다는 이야기가 됩니다.


사실 이전에 저도 비슷한 것을 구상하긴 했습니다. 다만 Docker같은 컨테이너가 아니라 VirtualBox를 이용한 돈없는 자를 위한 Sphere(VMware)를 구성했습니다. 성능은 당연히 VirtualBox이기에 영 아니었고 50%이상 성능이 까였기에 그냥 Sphere를 구입하는 것이 100배 나은 물건이었습니다. 장점은 VirtualBox라서 윈도우도 올리는 것이 가능했단 점 정도? 좋은 것은 하나도 없었습니다.


지금은 서버라면 다들 Docker로 구성해서 컨테이너를 올리는 것 만으로 서버구성을 끝내는 것이 대세입니다. 하지만 docker라는 이 녀석을 서버용으로만 사용하는 것이 좋을까요?


사실 저는 이미 Docker를 데스크탑에 적용해서 사용하는것을 블로그에 올린적이 있습니다.

http://moordev.tistory.com/180


의외로 방문율이 높은 포스트 중 하나이다. 이 글은 한글2008을 구동하는 것 뿐 아니라 원격 X프로토콜을 가지고 노는 기술도 포함되어 있다.


바로 한글2008을 배포판 관계없이 설치해서 사용하는 것을 docker를 써서 하는 것으로 만들었습니다.


즉, Docker를 서버만 쓰지 않고 데스크탑에도 적용해서 사용하단 것을 보여 드렸습니다. 


그냥 GUI를 Docker에서 굴리기 위해 만들어진 프로그램도 있습니다. X11Docker란 프로그램입니다.

https://github.com/mviereck/x11docker


이쪽은 그냥 데스크탑을 컨테이너화 해서 굴리는 것을 목표로 합니다. 그냥 다른 배포판을 쓰는 것이 가능합니다. 우분투에서 데비안을 혹은 페도라를 얼마든지 구동할 수 있다는 의미입니다. VirtualBox등을 통해 설치후 사용하는 것이 아닌 성능저하 거의 없는 가상화 리눅스를 그냥 얻어 내는 것입니다. 특히 몇몇 프로그램의 경우 라이브러리를 맞춰준다던지 파일 경로를 만들어서 묶어준다던지 해야하는 경우가 많은데 이렇게 하면 리눅스 데스크탑도 Docker를 통해 삽질 없이 바로 사용가능하게 만들 수 있다는 의미가 됩니다.


사실 저 X11Docker는 제가 유심히 보고 있는 프로젝트입니다. 엄청 유용할 것으로 예상되는데다가 32비트 우분투의 배포가 중단되고 있는 지금 구형 프로그램을 굴려야 할 때 굳이 오래된 우분투를 설치하지 않고도 최신 배포판에서 구형 프로그램을 굴릴 수 있게 하는 아주 좋은 프로젝트라고 생각하고 있습니다. Wine 1.0이라던가 한글2008이라던가 혹은 MATLAB 구형같은 오래된 프로그램이 있을 수 있겠지요!


그렇게 쓰다가 조금 시스템이 꼬인다 싶으면 그냥 컨테이너를 내렸다가 다시 올리면 됩니다. 참 쉽죠?


Docker를 굴리는 방법에 대한 이야기는 아까 말한 가장 빨리 만나는 Docker를 추천하고 저는 Docker를 다른 방법으로 사용하는 것에 대해 말씀드렸습니다. Docker를 서버외의 용도로도 쓸 수 있다는 것을 알아 주셨으면 좋겠습니다.

,