Firefox나 Chrome은 초기 구동속도가 매우 느립니다. 처음에 메모리에 올려야 하기 때문인데요. HDD를 쓰는 경우 속도가 더더욱 느려서 처음에 속도가 상당히 느려서 상당히 답답함을 느끼시는 분이 많습니다.


제 시스템에서는 Firefox가 약 10초 Chrome은 40초정도의 초기 실행 성능을 지니고 있습니다. 솔직히 10초는 기다릴만하다고 생각했는데 Windows에서 IE나 Edge를 실행해보셨던 분들은 아시겠지만 얘네들은 바로바로 실행되는 모습을 볼 수 있습니다. 이유야 당연하게도 Windows에서는 미리 컴포넌트들이 메모리에 올라가 있기 때문입니다. 그래서 Chrome은 이명이 느긋한 돼지라는 별명을 지니고 있습니다. Firefox는 여우답게 날렵했지만 Chrome과의 렌더링 속도에서 져버린 이후 Chrome과 같이 초기 구동 속도가 느리지만 웹렌더링 속도를 올리는 방식을 사용합니다.


그럼 방법은 뭐가 있느나...


Chrome의 경우 처음 실행 후에는 다시 실행을 해도 금방 실행이 되는 모습을 보입니다. 왜냐하면 모든 창을 다 꺼도 백그라운드에서 숨을 죽이고 있기 때문입니다.


아래 그림과 같이 말입니다.


크롬은 한번 실행 후에 백그라운드에서 대기를 타는 방식을 사용한다.

이렇게 하면 체감 속도가 엄청 향상되는 효과를 얻습니다. 역으로 말하면 다른 브라우저들도 백그라운드에서 미리 실행을 해두면 웹브라우저를 빠르게 실행이 가능하다는 의미가 될 수 있습니다. 요즘에는 메모리관리를 열심히 해주지 않아도 충분히 사용이 가능한 시대이기 때문에 자주 쓰는 프로그램을 미리 실행해두는 것도 나쁜 생각이 아닙니다. Chrome이야 그렇다 치지만 Firefox는 메모리도 적게 먹으니까 백그라운드에 실행해 두었다고 해도 문제될 것은 없습니다.


http://hamonikr.org/board_aMBI05/52629


여기서 바람곰돌님이 초기 브라우저 속도가 너무 느리다면서 나온 이야기입니다. 그래서 제가 인터넷을 검색해서 Firefox를 백그라운드에서 실행하는 방식을 추천했지요.


https://askubuntu.com/questions/853891/how-can-i-make-firefox-run-in-the-background-like-chromium


여기에 나온방식으로 스크립트를 만들고 Firefox를 컴퓨터 실행 후에 백그라운드로 실행하니 4초만에 실행이 되면서 편하게 사용이 가능해졌다고 하시더군요.


그래서 이렇게 된 거 여기에 이 방식을 한국어로 소개하려고 합니다.


#!/usr/bin/env python3
import subprocess
import os
import signal
import gi
gi.require_version('Gtk', '3.0')
gi.require_version('AppIndicator3', '0.1')
from gi.repository import Gtk, AppIndicator3
import time

app = "firefox"
winsdir = os.path.join(os.environ["HOME"], ".config/hidden_windows")

try:
    os.mkdir(winsdir)
except FileExistsError:
    pass

def checkruns(app):
    try:
        return subprocess.check_output(["pgrep", app]).decode("utf-8").strip()
    except subprocess.CalledProcessError:
        for w in os.listdir(winsdir):
            if w.startswith(app):
                os.remove(os.path.join(winsdir, w))

def get_currentwins(pid):
    wins = subprocess.check_output(["wmctrl", "-lp"]).decode("utf-8").splitlines()
    return [l.split()[0] for l in wins if pid in l]

def hide_currentwins(matches):
    # open(os.path.join(winsdir, "windowlist"), "wt").write("\n".join(matches))
    for w in matches:
        open(os.path.join(winsdir, app+"_"+w), "wt")
        subprocess.Popen(["xdotool", "windowunmap", w])

def run_app(app):
    subprocess.Popen(app)
    while True:
        time.sleep(1)
        pid = checkruns(app)
        matches = get_currentwins(pid) if pid else None
        if matches:
            hide_currentwins(matches)
            break

