Virtualbox는 리눅스 데스크탑을 사용한다면 싫어도 써야하는 물건입니다. 그 이유야 당연히 Windows환경을 요구하는 경우가 은근히 있기 때문이지요. Wine으로 해결이 가능한 부분도 많지만 Windows 시스템 그 자체를 원한다면 어쩔 수 없습니다. 보통 궁극의 해결책이라고 표현하지요.

 

특히 유용한 기능중 하나가 USB Passthrough 기능입니다. 리눅스를 통하지 않고 바로 USB장치를 가상머신에 연결하게 해서 Windows드라이버만 지원하는 장치를 돌아가게 하거나 직접 Windows에서 작업 가능하도록 짜인 장비를 연결하는데에 이용가능합니다.

 

2015년에는 VirtualBox에 주로 WindowsXP를 사용했다면 이후 2019년까지는 Windows7이 그리고 2020년 현재에는 주로 Windows10이 가상머신에 이용되고 있습니다. 그런데 USB3.0을 지원하지 않는 WindowsXP는 그렇다 치는데 Windows7에서 USB장치가 인식이 안 되는 경우가 왕왕 있습니다.

 

보통 VirtualBox에 USB장치를 연결하는건 이런식으로 연결할 것이다. 실수로 USB키보드나 마우스를 연결하지 않도록 하자. 지옥을 맛 볼 수 있다.

우선 확인해주셔야 할 것은 버전에 맞는 Extension Pack을 설치했는가 입니다.

https://www.virtualbox.org/wiki/Downloads

이곳에 가셔서 VirtualBox Extension Pack을 찾아 다운로드 받아주셔야 합니다.

 

영어를 몰라도 대충 알아서 찾아 가도록 하자

이것을 설치해 주시면 USB장치를 지원이 할 수 있게 됩니다.

 

그 다음은 리눅스에서의 권한 문제입니다.

리눅스에서 사용자가 VirtualBox사용 권한을 얻어야 하는데 이를 설정하지 않으면 작동하지 않습니다.

그건 다음 링크에서 확인이 가능합니다.

https://moordev.tistory.com/205

 

VirtualBox사용시 USB 인식이 안 될 때

VirtualBox는 리눅스에서 다들 이용하고 계실 겁니다. 윈도 프로그램을 실행할 때 가장 마지막으로 시도하는 방법으로 다들 이용하고 계시지요. 그런데 VirtualBox를 쓸 때 USB가 인식이 안 되는 경우��

moordev.tistory.com

그런데도!!! 아직도!!! 인식이 안 된다면!!!!

 

그렇다면 한번 USB설정을 살펴봅시다.

우선 Windows장치의 설정으로 들어갑니다.

그리고 USB를 보시면 USB 2.0(EHCI) 컨트롤러 혹은 USB 3.0(xHCI)컨트롤러 둘 중 하나가 체크되어 있을 것입니다. 만약 1.1이라면 당장 바꾸세요. 지옥의 속도를 경험하게 됩니다.

 

여기서 한가지 알 수 있는 것은 USB 1.1에서는 인식이 되는데 2.0이상일 때 인식이 안 되거나 혹은 2.0은 되는데 3.0이 안 되는 경우가 있다는 것입니다.

 

이 것은 Windows 문제입니다. Chipset Driver나 USB드라이버가 설치되어 있지 않아서 벌어진 일입니다. 

Windows를 설치한 다음 우리는 보통 업데이트를 바로 돌려버리거나 알아서 업데이트를 하는데 이때 장치 드라이버가 자동으로 설치됩니다. 그런데 VirtualBox에서는 장치인식문제로 드라이버가 자동으로 설치되지 않는것입니다.

 

그렇다면 수동으로 설치하면 된다는 의미겠지요.

https://downloadcenter.intel.com/download/22824/Intel-USB-3-0-eXtensible-Host-Controller-Driver-for-Intel-8-9-100-Series-and-Intel-C220-C610-Chipset-Family

 

Download Intel® USB 3.0 eXtensible Host Controller Driver for Intel® 8/9/100 Series and Intel® C220/C610 Chipset Family

