이제 곧 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를 서버외의 용도로도 쓸 수 있다는 것을 알아 주셨으면 좋겠습니다.

,

GAME. 번역하면 오락.


대체 게임이란 무엇일까요?

사실 게임이라고 하면 요즘은 대부분 전자오락, 혹은 컴퓨터 게임등을 생각하지만 우리는 게임이라는 것이 그것만이 아니라는 것을 잘 알고 있습니다.


바둑, 장기, 윷놀이, 주사위 게임 등등

심지어 각종 운동경기(테니스, 축구, 야구 등)도 게임이라고 할 수 있지요.


이런 것은 전자 오락도 아니지만 엄연히 게임이 맞습니다.


그런데 대체 게임의 정의에 대해 말해보라고 하면 "게임이란 이런 것이다." 라고 정확히 말 해주는 이는 없습니다.


위키 낱말 사전에서는 이렇게 정의하네요. https://ko.wiktionary.org/wiki/%EA%B2%8C%EC%9E%84

정해진 규칙에 따라 노는 일.


네. 정확히 말하고 있습니다. 사전적으로는 정확합니다. 하지만 제가 원하는 답은 이게 아니에요.


역으로 말하겠습니다. 우리가 게임을 하는 이유는 무엇일까요?


게임을 싫은데 억지로 하는 경우가 있나요? 아니 뭐, 켠김에 왕까지 같은 TV쇼에서는 억지로 하다가 너무 싫어서 중간에 탈주하는 경우도 있지요.


이분은 엄연히 일 때문에 하는 것일 뿐. 좋아서 하는 것은 아니다.(하지만 방송인으로서 방송이 좋으니까 하는 것이라고 생각한다.)



그냥 우리끼리 일반적으로 게임을 할 때(축구나 야구 같은 운동 경기도 포함해서) 게임을 함으로서 얻는 것이 무엇일까요?


바로 "재미"입니다.


말 그대로 재미를 느끼기 위해서 하는 거에요.


저는 게임을 할 때 재미를 느끼지 못하는 순간 그건 게임으로서 수명이 다 했다고 보고 있습니다.


누구나 할 수 있고 준비과정도 필요없고 전 국민이 모두 알고 있는 게임이 하나 있지요.

가위바위보를 예로 들겠습니다.


가위바위보는 그것만으로 재미를 느끼지는 못 합니다. 여기에 뭔가가 덧붙여져야 진정한 게임으로 인정을 받지요.


지금 당장 나가서 아무나 붙잡고 가위바위보를 하자고 해보세요. 어느 누가 재미있어합니까? 규칙도 있고 목적도 있는데 하루종일 의미없이 가위바위보만 죽어라 해보세요. 아무도 하려고 하지 않을 겁니다.


왜냐하면 재미가 없으니까요. 즉, 이 순간 게임으로서 수명이 끝나게 되는 것입니다.

물론, 가위바위보는 보통 다른 게임의 보조적인 역할을 하는 게임이기에 딱히 그 자체로 게임을 완성하지는 못하지만 사전에 간단한 승부를 내야하는 게임에서는 가위바위보를 이용해서 처리하곤 하지요.


이해가 안 가신다고요?


그러면 축구를 예로 들겠습니다. 솔직히 말해서 동네축구라도 한 번 안 해본 사람은 없으리라 믿습니다. 축구공을 왜 차는 것인가요? 왜 다들 수비보다는 공격을 하고 싶어하는 걸까요? 그건 당연히 골을 넣는 것이 재미있기 때문입니다.


일반적으로 사람은 재미를 느끼고 재미를 위해서 살아간다고 해도 과언은 아니에요. 삶의 소소한 재미를 느끼기 위해서 지금 일을 하고 밥을 먹으면서 살아가는 것이지요. 노는 것도 돈이 있어야 가능한 세상이 되기는 했지만 어쨌건 재미를 느끼지 못하면 그게 무슨 삶입니까.


그렇기에 게임이란 일종의 삶에서 재미를 느끼기위한 장치 중 하나라는 것이지요.


최근에 나오는 각종 PayToWin게임들(이하 개돼지게임)이 왜 그렇게 욕을 먹는 것일까요?