def restore_wins():
    for w in [w for w in os.listdir(winsdir) if w.startswith(app)]:
        wid = w.split("_")[-1]
        subprocess.Popen(["xdotool", "windowmap", wid])
        os.remove(os.path.join(winsdir, w))

def toggle_app(*args):
    pid = checkruns(app)
    if pid:
        matches = get_currentwins(pid)
        if matches:
            hide_currentwins(matches)
        else:
            restore_wins()
    else:
        subprocess.Popen(app)

run_app(app)

class Indicator():
    def __init__(self):
        self.app = 'toggle_app'
        self.indicator = AppIndicator3.Indicator.new(
            self.app, app,
            AppIndicator3.IndicatorCategory.OTHER)
        self.indicator.set_status(AppIndicator3.IndicatorStatus.ACTIVE)       
        self.indicator.set_menu(self.create_menu())

    def create_menu(self):
        self.menu = Gtk.Menu()
        item_toggle = Gtk.MenuItem('Toggle '+app)
        item_toggle.connect("activate", toggle_app)
        self.menu.append(item_toggle)
        sep1 = Gtk.SeparatorMenuItem()
        self.menu.append(sep1)
        item_quit = Gtk.MenuItem('Quit')
        item_quit.connect('activate', self.stop)
        self.menu.append(item_quit)
        self.menu.show_all()
        return self.menu

    def stop(self, source):
        Gtk.main_quit()

Indicator()
signal.signal(signal.SIGINT, signal.SIG_DFL)
Gtk.main()





우선 이 방식은 Firefox를 wmctrl을 이용해서 보이지 않게 뒤로 실행하는 방식입니다.

따라서 wmctrl과 xdotool이 필요합니다.


sudo apt-get install wmctrl xdotool


그 다음 python3를 이용해서 firefox를 실행한 후 wmctrl에게 프로세스 ID를 넘겨 보이지 않게 하는 것입니다. 뭐... 이건 그냥 쓰시는 분께는 어려우니까 자세한 설명은 하지 않겠습니다.


위의 스크립트를 복사해서 firefox_bg.py 라고 만들어둡시다.


물론 Python3는 당연히 있다고 생각하고 만드는 것입니다.

해당 스크립트는 만들고 싶은 곳에 만들어 두시면 됩니다.

저는 ~/.firefox_bg/ 에다가 만들었습니다.


그리고 시작프로그램에 해당 스크립트를 실행하게끔 등록합시다.

LinuxMint나 우분투에서는 시작프로그램을 설정 창을 통해 설정할 수 있습니다.


여기서 추가버튼을 누르시고


이름은 마음대로 알기 쉬운 것으로 해주시고

명령은


/bin/bash -c "sleep 5 && python3 ~/.firefox_bg/firefox_bg.py"


이렇게 해둡시다.

뒤의 ~/.firefox_bg/firefox_bg.py 는 제가 해당 위치에 스크립트를 만들어 두었기 때문입니다. 여러분들은 여러분들에게 맞는 위치를 지정해주세요.


설명 부분은 비워도 됩니다.


이제 등록이 되면... 한번 시스템을 껐다 켜 봅시다.


Firefox가 크롬처럼 미리 메모리에 올라와 있습니다. 생각보다 메모리 먹는 양은 많지 않습니다.


그리고 한 가지 더 생각해야 할 것이 있는데 의외로 우리는 웹브라우저를 제일 많이 사용한답니다. 그러니까 Firefox를 미리 메모리에 올렸다고 해도 문제될 것이 없습니다. 물론 크롬을 주로 사용하신다고 하면 Chrome을 이런 식으로 실행해두는 것도 방법입니다.

,

뿌요뿌요 테트리스...

PuyoPuyo Tetris. 2018년 현재 가장 최신판 테트리스이자 뿌요뿌요인 게임입니다. 판권을 둘 다 세가가 갖고 있어서 나올 수 있었던 희대의 콜라보레이션입니다.




현실은 고인물 게임이지만...

아무튼 이걸 Linux에서 굴릴 수 있게 Wine으로 실행해 보게습니다.


Wine을 쓰려면 역시 이 프로그램이 제격이지요. PlayonLinux입니다.


sudo apt install playonlinux