Intel® USB 3.0 eXtensible Host Controller Driver for Intel® 8/9/100 Series and Intel® C220/C610 Chipset Family

downloadcenter.intel.com

여기 있는 이 드라이버를 설치하거나

 

https://downloadcenter.intel.com/download/22904/Intel-USB-3-0-eXtensible-Host-Controller-driver-for-S1200V3RP?wapkw=USB

 

Download Intel® USB 3.0 eXtensible Host Controller driver for S1200V3RP

Intel® USB 3.0 eXtensible Host Controller driver for S1200V3RP

downloadcenter.intel.com

이 드라이버를 설치하면 됩니다.

 

만약 Windows10환경에서 안 된다면 그냥 Windows Update에서 한번 싸아악 돌리면 해결됩니다!

,

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을 이런 식으로 실행해두는 것도 방법입니다.

,

이제 곧 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버전의 베타버전이 나오면 일단 써보면서 이런저런 것을 해야겠지요.

,





이전에 MATE버전 배포할 때만 하더라도 32비트버전은 계획은 없다고 했었는데 필요하면 어쩔 수 없이 만들게 되는군요.


MATE버전과 XFCE와 비교해보면 XFCE가 훨씬 더 가볍고 빠릅니다. 그런데 MATE버전이 제 주 OS인 이유는 MATE가 기존 그놈2 기반으로 사용자 층이 굉장히 넓고 훨씬 더 기본 앱이 묘하게 안정적이기 때문입니다.


xfce도 써봤고 더 가벼운 LXDE도 써봤지만 제일 처음 리눅스에 입문했던 것이 그놈2였고 너무 편하게 썼기에 그놈2의 Fork인 MATE에 눌러 앉은 것이기도 합니다.



기본 리눅스민트와 커스텀버전의 차이는 다음과 같습니다.


1. 한국어를 기본으로 설정했습니다.

2. 한국어 입력기(fcitx)가 기본으로 작동합니다. fcitx가 마음에 안 드시는 분은 다른 입력기를 설치하시고 설정에서 바꿔주시면 됩니다.