개돼지게임들은 재미가 없으니까 욕을 먹는 것입니다. 개돼지 게임은 돈을 얼마나 바르느냐에 따라 승부가 갈리고 이미 게임을 시작하기 전에 승부가 결정났다고 보이니까 재미가 없는 것이지요.


이건 각종 프로 스포츠랑 비교함으로서 설명이 가능합니다.

매년 우승하는 팀이 우승하는 리그는 인기를 끌기 어렵습니다. 이런 팀은 관중 동원력은 좋지만 리그 전체로 봤을 때 새롭게 유입되는 관중은 적어집니다. 이건 해당 스포츠(즉, 게임)을 몰락 시키는 결과를 가져오지요. 물론 공은 둥글고 스포츠란 것이 개돼지게임이 절대 아니다보니 매일 지는 팀이 이기기도 하기에 이는 곧 해당 스포츠가 인기를 지속하는 원인이 됩니다.


가끔 이런 일도 있어야 재미가 있는 것이다. 브라질이 축구를 잘 하는 것은 아무것도 안해도 이길 수 있어서가 아니다. 출처 : http://www.yonhapnews.co.kr/international/2014/07/09/0606000000AKR20140709018300007.HTML


하지만, 개돼지게임은 무조건 돈을 많이 쓴 사람이 이깁니다. 내가 얼마나 잘했느냐보다 돈을 얼마나 썼냐에 따라서 게임의 승패가 갈립니다. 이러니 당연히 재미가 없지요. 딱봐도 상대는 이미 수십만원을 둘둘 바르고 나타났는데 이미 승부는 갈렸고 내가 아무리 용써봐도 상대는 꿈쩍도 안 하는데 무슨 재미입니까. 심지어 수십만원을 쓴 상대는 양민학살이 재미있으니까 하는 것인데 하지말라고 할 수도 없습니다.


그러다가 유입 인구가 적어지면 아무도 안 하는 게임이 되겠지요.


사실 모든 게임 기획자, 게임 제작자, 게임 디자이너 모두 게임을 만들때 재미를 느끼게 하기 위해 많은 노력을 합니다. 하지만 그 재미가 없어진다면 그건 게임이 아니라 그냥 일이 됩니다. 그냥 카피 게임도 무작정 카피하는 것이 아닌 카피하는 게임이 왜 재미가 있는지 알고 카피를 하면 나중에는 나름 독특한 게임이라고 인정을 받게 됩니다.


따라서 저는 게임을 이렇게 이야기 합니다.


게임이란

"재미를 느끼기 위해 하는 모든 행위 그리고 그렇기 위해 하는 규칙과 놀이"


여기서 벗어난 순간 그것은 더 이상 게임이 아닙니다.

,

윈도우10이 기본 테마 https://b00merang.weebly.com/windows-10.html 여기서 만든 테마를 넣었다. 아주 좋소!