PuyoPuyo Tetris는 DirectX11을 요구하고 64비트에서 구동하는 게임입니다. 그러니까 일단 DirectX11이 되어야 하므로 Wine3.5이상에서 굴러가야 하고 PC가 64비트여야 합니다. 요즘은 다 64비트니까 보통은 굴러가겠지요. 


그럼 PlayonLinux를 실행합니다. 그리고 Wine-Staging으로 굴릴 수 있다면 그것이 더 좋을 것입니다.


도구-Wine버전 관리로 들어갑니다.



여기서 와인버전은 amd64에서 3.10-staging 정도로 해서 설치합니다. staging으로 해주면 상대적으로 성능이 더 낫더군요. dxvk라 해서 DirectX11을 Vulkan으로 변환해주는 것도 있는데 제 PC에서는 안 돌아가더군요. (Vulkan 지원이 아직 안 되는 것일지도 모릅니다.) 일단은 그냥 기본으로 합시다. 어차피 2D게임이라 크게 성능 안 잡아 먹습니다.


그리고 위에서 구성 버튼을 누릅시다.


여기서 새로만들기 버튼을 눌러서 새로운 Prefix를 만듭시다.


그 다음 마법사를 써서 아래 스크린샷과 같이 진행합시다.


당연히 64비트로 해야지요? 게임이 64비트에서 굴러가니까요.

DirectX11 지원을 위해선 3.5이상이 좋다. 여기선 3.10-staging을 선택하자.

이름은 마음대로.

이렇게 하고 필요한 것을 추가해야 합니다. 대표적인 것이 당연하게도 Steam이고 xact(xaudio2_7.dll)입니다.


그럼 그것을 PlayonLinux로 추가해봅시다.

구성에서

아까 만든 Prefix를 왼쪽에서 선택한 다음 오른쪽의 구성요소선택에서 Steam을 눌러 우선 Steam을 설치합니다. 그리고 xact를 눌러서 xaudio2_7 라이브러리를 설치해주셔야 합니다. DirectX9 2010 JUN 버전에서 DLL을 빼낸다음 따로 설치하는 방식을 씁니다.


그다음 이를 네이티브 설정해야 합니다. Wine설정에서 이를 해야합니다.

와인구성 혹은 Wine구성을 누른 다음 xaudio2_7을 적은 다음 더하기 버튼을 눌러서 설정을 합니다. 아래의 dwrite나 gameoverlayrenderer는 Steam설치 시 설정 된 것입니다.


그다음 편하게 하기 위해 바로가기를 만듭시다.



Steam.exe의 바로가기를 만들면 됩니다.



그리고 Steam을 실행하면


단! 그냥 설치 후 바로 실행하면 난감한 일이 일어납니다. Steam이 설치된 것의 ~/PlayOnLinux's virtual drives/PuyoPuyoTetris/drive_c/Program Files (x86)/Steam/steamapps/common/PuyoPuyoTetris에 들어가면 


_CommonRedist_란 폴더가 있습니다. DirectX와 기타 라이브러리가 들어있는 폴더입니다. 하지만 Wine에서는 이게 있어봐야 좋을게 없으므로(아까 PlayonLinux로 다 처리했습니다.) 이걸 삭제해 주시기 바랍니다.


이 폴더는 삭제하자.

그리고 실행하면...


약간의 시간이 흐른 뒤에 세가 로고가 나오면서 실행이 됩니다!!


리눅스에서 실행완료!!

참고로 온라인매치도 아무 문제없이 잘 됩니다.


리눅스에서 실행은 어렵지 않지만 문제는 고인물 게임인게 문제...

,

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


MD5: 511fe57e427757adf362011468bf2ab2  linuxmint-19-mate-64bit-Moordev.iso



위 주소로 다운로드 받으시면 됩니다.


그동안 한국어 설정이 된 버전을 자주 배포했지만 저번 ubuntuMATE버전의 피드백을 받아 이번에는 수정을 최소화 했습니다.


기존 리눅스민트와 다른점은 다음과 같습니다.


1. 한국어 설정이 완료되어있습니다. 한국어 언어팩도 기본으로 설치되어있습니다.

2. 나눔폰트와 Noto폰트 그리고 스팀게임의 한글을 위해 wqy-ttf-zenhei가 설치되었습니다.