3. 한국어 폰트(서울남산체, 서울한강체, 가짜굴림(이름만 굴림이고 내용물은 나눔고딕)를 설치했습니다.

4. hwp를 위한 한컴뷰어를 설치했습니다.
5. cups-pdf를 미리 설치했습니다. 프린터 설정에서 PDF프린터를 추가해주시면 바로 PDF를 뽑을 수 있습니다. ~/PDF폴더에 자동 저장 됩니다.

6. 기본 배경화면을 하모니카 커뮤니티에 올라온 (http://hamonikr.org/board_KtxL32/36485) 이 것 으로 지정했습니다. 본래는 하모니카2.2에 들어갈 예정있다고 하네요.

7. HWE커널을 적용했습니다. (그런데 이것이 가상머신 테스트에서 자꾸 문제를 일으킵니다.)

8. Thunar Filename-Repairer를 설치했습니다. Caja filename-repairer나 Nautilus-filename Repairer와 기능은 동일합니다.

9. LightDM과 XFCE간 호환성 문제가 발생하여 18.1까지 사용하던 MDM으로 교체


MATE버전에 적용했었던 Arkzip은 32비트용 바이너리가 없는 관계로 이번 배포판에서는 빠졌습니다. EGG나 ALZ는 반디집을 wine으로 실행해서 처리해주셔야 할 것 같습니다.


실기에서는 문제가 없으나 Virtualbox에서 계속 문제가 발생하고 있습니다. 가상머신으로 사용하실 분들은 추천할 수 없을 듯 합니다. (어쩌면 VirtualBox의 버그일지도 모릅니다.)


다운로드는 아래의 주소를 이용해주세요. 구글드라이브입니다.


https://drive.google.com/file/d/1bfQ69vu2S54dtJ57RJ-Pga6FHUcpiVme/view?usp=sharing


MD5 : 8a631baa0a60a68a765f9fa6b0d3b37b

SHA1 : 1661e547f704d5bd61a3f15c6f4fa4950799df26

SHA256 : a040b1100b5424919a49f3cdcea3a7a1b3171dc3e7f31ff6fe065eccef0e6367



다운로드는 아래의 주소를 클릭해주세요.


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


MD5: 06b6917760c3823abee37c307ec8d830

SHA1: 03f22abcd2ebc3f5568286eaa235504fa4ff25c6

SHA256: 37bada2306b2a82aa23a400d74f31dc956fd5d41b492691933a090df59bce771




,

이전에 http://moordev.tistory.com/212

18.3 베타버전을 기반으로 작업한 것을 배포한 적이 있었지요.


베타버전은 역시 뭔가 좀 문제가 있었는데 박정규님이 한글 관련 패치를 배포해 주셔서 http://blog.naver.com/bagjunggyu/221147590110 적용을 한 다음에 정식버전으로 다시 만들어 배포합니다.


LinuxMint 기본 버전과 차이점은


한국어 기본설정

한글입력기 fcitx 바로 사용가능

노트북 한/영키 사용가능

MATE 한글버그 패치(박정규님 감사합니다.)

HWE 적용(http://la-nube.tistory.com/289) 라누베님 감사합니다.

Arkzip 설치(ALZ와 EGG 풀 수 있습니다.)

한컴뷰어 설치(HWP 볼 수 있습니다.)

CUPS-PDF 설치(프린터 설정에서 한번 설정하는 것만으로 PDF로 출력 하는 것이 가능합니다. ~/PDF에 생성)

Filename-Repairer 설치

서울남산체, 서울한강체 설치

가짜굴림설치(굴림체가 필요한 곳은 나눔고딕으로 나옵니다.)


Flash는 역시 고민해봤지만 굳이 필요 없을 것 같아서 제외했습니다. (파이어폭스를 지우고 크롬을 설치하는 분들도 있으니까요.)


기본 커널 버전은 HWE 적용된 4.10입니다. (18.2때에는 문제가 있어서 4.4로 낮춰서 배포했었지요.)


MATE에 64비트 버전입니다. 계속 이야기하지만 32비트 버전 계획은 없습니다.


MD5 : 86becb23e3851cbf1d039c965bb718f2

SHA1 : cde682d1ae7b81cd8e9ca9c9c70519a6ad371e05

SHA256 : 3dfc70de46e51611969bee82c75261a9406de56fba01708aef883a76bae5f64e


이런이런... 체크섬을 잘 못 올렸네요. 하이브리드 ISO의 체크섬을 올려야 하는데 하이브리드화 이전의 체크섬을 올려버렸습니다.

제대로 된 체크섬은 다음과 같습니다.


MD5: be0fba594a7ceb2ba668e8dc49ab0091

SHA1 : 4811f2c7335225e7c08898c465cecfc976284ca6

SHA256 : 60ba5583366cba092a9e7c4251d991dbeeb89dc845fa045404fa3300a8b72f6c


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


리눅스민트 18.3까지는 우분투 16.04기반이며 19부터는 우분투 18.04를 기반으로 할 예정입니다.

,


리눅스 민트 18.3 Sylvia 베타 버전이 발표 되었습니다.


그리하여 이전에 18.2 Sonya 버전과 마찬가지로 한국어 설정이 완료된 버전을 배포하고자 합니다. 물론 베타버전이므로 굳이 정식버전이 나올 때까지 기다리실 분은 설치하실 이유가 없습니다.


64비트 전용이며 32비트 배포 계획은 없습니다.




리눅스민트 기존 버전과 다른 것은

1. 한국어 설정 기본

2. FCITX 바로 사용가능(한글 입력 가능)

3. 노트북 한영키 바로 사용가능

4. 한컴뷰어 설치

5. Arkzip (Egg, ALZ 및 한글 깨지는 ZIP파일까지 문제없이 풀어주는 압축 해제프로그램) 설치

6. 파일이름이 깨졌을 때 마우스 오른쪽 버튼을 클릭 하는 것만으로 파일 이름을 복구해주는 Filename-repairer 설치

7. Bleachbit 설치

8. 기본 배경화면 교체 (화질이 구린 것이 문제)

9. Flash는 삭제 했습니다.


http://moordev.tistory.com/193

http://moordev.tistory.com/194


여기서 작업한 것과 동일합니다.


현재 리눅스민트 18.3은 베타버전이므로 커스텀버전도 마찬가지로 아직까지 알려지지 않은 문제가 있을 수 있습니다.


다운로드는 아래 링크로...


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


MD5 : 73e7ece5459c94f0362c5b4a2108f141

SHA1 : 68f5cf1ba73da206779846750d803cfb2c73e378

SHA256 : 13e0770ad381fbccaafaf66056560e0d9d9e32fd8e5e1580e280153ca0b8504e



물론 베타버전을 쓰다가 정식버전이 나오면 자연스럽게 업데이트로 정식버전으로 바뀝니다.

,

VirtualBox는 리눅스에서 다들 이용하고 계실 겁니다. 윈도 프로그램을 실행할 때 가장 마지막으로 시도하는 방법으로 다들 이용하고 계시지요.


그런데 VirtualBox를 쓸 때 USB가 인식이 안 되는 경우가 있습니다. 이럴 때 확인하는 방법을 알려드리겠습니다.


VirtualBox에서 USB장치가 인식되지 않으면 이렇게 나온다. (USB장치를 하나도 안 쓰는 경우는 없을테니...)



1. 확장을 설치했는가?


VirtualBox의 확장은 오픈소스로 풀리지 않은 부분을 활성화 하기 위한 패키지입니다.

보통 처음 VirtualBox를 설치하신 분들은 가끔 잊어버리기도 하는데 확장이 설치가 안 되면 USB를 인식을 하되 2.0까지만 인식을 합니다. 3.0장치는 2.0으로 잡히거나 안 잡히게 됩니다.


https://www.virtualbox.org/wiki/Downloads




해당 위치의 파일을 다운로드 받은 다음 열기를 눌러서 설치를 해주시면 됩니다.


파일-환경설정-확장 에서 방금 추가한 확장이 체크되어 있는지 확인해보시기 바랍니다.




2. 계정 권한 설정


정말 많은 분들이 잊어버린 항목입니다. 이상하게 자동으로 해줄 것 같은데 은근히 수동입니다.


우분투의 경우 계정 및 그룹 설정에서 VirtualBox 사용 권한을 체크해주셔야 VirtualBox의 모든 기능을 이용할 수 있습니다.




리눅스 민트 혹은 우분투에서 환경설정에 들어가봅시다.


Users and Groups 혹은 사용자 계정에 들어가면 아래와 같은 모양의 창이 뜹니다. 여기서 고급설정




그리고 VirtualBox 가상화 솔루션 사용에 체크를 해주시면 됩니다.



아 시스템을 껐다가 다시 켜주시는 것도 잊지 마시고요.


시스템을 껐다가 켜면 아무 문제없이 USB의 인식이 다시 돌아올겁니다.

,



네 이전의 LinuxMint MATE 18.2의 커스텀을 하면서 몇 가지 있었으면 했던 것을 빼먹었더군요.


그래서 이번에 그것을 보충하려고 합니다.


한국에서 리눅스 데스크탑을 사용할 때 고통을 주는 것들이 몇 가지 있습니다. ActiveX야 윈도에서도 고통을 주니까 넘어가고 흔히 고통을 주는 물건으로 꼽히는 것이


1. HWP

2. EGG, ALZ


이것들이 있습니다. 이 둘을 해결하기 위해서 두 개의 패키지를 설치할 건데요. 바로 한컴뷰어(http://www.hancom.com/cs_center/csDownload.do)와 ARKZIP(https://github.com/Thestars3/arkzip/)입니다.


그러니까 한국을 위한 배포판이라면 왠지 있어야 했을 패키지가 바로 이 두 녀석이었던 겁니다.


Customizer의 DEB설치 기능을 통해 이들을 설치 할 생각입니다. 이걸 왜 빼 먹었나 싶어요.


따라서 이전의 http://moordev.tistory.com/193 작업을 잘 따라오셨던 분들은 아직 작업중의 FileSystem 이 남아 있을 것이라 생각합니다. 이전 글에서 이어서 한다고 가정하고 설명하겠습니다.


우선 한컴뷰어를 다운로드 받아야 합니다.


http://www.hancom.com/cs_center/csDownload.do

여기로 들어가서 우분투용 DEB파일을 다운로드 받습니다.


아래에 쭉 내리다보면 뷰어가 있습니다. 자신이 만드는 민트의 비트에 맞춰서 DEB파일을 다운로드 받습니다.


그 다음 Customizer를 실행합니다. 뭐...이젠 따로 설명 안 하겠습니다.


이번에는 DEB설치 버튼을 누르고 아까 다운로드 받은 hwpviewer~~~.deb 파일을 선택하면 됩니다.


그러면 터미널에 어쩌고 저쩌고 뜨면서 진행이 될 것이고 완료가 되면 Customizer 창이 돌아올 겁니다.


이번에는 Arkzip을 설치해봅시다. Arkzio은 EGG와 ALZ를 지원하는 리눅스용 압축해제 프로그램으로 반디집에 쓰인 Ark 라이브러리를 이용해서 만들었습니다. 문제는 현재 개발이 중단되어서 우분투 16.04에서 설치할 때 에러가 납니다.


https://github.com/Thestars3/arkzip/issues/6


그래서 여기에 저랑 이름이 똑같은 동일 인물이 해당 문제를 해결해서 패키지를 올려놓았습니다.


누구라곤 말 안 하겠지만 참 잘했네.

이것의 zip파일을 다운로드 받은 다음 압축을 풀면 DEB이 나옵니다. 이것을 같은 방법으로 설치합니다.


Arkzip을 사용할 때는 파일 매니저(혹은 탐색기?)에서 압축 파일을 오른쪽 버튼을 누른뒤에 Arkzip으로 열기를 선택하면 묻지도 따지지도 않고 알아서 풀어버립니다. (반디집의 알아서 풀기 기능이 그냥 실행된다고 생각하시면 됩니다.)


Arkzip으로 압축을 풀겠다면 이렇게 하면 된다.



그리고 한국어 사용자라면 있어야 편한 탐색기의 플러그인을 제공하는 것이 좋을 것이라고 생각됩니다. 가끔 윈도우에서 압축한 한글파일명의 ZIP파일을 풀면 파일이 이름이 깨질 수 있습니다. 그런 경우에는 Arkzip으로 풀면 해결이 됩니다.


하지만... 이미 풀어버렸다면? 다시 압축을 풀지 않고 파일 이름을 복구 할 수 있는 방법이 있습니다.


그놈3의 노틸러스에는 Filename-Repairer라는 플러그인이 있고(저장소에서 설치 가능) xfce의 Thunar에는 thunar filename repairer가 있습니다. http://moordev.tistory.com/119 제 블로그에서도 한 번 소개했었지요. MATE도 당연히 있습니다. Thunar용 Filename Repairer를 만든 LinuxMatt란 분이 MATE의 파일 매니저인 Caja용으로 포팅을 해놓으셨더군요.

https://github.com/LinuxMatt/caja-repairer


그런데 이걸 컴파일 하려면...미쳐버리겠지요.

그래서 DEB으로 만들어서 올립니다. 우분투 16.04 64비트 용 Caja-Repairer입니다.


repairer_0.1.1-1_amd64.deb

이걸 다운로드 받은 다음 역시 아까처럼 DEB설치 기능으로 설치해주시길 바랍니다.


사용 방법은 파일/폴더의 이름이 아래 이미지처럼 깨졌다면 오른쪽 버튼을 눌러서 아래에 (정상적인 이름)이름 바꾸기를 선택하시면 됩니다.


알아서 정상적인 이름을 찾아주는 착한 플러그인

허구한날 ZIP의 압축 푼 파일의 이름이 깨지기 때문에 이 기능이 아주 유용할 겁니다. 추가로 웹에서 다운로드 받은 파일 이름이 깨졌을 때도 똑같이 작동 하기 때문에 이것도 굉장히 편리합니다. (EUC-KR 서버에서 다운로드 받은 한국어 파일이름이 깨진다거나 %20%30뭐 이런식으로 된 것)


여기에 PDF가상 프린터도 추가를 하려고 합니다. http://moordev.tistory.com/53

cups-pdf 패키지로 가상으로 프린트를 해서 PDF로 변환해 주는 것입니다. 윈도우에서는 한컴PDF나 Adobe PDF가 그 역할을 담당하고 있습니다. LibreOffice는 자체 PDF 변환 기능이 있어서 상관 없지만 한글뷰어를 통해서 hwp를 pdf로 변환하고자 할 때에는 굉장히 유용합니다.


Customizer의 터미널을 열도록 합시다.

파일의 크기가 작기 때문에 금방 끝납니다. 하지만 작은것에 비해 강력합니다.


대신, Cups-PDF는 홈폴더에 PDF란 폴더가 있어야 그 곳에 PDF파일을 저장합니다. 한컴PDF처럼 저장하는 위치 안 물어봅니다.


홈폴더에 뭔가 만들려면 /etc/skel에 만들면 된다고 했었지요?


그럼 이렇게 명령을 내립시다.


mkdir /etc/skel/PDF


이제 이 배포판은 PDF을 만드는 기능도 탑재된 배포판입니다.


사실 마음 같아서는 한컴타자연습이나 카카오톡 PC버전도 설치하고 싶은데 Wine만 1기가를 먹어버리는 문제가 있어서 이건 어쩔 수 없이 통과해야겠네요. 나중에 따로 Playonlinux의 Valut패키지로 배포하는 것으로 하겠습니다.


그리고 간단한 그림판 같은 것으로 pinta를 설치해도 좋은데 이건 단순 취향 문제니까 원하시면 설치하세요.


이 정도면 한국형(?) 커스텀은 완료된 것 같으니 다시 ISO로 묶도록 하겠습니다.


현재까지 테스트한 결과 썩 안정성이 나쁘지 않고 한국어 화도 상당히 괜찮아서 배포를 결정했습니다.


https://drive.google.com/open?id=0B575ztEFv5-Ub1hvQkJLUUw0dk0

구글 드라이브 링크입니다. 이전 버전과는 달리 USB 부팅이 지원됩니다.


SHA1 : 9f7baefda7597850e10d48a42cbe4a93406bb55a

SHA256 : e808d837e89fa03ab5c77c11be11f7c12e561d507d7242dcf49d60586375cbeb

MD5 : 497c29e404bd66e575921351347b2a9e



https://drive.google.com/open?id=0B575ztEFv5-UQ3BlQ1IzZzQwX2s

구글 드라이브 링크이고 구글 드라이브에서 바로 다운로드 받으신 후 사용하시면 됩니다.


SHA1 : 6937fef928ce99fb682992b28c417743d69577e3

SHA256 : f02947fe0a4f7f211a6a25b0054a73ee8c5b717721a3e58062ca3aca948ee716

MD5 : 54a15f76512d90be70441bc438015b86




,

http://hamonikr.org/board_aMBI05/31680


Harmonikr프로젝트는 대한민국 정부에서 리눅스데스크탑 저변확대를 위해 진행한 리눅스 민트 기반 한국어 화 프로젝트입니다.


꽤 성공적이라는 말을 듣고 있고 리눅스민트가 기본적으로 편리하기 때문에 하모니카를 쓰셨던 분들은 대부분 만족을 하셨다고 합니다. 하지만 2.1 Rosa버전 이후 업데이트가 끊겼으며 16년 후반기에 나온다는 정식버전은 어디론가 사라지고 어느새 17년 중반을 넘어서고 있습니다.


하지만 기존의 하모니카를 쓰셨던 분들이 한글 설정도 할 필요없는 편리함에 하모니카를 썼던 것인데 이렇게 업데이트가 끊기게 되면 쓰시는 분들이 점점 더 없어지겠지요.


솔직히 리눅스 민트를 설치하고 


sudo apt-get install `check-language-support -l ko`
sudo dpkg-reconfigure locales


이렇게 해주신 다음 ko_KR.UTF8을 선택하면 하모니카와 큰 차이는 없습니다. 하지만 일반인들에겐 이것조차 어려운 것이 문제이고 그래서 설치하자마자 바로 한국어를 쓸 수 있는 하모니카가 사람들 입에 오르내렸던 것일 겁니다.


없다면 직접 만들면 되지!라는 것이 저의 모토인 이상 하모니카 수준의 뛰어난 번역은 어려울지언정 그래도 바로 한국어로 쓸 수 있는 물건이 있어야겠다는 생각이 들었습니다.


LinuxMint를 기반으로 customizer로 작업을 했습니다.

(작업중에는 따로 스크린샷을 찍지는 않았습니다.)


사실 하모니카는 두가지 버전이 있습니다.


리눅스민트와 꼭 닮은 기본 테마버전과


속칭 하모니카 스타일이란 소리를 듣고 있는 Numix+Plank테마 버전이 있습니다.


저는 이 둘을 잘 섞어서 말 그대로 Remix해서 만들기로 했습니다. 한국어 설정은 물론 기본으로 하는 것이지요.


그래서 아래와 같이 만들었는데 어떤가요? 비슷한가요? (하모니카 1.0과 아이콘이 같습니다.)


다운로드는 아래 링크에서 받을 수 있습니다.(구글드라이브)

https://drive.google.com/file/d/0By3VcoIXExM8U0hlNWZPY2VEUWs/view?usp=sharing


SHA256SUM

f19b82db6d8a57984e5e19012f55dcee63af8d9cb0c21c0e002539f5c66d9cb4  ./LinuxMint-amd64-18.2.iso


SHA1SUM

ec55664b44db0e7fa0a003763f0076975db32656  ./LinuxMint-amd64-18.2.iso

MD5

7418dc8c49e748bd58e1b0d88b6bdefd  ./LinuxMint-amd64-18.2.iso



LinuxMint 18.2와 다른 것은 아래와 같습니다.


1. 기본 로캘을 ko_KR.UTF8로 지정했습니다.
2. 한국어 입력기를 fcitx로 설정했습니다.
3. 기본 저장소를 ftp.daumkakao.com로 지정했습니다.
4. SMplayer를 설치했습니다.
5. 기존 하모니카에서 일부 번역 파일을 이식했습니다. (Ubiquity - 그래서 HamoniKR라고 나옵니다 하모니카가 아님에도 불구하고, vino, synaptic,smplayer 등등)
6. numix-circle아이콘을 기본으로 지정했습니다. 하모니카1.0 시절의 느낌이 드실겁니다.
7. 파일매니저(Caja카하)에 파일 이름 복구기능을 추가했습니다. (https://github.com/LinuxMatt/caja-repairer) 파일명이 깨졌다면 해당 파일에 오른쪽 버튼을 눌러보세요.
8. Arkzip을 설치했습니다. 파일 매니저에서 Egg파일과 Alz파일에 오른쪽 버튼을 누르고 arkzip으로 실행 버튼을 누르시면 압축이 알아서 풀립니다.(https://github.com/Thestars3/arkzip)
9. 한컴뷰어를 설치했습니다.(http://www.hancom.com/cs_center/csDownload.do)
10. pepperFlashWrapper를 설치했습니다. Firefox에서 FlashPlayer가 작동할 것입니다.
11. 청소프로그램인 Bleachbit를 설치했습니다. 한달에 한번정도 실행해서 청소해주면 편리합니다.
12. 서울글꼴, 가짜굴림(이름만 굴림이고 실제로는 나눔고딕), WQY-Zenhei(소스엔진게임 한글출력)을 설치했습니다.

하모니카에 있었던 alias들은 필요성을 못 느낌과 동시에 위험한 alias도 꽤 있어서 설정하지 않았습니다.(del, 크롬설치 등)

대다수 설정은 Usermode이기 때문에 .config/dconf/user 파일을 삭제하면 리눅스민트 본연의 모습으로 돌아올 수 있습니다. (예외가 있습니다. 메뉴에 있는 시작 문구나 시작메뉴의 아이콘 설명 등)



제 마음대로 LinuxMint 18.2 HarmoniKR Remix라고 이름 붙였는데 괜찮을지는 모르겠네요. 달라진거라고 해봐야 Plank와 Numix아이콘, 그리고 몇몇 항목 밖에는 없지만 말이지요.

,

컴피즈는 리눅스 데스크탑을 아주 멋진 효과로 쓰는 맛이 있게 만들어주는 정말 고마운 도구입니다. 우분투에서도 8.04부터 기본 탑재해왔고, (그 전에는 저장소에는 있었지만 따로 설치를 해줘야 했습니다.) Unity인터페이스를 굴리는데 쓰이고 있습니다. 하지만 Unity는 컴피즈를 그냥 창관리자로만 쓰고 있어서 컴피즈의 다양한 효과를 쓰려면 이리저리 삽질을 해야 합니다.

 그래서일까요? 우분투가 Unity를 탑재하기 전의 모습과 흡사한 리눅스민트(특히 MATE버전)에서는 Compiz Config Setting Manager(통칭 CCSM-컴피즈 설정 관리자)를 기본 탑재하고 데스크탑 설정에서 클릭 한방으로 컴피즈를 쓸 수 있게 배려해 놓았습니다. 우분투도 10.10까지만 하더라도 설정-모양에서 바로 컴피즈를 켤 수 있었고 이는 삽질이 동반되었던 다른 배포판에 비해 참 유용했었습니다. 하지만 Unity를 탑재하기 시작하던 11.04부터 컴피즈설정이 삽질이 되기 시작했고 상당히 짜증나는 작업이었는데 리눅스민트에서 이를 다시 클릭 몇번으로 할 수 있게 해 주었네요.


14.1.8 현재 리눅스민트 17.1(MATE)에서 컴피즈를 쓰는 법은 다음과 같습니다. 아주 간단합니다.


메뉴-기본설정-데스크탑 설정으로 들어갑니다.

그리고 창 탭을 클릭하고 다음과 같이 설정합니다.


저는 지금 컴피즈가 설정이 되어있어서 이렇게 되어있지만 기본은 마르코로 되어있을 겁니다. 그러면 여러가지 옵션들이 즐비한데 컴피즈로 바꾸면 딱 이것만 뜨게 됩니다. 그럼 나머지 옵션은 어디서 하냐구요?

컴피즈 설정 관리자(일면 CCSM)으로 하시면 됩니다. 여기서 각종 효과와 비기(...)등을 쓰실 수 있게 됩니다.



다른 효과는 몰라도 저 창 출렁거림효과는 중독성이 상당히 강하다. 괜히 창을 흔들어 보고 싶을 정도

민트메뉴-설정에 가보시면 CompizConfig Setting Manager라고 있습니다. 이게 바로 컴피즈 설정 관련프로그램인데 여기서 이것저것 건드리다보면 데스크탑이 엄청 느려(...)지는 경험을 하실 수 있습니다. 물론 컴피즈니까 GPU가속은 필수입니다. 하지만 쓰다보면 중독 될 정도로 컴퓨터를 쓰는 맛이 있습니다. Unity도 괜찮은 인터페이스지만 전 반쪽짜리 컴피즈보다는 전부 다 쓸 수 있는 MATE용 컴피즈가 상당히 마음에 듭니다. 아니 이게 진짜 컴피즈이지요. 다른 것은 몰라도 애니메이션 설정하고 창출렁거림 옵션은 꼭 켜두시길 권장합니다. 나중에는 출렁거리지 않으면 이상하다고 느껴질 정도입니다. 데스크탑 큐브도 좋지만 가상 데스크탑을 적극적으로 쓰지 않는다면 볼 일이 없는 것이 함정입니다.


어쨌건 리눅스 민트 쓰신다면 컴피즈를 켜는 것을 추천합니다.


P.S 스텝매니아를 하신다면 컴피즈 설정에서 Composite에 Stepmania를 제외 시켜주시는 것이 좋습니다. 보니까 프레임이 현저히 떨어집니다.


방법은 다음과 같습니다. CCSM에서 Composite를 누르고


Unredirect Match부분에서 위 그림과 같이 내용을 추가해주시면 됩니다.

,