하모니카 바탕화면(http://hamonikr.org/board_KtxL32) 에 올라온 것을 적당히 추려서 추가해 넣었다.

정말로 워드 아닙니다. 테마를 설정했더니 워드 아이콘이 박혀버렸습니다.

우분투18.04가 발표된지 꽤 지났습니다.


처음에 조금 문제가 많았지만 그래도 많이 안정화 되었고 이제 우분투 18.04로 업그레이드를 조금 생각해봐도 좋을 시기가 되었습니다.


그렇기에 우분투... 는 아니고 우분투 마테(ubuntuMATE)를 한국어로 설정한 이미지를 공유합니다.


사실 그동안 쭉 공유해왔던 리눅스민트 한국어버전이나 우분투 16.04기반 한국어화 버전과 큰 차이는 없습니다. 제가 따로 만들어 넣은 것도 없고 추가 번역을 한 것도 없습니다. 오로지 깔고 귀찮은 작업을 하는 사람들이 없는 것을 바라는 마음에서 세팅을 완료한 버전을 공유하는 것이지요.


이번 우분투 마테 한국어 버전의 기본 버전과 다른 수정 사항은 다음과 같습니다.


1. 한국어 설정 완료(물론 설치할 때 설정합니다.)

2. 한국 시간 설정 완료(물론 설치할 때 설정합니다.)

3. 기본 한글 입력기 fcitx 설정 완료

4. 기본 키보드 한국어 104키 호환 레이아웃(노트북 한/영키 지원)

5. 한컴 뷰어 설치

6. arkzip 설치(Egg, Alz 해제 가능)(https://github.com/Thestars3/arkzip)

7. Bleachbit 설치(캐시 등 찌꺼기 제거 프로그램)

8. 깨진 한글 파일명을 고쳐주는 Filename-Repairer 설치

9. BriskMenu 일부 자체 한글화

10. 기본 저장소 카카오 미러(mirror.kakako.com)로 설정

11. Windows10테마 기본 설정(https://b00merang.weebly.com/windows-10.html)

12. 기본 배경화면 일부 추가(하모니카 바탕화면 자랑 게시판 이미지 http://hamonikr.org/board_KtxL32)

13.Spoka-Han-Sans 폰트 설치(https://spoqa.github.io/spoqa-han-sans/ko-KR/)

14. Gabia 폰트 설치(https://company.gabia.com/font)


Windows10테마를 설정하는 방법은 http://moordev.tistory.com/238 여기를 참고하세요. 이런 식으로 만들었습니다.


다운로드:

https://drive.google.com/open?id=1nsrwa9wld7DLfvHiciqJcgzndUNOev0s


MD5:

47260ae1d6b9a7a1b791b36ba5efd97a  ubuntu-mate-18.04.0-2018.05.02-desktop-amd64.iso

,

정확한 이유는 알 수 없으나 일부 사람들에 한해서 우분투 업데이트를 시도 하던 중에 dpkg(설치 프로세스)가 랜덤하게 튕기는 증상이 있었습니다.


지금은 다시 정상화 된 것처럼 보이는데 어떻게 될지는 아직 저도 확신을 할 수 없습니다.


아마도 제 예상에는 우분투 18.04 업그레이드를 위해 과도한 업데이트 요청이 쏟아지면서 각 업데이트 미러 서버 동기화에 문제가 생긴것이 아닐까 싶습니다.


웃긴것은 업데이트가 알 수 없는 오류로 중단 된 이후 다시 업데이트를 시도(apt upgrade)하면 또 업그레이드가 정상적으로 된다는 것입니다.


아마도 우분투 출시 초기의 혼란으로 보이므로 만약 패키지 설치 중 오류가 발생하신다면 차분하게 다시 시도를 해보세요. 혹은 상대적으로 넉넉한 용량을 확보한 하루카상 서버(부경대) ftp.harukasan.org 를 이용하시면 문제가 해결될 가능성이 높습니다.


단, 한번 잠깐 오류가 나는 것이 아닌 만약 패키지의 지속적인 설치 오류가 난다면 그것은 문제가 있는 것이니 꼭 버그리포트를 해주시기 바랍니다.

,

우분투 관련 이야기지만 우분투 분투기가 아닌 리눅스 관련 이야기로 올립니다.


우분투 18.04의 정식판 공개일이 코앞으로 다가왔습니다.

이번 우분투 18.04는 기존 우분투 16.04LTS에서 4.15 커널과 그놈 환경 이용 등으로 획기적인 변화를 가져올 예정입니다. 다만, 기존 16.04가 처음 나왔을 때 호환문제로 고생을 한 기억이 있어서 바로 18.04로 넘어가는 것은 조금 무리가 있다는 판단이 듭니다.


1. Wayland에서 다시 Xorg로 돌아가다.


이번에 18.04에서 생각해봐야 할 것은 17.10때 적용되었던 wayland의 적용을 뒤로 미뤘다는 것입니다. Wayland는 Xorg를 대체할 차세대 GUI서버로 작은 크기와 빠릿한 반응으로 기대를 받고 있습니다. 아니, 유망주로 몇년째 담금질을 하고 있습니다.


다만, 기존에 Xorg기반으로 만들어진 프로그램이 워낙 많고 Wayland의 호환레이어인 Xwayland가 완벽한 호환을 보여주지 못하고 있어서 17.10시절 고생을 한 사람이 많다고 하네요. 그래서 이번 18.04는 Wayland 대신 Xorg를 기본 서버로 되돌리고 옵션으로 Wayland를 쓸 수 있도록 했다고 합니다. 일단은 그래도 LTS니까 Wayland는 조금더 지켜보기로 한 것입니다. 아마도 Wayland로 전환되기까지는 사운드쪽의 OSS에서 ALSA로 넘어가던 시절만큼 시간이 오래걸리지 않을까 싶습니다.



2. 32비트 버전의 이미지 배포 중단


 이젠 32비트버전의 배포판을 더 이상 만들지 않겠다고 합니다. 하지만 32비트 라이브러리는 계속 지원을 할 것이라고 합니다. 아직은 32비트를 버릴 수는 없으니까요. (특히 Wine과 Windows의 32비트 프로그램, 그리고 일부 32비트용 게임 때문에 32비트는 어쩔 수 없습니다.)그러므로 아마도 리눅스민트나 다른 우분투 기반 OS에서는 32비트 버전이 나올 가능성이 높습니다. 특히 저사양PC의 재활용을 중점적으로 다루는 LXLE(http://lxle.net/)같은 경우에는 32비트 버전이 나오지 않으면 위치가 애매해집니다.


32비트 문제로 엑소더스가 일어나지는 않을지 지켜봐야 할 것 같습니다.


Windows의 경우 16비트에서 32비트로 넘어가기까지 꽤 걸렸던 것 같은데(32비트는 그 전부터 쓰이고 있었지만 WindowsMe를 마지막으로 16비트 코드가 사라지게 됩니다.) 32비트에서 64비트로 넘어가는 것은 더 오래걸리고 있어서 우분투가 먼저 선수를 치는 것 같네요.


생각해보니 64비트OS도 리눅스에서 먼저 나왔던 것을 생각하면 이해 못할 일은 아니라고 봅니다. (WindowsXP x64 2005년 출시, AMD64 리눅스 커널 2003년 릴리즈)


3. 커널 4.15의 적용

 

 이번에 각종 보안 이슈로 인하여 걱정이 이만저만이 아닌 사람들이 많습니다. 컴퓨터를 그냥 집에서 가지고 노는 용도로만 쓰거나 별 관심이 없는 사람들은 모르지만 멜트다운, 스펙터 버그로 인하여 업무용으로 사용하는 사람들은 걱정이 이만저만이 아니었습니다.


 그러한 버그를 해결한 커널이 4.15입니다. 물론 바닐라 커널 기준으로 4.15부터 패치가 적용되었지만 배포판 업체에 따라서 이전 커널에 백포트되어 적용이 되기도 합니다.(레드햇 같은 업체는 커널 3.x대와 함께 2.6도 아직 지원합니다.) 하지만 백포트는 어디까지나 백포트이고 메인 프로젝트는 리눅스재단의 커널이 만들고 있는데 이번 4.15부터 해당 버그해결과 사고를 일으킨 인텔의 ME를 걷어내는 작업까지 해 놓았습니다. 아마도 시스템 내부적으로 제일 큰 변화가 이것이 아닐까 싶습니다. 16.04에서도 바닐라 4.15를 쓰고 있는데 캐노니컬이 만드는 4.13보다 훨씬 낫습니다.


4. 데스크탑 리눅스의 기준


 이렇게 이야기하면 openSUSE나 Fedora를 쓰시는 분들이 쳐들어올 것 같은데 우분투는 데스크탑용 리눅스의 기준입니다.


 데스크탑에서 제일 중요한 것은 이용자의 편리함입니다. 흔히 UI를 이야기하지요. Gnome이 리눅스 데스크탑에서 주가 된 것은 사실 우분투의 영향이 컸다고 봅니다. 사실 우분투에서 Gnome이 제일 잘 돌아가기도 하고요. 게다가 Nvidia나 AMD는 자사의 클로즈소스 드라이버를 발표할 때 우분투 발표에 맞춰서 발표를 합니다. 이유는 리눅스 데스크탑 사용자들이 업그레이드하는 시기가 우분투 발표와 겹치기 때문입니다.


특히 우분투 LTS의 업그레이드는 이용자가 대거 업그레이드를 시도하는 시기이기 때문에 특히 드라이버를 만들 때 신경을 쓰게 됩니다. 지난 16.04발표후 Catalyst가 우분투 지원에서 내려가게 되었는데 대신 AMD는 AMDGPU-Pro라는 오픈소스를 기반으로 하되 클로즈 소스를 추가한(그러니까 오픈소스인 크로미움에 클로즈소스인 구글앱과, Flash를 추가한 크롬을 생각해보세요.)드라이버를 발표했습니다. 새로운 우분투가 어떤 변화를 가져올지 조금 지켜봐야 할 것입니다.


5. 수많은 우분투 변형판들


사실 우분투도 데비안의 변형판이고 리눅스의 계보를 따라가면 레드햇, 슬랙웨어, 데비안 이렇게 셋이라고 하지만 이젠 제 갈길 가기 시작해서 따로 놀기 시작한 우분투는 데비안과 구분을 지은지 꽤 지났습니다. 그 편리함 때문에 우분투를 기반으로 한 배포판은 상당히 많습니다. 우분투가 나온다고 하면 우분투 그 자체보다 변형판들을 기대하는 사람들이 훨씬 더 많습니다. 저도 사실은 Gnome3보다는 MATE를 선호하기 때문에 ubuntuMATE나 LinuxMint MATE를 기대하고 있습니다.


그런데 이번 18.04는 17.xx부터 편입 된 공식 변형판들의 LTS버전이 나오는 버전입니다. 공식 변형판들은 18.04라는 이름하에 우분투와 동시에 나오게 됩니다. 16.04와 비교해서 공식 변형판들이 상당히 많아졌습니다. 선택의 폭이 넓어졌다고 해야 할까요? 저는 LTS에 눌러앉는 경우가 많아서 17.xx는 써본적이 없습니다. 게다가 16.04가 꽤 잘 버텨준 덕에 계속 16.04를 고수해왔고요. 어쨌건 18.04가 나오면 18.04기반으로 업그레이드를 해야하는데 선택의 폭이 확실히 넓어진 것을 환영해야 할 듯 합니다.

(하지만 전 LinuxMint MATE로 그냥 갈 것 같습니다....)



우분투 18.04 Bionic Beaver를 기대하며... 이상 마치겠습니다.


P.S ubuntuMATE 18.04의 파이널 베타 버전을 써봤는데 베타인데도 상당히 안정적이었습니다. 물론 베타1때는 불안정해서 안되겠다 싶었는데 한 달 만에 안정화가 되었더군요. 18.04는 상당히 안정적인 버전이 될 것임을 예상합니다.

,

최근 헤드폰에는 노이즈 캔슬링 기능이 들어있는 경우가 많습니다. 이러한 것은 대개 추가 배터리를 요구하거나 USB포트 등이 달려있어서 이를 이용해서 각종 주변 소음을 막아냅니다.


그런데 이런 기능이 있다는 것은 알지만 이것이 대체 어떤 원리로 만들어지는지 아는 사람은 별로 없습니다.

심지어 노이즈 캔슬링은 그저 방음벽과 같은 원리겠거니 하는 사람도 많습니다. 아주 틀린 것은 아니지만 그런데 이런 사람들은 배터리나 추가 전원은 왜 들어가는지 모릅니다.


사실 주변 소음을 제거하는 방법은 두가지로 나뉘어집니다.


1. 완전 차폐를 하여 주변 소음이 들어오지 못하게 하는 방법

  - 방음벽이 이러한 방식으로 만들어집니다. 주변 소음을 흡수해버리지요.

  - 그리고 커널형 이어폰들이 최대한 차폐를 하여 만들어지는 대표적인 물건들이지요.


하지만 이러한 방식도 당연히 한계가 있습니다. 귀를 틀어막게 되면 귀에 강한 압력을 가하게 되고 이는 귀에 안 좋은 영향을 끼치게 됩니다. 그래서 커널형 이어폰 자체를 싫어하는 사람이 많습니다.



2. 역파장을 계산하여 이를 통해 캔슬링을 하는 방식


  - 이것이 바로 추가 배터리와 전원을 요구하는 이유입니다. 무슨 소리냐면 같은 2000Hz의 소리라도 파장이 180도 다른 두 소리를 합한다면


 sin(n)+sin(n+180°)=0


이를 이용해서 주변 소리와 반대되는 파장을 만들어 스피커로 보냄으로서 해당 소리를 듣지 못하게 하는 것입니다. 문제는 이를 계산하는 시간이 너무 느리면 180°의 파장이 아닌 애매한 소리가 된다는 것입니다. 그래서 실제로 스피커의 반응 속도에 맞춰서 튜닝을 하는 작업이 필요한데 이것이 노이즈 캔슬링 헤드폰의 가격에 가장 큰 영향을 미칩니다. 요즘은 그나마 계산 속도가 빨라져서 낫다고 합니다.


특히 좀 가격이 싼 물건은 너무 저음의 소음이나 너무 고음의 소리는 막지 못하는 것을 알 수 있습니다.


2000Hz 이하의 소리를 검출하기 위해서는 못해도 1/2000초 즉, 0.5ms 이상의 샘플링시간이 필요한데 0.5밀리초 이후에 소리가 난다는 것은 이미 캔슬링되지 못하고 귀에 들어갔다고 봐야합니다. 캔슬링의 의미가 없지요. 너무 고음의 소리는 180도를 정확히 만들기가 쉽지 않습니다. 파장이 굉장히 빠르기 때문입니다. 잘못해서 90도로 만들어진다면...


sin(n)+sin(n+90)=2sin(n)


없애기는 커녕 도리어 소리가 커지게 됩니다.


보통 사람이 들을 수 있는 소리가 20~20000Hz정도이고 이것도 나이가 어린 경우에만 가능한 것이니 대부분 사람들은 100~18000Hz정도로가 생각해야 할 겁니다. 저 같은 경우에는 14000Hz 이상이 들리지 않을 정도로 귀가 망가져서 싸구려 스피커를 써도 아무런 문제가 없지만 귀가 좋은 사람들은 18000Hz를 듣는다고 하더군요. 이런 노이즈 캔슬링을 하려면 이러한 웅웅대는 소리도 막아야 하는데 180도 위상의 소리를 만들기 위해서는 진동판의 성능을 고려해서 만들어야 합니다.


무슨 소리인고 하니 아무리 가볍고 빠른 반응속도의 진동판을 쓰더라도 반응 속도에 따른 딜레이가 발생되고 이를 고려해서 반대 위상을 그냥 만들면 안 되는 것이지요. 특히 진동판의 고유 진동수에 멀수록 반응 속도가 늦어진다고도 합니다. (고급 스피커의 경우 저음용과 고음용으로 나누는 이유)


골치 아프죠?


사실 그래서 요즘은 1번과 2번을 같이 사용하는 방식을 사용합니다. 물리적으로 진동판의 반응속도가 느린 주파수는 차폐를 하는 방식을 쓰고 동시에 진동판의 고유 진동수에 가까운 주파수는 반대 파장을 만들어서 진동판에 같이 뿌리는 겁니다. 


물리적 차폐가 어느 정도 막아주면 사람 말소리와 비슷한 주파수(2000~12000Hz)는 반대 위상으로 막아내는 것이지요. 하지만 이것도 완벽하지는 않겠지요. 그래서 완벽에 가까운 성능이 좋은 물건일 수록 미친듯이 가격이 올라가는 것이겠지요.


이래서 오디오가격에 비싼돈을 바르는 사람들은 그냥 바르는 것이 아닌 것 같습니다.


P.S 그런데 오디오에 관심이 많은 사람치고 주파수와 푸리에 변환같은 수학적인 것에는 문외한인 사람이 많은 것 같습니다. 아직도 DAC를 거치기 전 디지털 신호의 손실이나 FLAC 음원의 손실 같은 소리를 하는 것을 보면 웃음밖에 안 나옵니다.


최근 잡음 제거로 고생을 했는데 잡음을 제거하는 제일 좋은 방법은 그냥 다른 소리로 안 들리게 묻어버리는 것이었습니다. 지극히 아날로그적인 발상이지만 최소한 듣기 싫은 소리를 빼는 것에는 성공을 했지요. 이러한 꼼수들이 사실은 각종 오디오 기기에서 말하는 노하우들이 아닐까 싶습니다.

,

2018년 4월 현재 한국에서 가장 빠른 오픈소스 미러 서버는 다음카카오 입니다.


이전에는 그냥 Daum이었지요.


그래서 이전에는 저장소를 쓸 때

http://ftp.daum.net


이렇게 썼는데 다음과 카카오가 합병한 이후에는 주소가 바뀌어서


http://ftp.daumkakao.com


이렇게 바뀌었고 저도 이렇게 쓰고 있었습니다.


그런데 최근 주소가 또 바뀌었네요? 물론 리다이렉트 되기 때문에 별 문제는 없지만 어딘가 한군데를 더 거치는 것이 걸리적거리니...


http://mirror.kakao.com/


여기로 바뀌었습니다. 이젠 다음이란 이름을 싹 날려버리고 오로지 카카오로 통일하려고 하는군요. 카카오가 거대기업이 되더니 느낌이 어째 쎄합니다? 통근버스가 동네 학원버스였던 것이 엊그제 같은데 세상 참 빨리 변하네요. 이젠 괴물로 보이기 시작하다니...


인터페이스도 훨씬 더 예뻐졌습니다. 보통은 이 화면을 보기전에 그냥 컴컴한 CMD화면에서 주소를 바꾸기 때문에 잘 모르시긴 하겠지만...

,


LibreOffice가 어느새 6.0으로 업데이트 되었습니다.


기존 5.0보다 더욱 좋아진 기능으로 무장했고 더욱 호환성을 높혔습니다.


그런데 그에대한 반동으로 상당히 무거워졌습니다. 왠지 MSOffice가 갔던 그 길을 따라가는 것 같아 슬프네요.


하지만 뭐 이걸 어느정도 완화 할 수 는 있습니다. 물론 기본적으로 무거워 진 것은 어쩔 수 없으니 답답하면 버전을 낮추기라도 해야겠지요. (....아니면 이참에 다른 것으로 바꿔야 할지도 모르겠네요.)


일단 LibreOffice의 아무 프로그램이나 실행한 다음

도구-옵션으로 들어갑니다.


그다음 Advanced를 찾아 들어갑니다. 아직 번역이 완벽히 되지 않아서 한글과 영문이 섞여 있습니다.


여기서 Open Expoert Configuration 즉, 전문가 설정을 눌러 들어가도록 합시다.

참고로 여기서 JAVA를 꺼주시면 조금이나마 더 성능이 나아지기도 합니다. 대신 일부 기능을 못 씁니다.



여기서 org.openoffice.Office.Common에서 Cache -> GraphicManager 순으로 열어서 확인합니다.


여기서 캐시크기를 늘려주면 그림이 많은 문서를 작업할 때 캐시를 확보해서 어느정도 버벅임을 줄일 수 있습니다. TotalCacheSize와 ObjectCacheSize를 늘려주세요. 물론 적당히 늘려야 메모리를 절약할 수 있겠죠?


그리고 확인을 누른다음 옵션에서 보기를 누릅니다.



그래픽출력을 확인해보시면 하드웨어가속 사용이 있는데 시스템에 따라 하드웨어가속을 써야 빠른 경우가 있고 하드웨어 가속을 꺼야 빠른 경우가 있습니다. 그건 상황에따라 다릅니다. 그리고 OpenGL렌더링 사용은 왠만하면 체크해두세요. Ignore OpenGL Blacklist는 체크를 해서 쓰다가 렌더링이 깨지면 그냥 OpenGL 사용 자체를 꺼주세요. 일부 GPU에서 렌더링이 깨진다고 합니다.


일단 이렇게만 해도 적당히 돌아는 갑니다. 그런데 아직도 답답하다면 LibreOffice를 다운그레이드 하는 것도 방법입니다.


뭐... 차차 나아지겠지요.

,