3. 한글입력기를 fcitx로 기본 설정되어있습니다.

4. ALZ, EGG압축해제를 위해 Arkzip이 설치되었습니다. 파일탐색기에서 arkzip으로 열기를 하시면 ALZ와 EGG압축을 풀 수있습니다.

5. HWP를 열기 위해 한글뷰어를 설치했습니다.

6. 결국 피드백을 받아 Firefox용 Adobe-FlashPlugin을 설치했습니다.

7. 기본으로는 빠져있는 코덱을 사전 설치했습니다.

8. Windows10테마를 추가는 하였으나 기본 설정하지는 않았습니다.

9. 사진작가 허태무님의 사진을 기본 배경으로 설정 및 추가했습니다. (https://www.instagram.com/pho_taem/)

10. Bleachbit를 설치했습니다.


11. Gabia폰트, Spoka폰트, 서울폰트를 추가했습니다.

,

Wine으로 Steam을 굴리는 일은 생각보다 많습니다. 사실 대다수 게임들이 Windows용으로만 나오기 때문에 Wine에서 Steam을 굴려서 Windows용 게임을 굴리곤 합니다.


하지만 당연히 삐그덕거리는 것은 여전해서 많은 문제가 일어나곤 합니다.


간혹 Steam을 Wine에 설치해서 사용할 때 Steam의 서버에 접속이 안되는 경우가 있습니다. 로그인은 되는데 정작 게임의 다운로드가 안 되는 경우입니다.


사실 저만 겪은 것이 아니라 많은 분들이 겪고 있는 현상이더군요. Wine3.10이후 현재 버전에서 많이 겪고 계십니다.


https://oluadebari.com/2018/06/23/playonlinux-steam-content-servers-unreachable-and-fixing-mirrors-edge-resolution-issue/


여기에 해결방법이 나와있는데 저는 그냥 제 방식으로 했습니다.


일단 Wine의 Steam폴더로 들어갑니다.


Wine의 Virtual Drive/drive_c/Program Files(x86)/Steam/config


이렇게 들어가면

config.vdf 파일이 있습니다. 이걸 텍스트 에디터로 엽니다.


그러면..


제가 블록을 친 CS 어쩌고란 부분이 없을 것입니다. 이걸 넣으면 되는 겁니다.


                "PercentDefaultWebSockets"        "50"


이렇게 쓰여진 부분 아래에 다음파일의 내용을 복사해서 넣습니다.


Steam_CS.txt



이제 다운로드가 잘 됩니다!!!

,

이전에 리눅스에서 대문자를 모두 소문자로 바꾸는 작업을 알려드렸습니다. 이유가 바로 이 게임 때문인데 Life is Strange라는 게임입니다. Feral이란 곳에서 리눅스용으로 포팅을 했고 현재 스팀에 입점한 상태입니다. (Square Enix 게임은 요즘 리눅스용이 잘 나옵니다.)


그러나 한글패치는 역시나 윈도용 기준으로 나와 있었고 이것을 수정해야만 했습니다.

하지만 파일과 폴더명만 소문자로 바꾸면 되는 것이었기에 크게 문제는 없었습니다.


한글패치 원본은 https://blog.naver.com/kibme0325/220624344482

여기입니다. 이곳의 것을 리눅스용에 맞게 수정했습니다.


LifeisStrange통합4Linux.7z

위의 파일을 다운로드받아서

스팀 기본판 기준으로 

~/.steam/steam/steamapps/common/Life Is Strange/share/data/lifeisstrangegame


이곳으로 들어가서 덮어 주시면 한글패치가 됩니다.


정 모르겠으면

스팀에서 Life is Strange의 속성으로 들어간다음


로컬파일의 로컬 콘텐츠 폴더 보기를 누릅니다.


그리고...

share/data/lifeisstrangegame

순서로 들어가시면 됩니다.

그리고 여기에다가 위에서 압축을 한 내용물을 풀어주시면 됩니다.


그리고 실행하면

놀라지 마세요. 여긴 기본적인 게임 설정창일 뿐입니다. 조용히 Display쪽을 살짝 들어가서 손을 보시기 바랍니다. Feral에서 제작한 것이기에 아직 한글화가 안 된 것 뿐입니다. 아래의 Play버튼을 클릭


확인해보면 한글화가 잘 적용 되었습니다.


이로서 리눅스버전의 Life is Strange를 한국어로 할 수 있게 되었습니다.

,

이건 아는 사람은 다 아는 것이긴 한데...


Bash 명령어로 다음과 같이 명령을 하면 현재 있는 파일과 폴더의 대문자를 모두 소문자로 바꿔줍니다.


for i in $( ls | grep [A-Z] ); do mv -i $i `echo $i | tr 'A-Z' 'a-z'`; done


다만 단점은 현재 폴더에만 국한되고 아래 폴더의 파일과 폴더에는 통하지 않다는 겁니다.


이게 필요한 이유가 리눅스 지원 게임의 경우 ext 파일시스템에서는 파일의 대소문자를 구별하기 때문에 모든 파일의 이름을 소문자로 통일하는 경우가 많습니다. 아니면 윈도버전과 동일하게 합니다. 그런데 유저한글패치의 경우 윈도 기준으로 만들기 때문에 대소문자 구별을 안 하는 경우가 많습니다. 그러면 제대로 패치가 되지 않는것이지요.


Life is Strange 시리즈가 그러한데 이것을 위해서 파일명을 전부 소문자로 바꿔야 했습니다.


LifeisStrange의 경우 리눅스 버전의 파일과 폴더명을 몽땅 소문자로 통일 시켜주었다.



그런데.... 하위 폴더까지 접근하려면...음...


귀찮아서 그냥 ls대신 find를 썼습니다.


for i in $( find | grep [A-Z] ); do mv -i $i `echo $i | tr 'A-Z' 'a-z'`; done


몇 번 못 찾는다고 에러가 나는데 계속 돌리니까 하위 폴더까지 차근차근 소문자화를 해주더군요.


그러니까 위 명령을 될 때까지 그냥 무한정 돌렸습니다.


그렇게 귀찮음을 대충 해결했습니다.


,

discord 이전에 자주 사용되었던 팀보이스와 스카이프를 대신 할 수 있는 훌륭한 목소리 채팅 프로그램입니다. 음질은 팀보이스보다 훨씬 좋고 딜레이는 스카이프수준입니다. (제일 가까운 서버가 일본에 있어서 이 정도지 더 빠를 수도 있습니다.)


요즘에는 리눅스에서도 게임을 자주 하기 때문에 디스코드를 사용할 일이 많은데 우분투계열에서 Discord를 사용하는 방법을 간단하게 알려드리겠습니다.


다만, 약간 속은 기분이 들지도 몰라요.


https://discordapp.com/download

이쪽으로 접속합시다.



그러면 알아서 OS에 맞춰서 데스크톱앱을 다운로드 할 수 있게 해줍니다. 우분투에서 쉽게 설치가 가능하도록 deb으로 배포하고 있습니다. 물론 Deb이 지원 안 되는 배포판에서도 사용 가능하도록 tar.gz도 배포하고 있습니다.


deb을 다운로드 받으면 그냥 설치가 가능하겠지요. 설마 이것도 못하는 사람은 없을 것이라고 봅니다...


터미널을 사용하는 변태는

sudo dpkg -i discord*.deb


물론 그냥 마우스로 실행해서 설치하는게 제일 빠릅니다.


그리고 실행하면 그냥 별 문제없이 됩니다....


그리고 한번 로그인하라고 브라우저가 실행되는데 그냥 디스코드에 가입하고 로그인하시면 됩니다. 쉬워요.


그러면...


네 끝났습니다. 이제 그냥 쓰시면 됩니다. 나머지는 discord 사용방법만 아시면 됩니다.


그런데 이게 가능한 이유를 알면 황당하실지도 몰라요.

사실 이건 HTML5의 위엄입니다.


자세히 보시면 따로 데스크톱앱을 설치하지 않고도 웹브라우저에서 사용이 가능 한 것을 알 수 있는데 그게 HTML5를 쓰기 때문입니다. 그럼 데스크톱앱은 뭐냐... 그냥 자체 브라우저 만들어서 띄운겁니다. 끝이에요.


제가 속은거 같은 기분이 들지도 모른다고 한 이유가 이겁니다. 하지만 이게 기존 스카이프나 팀보이스보다 더 성능이 좋다는 것...


아무튼 우분투에서 디스코드를 사용 할 수 있습니다. (뭔가 정말 속은 기분이야...)

,

VirtualBox는 다들 알고 계실겁니다.

가상머신. 이 한마디면 충분하지요.

https://www.virtualbox.org/


어느새 버전이 5.2까지 나오게 된 오픈소스 가상머신 VirtualBox.


리눅스에서 Windows환경이 필요할 때 가장 마지막으로 쓸 수 있는 비장의 카드가 바로 이것이다.


그런데 VirtualBox는 반응속도는 빠르지만 IO속도에 문제가 많다보니 VMware와 비교해서 성능이 많이 까이고 있습니다. 그 중에서도 IO로 인하여 소리가 깨진다는 의견이 많습니다.


멀리 갈 것도 없이 일단 VirtualBox에 Windows를 깔고 아무 음악이나 틀어보세요. 조금 잘 나간다 싶다가도 갑자기 버벅 거리면서 깨지는 소리가 들리기 시작할 것입니다.


특히 리눅스 호스트에서 Windows를 설치할 경우 이러한 깨지는 소리가 왕창 늘어나는데 리눅스의 성능 문제가 아닌 드라이버와 오디오 서버간 레이턴시 문제가 발생해서 그렇습니다. 가끔 Windows에서 동영상을 돌려야 하는 경우가 있는데(빌어먹을 정부...) 소리가 왕창 깨지는 것을 듣다보면 귀가 썩는 느낌이 듭니다.


그런데 그게 저만 그런게 아니더군요.

https://www.virtualbox.org/ticket/15925


다들 해당 현상에 대해 고통을 호소(?)하고 있었습니다. 여기에서 Bilikumar란 분이 해결책을 알려주셨습니다.


간단하게 말해서 ALSA를 사용하고 인텔HD오디오 대신 ICH AC97을 선택하라.

그리고 가상머신에서 Realtek AC97 드라이버를 설치.

http://www.realtek.com.tw/downloads/downloadsView.aspx?Langid=1&PNid=23&PFid=23&Level=4&Conn=3&DownTypeID=3&GetDown=false


일단.. 그렇게 해보았습니다.


우선 가상머신 설정에서




위에 나온 것을 아래의 것으로 바꿔줍니다.

호스트 오디오 드라이버를 ALSA(시스템에 따라 PulseAudio가 더 나을 수도 있습니다.)로 오디오 컨트롤러를 ICH AC97로 바꿔줍니다.


그리고 http://www.realtek.com.tw/downloads/downloadsView.aspx?Langid=1&PNid=23&PFid=23&Level=4&Conn=3&DownTypeID=3&GetDown=false


여기로 들어가서...

Accept를 해준 다음.


Vista Win7용으로 나온 드라이버를 다운로드 받습니다. 물론 가상머신에서 다운로드 받아야 편합니다. 가능하면 호스트에서 다운받아 공유폴더로 넣어도 됩니다.


그리고 Windows10의 드라이버 서명을 잠시 중지해야 합니다.

참고 : https://www.howtogeek.com/167723/how-to-disable-driver-signature-verification-on-64-bit-windows-8.1-so-that-you-can-install-unsigned-drivers/


우리는 커맨드가 익숙하니까 커맨드로 하는게 좋겠지요.

시작메뉴에서 cmd를 친 다음 명령프롬프트에 오른쪽 버튼을 눌러서 관리자권한으로 실행합니다.



그 다음에 다음 명령을 줍니다.


bcdedit /set testsigning on

작업을 완료했습니다가 뜨면 오케이.


그리고 가상머신 재부팅


그 다음 드라이버 설치를 합니다.


여기에서 그냥 드라이버를 설치합니다 를 누르자.


가상머신에서 쭉쭉 설치해줍니다.

그리고 가상머신 다시 재시작


이로서 더러운 가상머신 세팅이 완료 되었습니다. (가상머신일 뿐이지만)재부팅만 대체 몇번 한 것인지 모르겠네요. 인텔HD 오디오가 아무 문제 없었으면 이 고생은 안 했을지도 모릅니다.


이걸로 상당히 버벅거리면서 깨지는 소리를 해결이 되었습니다.

,

이제 곧 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모바일도 가능합니다.

,