Showing posts with label Debian GNU/Linux and Kubuntu. Show all posts
Showing posts with label Debian GNU/Linux and Kubuntu. Show all posts

Sunday, June 26, 2016

exFAT and Automount

exFAT & Automount

exFAT & Automount


이 문서는 e⎋Esc m⌥⌘Meta a⌥Alt c^Ctrl s⇧Shift org-mode로 작성된 글입니다.


System Environments

Operating Systems

  • Main- : OS X El Capitan (10.11.5)
  • Sub- : Debian GNU/Linux Wheezy (7.11)
  • Server: Debian GNU/Linux Jessie || Wheezy || Squeeze
  • Mobile: iOS 9.3.2

Hardware Systems

  • OS X installed : MacBook Pro(13-inch, Mid 2009) 2.53 GHz Intel Core 2 Duo
  • Debian installed: Zotac ZBOX ID12 Intel Atom D525
  • iOS installed : iPhone 6s

exFAT & File Systems

exFAT은 Extended File Allocation Table의 약어로 기존의 FAT (File Allocation Table)에서 4 GB 이상의 단일 파일을 다룰 수 없었던 한계 벗어나 512 TiB까지 다룰 수 있는 파일 시스템 (File System) 중 하나로 Microsoft에서 개발하였다.

파일 시스템 (File System)에 대해서 간단히 설명하자면, 하드 (HDD or SSD)나 USB를 포맷할 때, 맨 처음 지정하는 것으로 이해하면 쉽다. 대부분의 USB는 FAT 로 포맷되어 나오는데 이는 4 GB 이상의 단일 파일을 다룰 수 없다는 한계에도 불구하고 현재까지 범용성이 최고라서 대부분의 OS (OS X or Macintosh, Linux, Windows)는 물론 프린터/스캐너 같은 USB 포트가 있는 대부분의 기기에서 별다른 설정없이 꽂으면 바로 사용할 수 있기 때문이다. USB와는 다르게 OS에서는 각자 고유의 File System을 쓰고 있는데, OS X (or Macintosh or MacOS)에서는 HFS+ (Hierarchical File System Plus), Linux 계열 대부분은 ext4 (Fourth extended file system), Windows 계열은 NTFS (New Technology File System)으로 포맷되어 사용된다. 이들 모두는 당연히 4 GB 이상의 단일 파일을 다룰 수 있지만, 서로 호환되는데 설정이 필요하거나 안되는 경우가 있다. 예를들어, 시중에서 백업용으로 판매하는 외장하드 대부분은 Windows OS를 대상으로 한 경우가 많아 NTFS 형식으로 주로 포맷되어 나온다. 이들은 OS X는 물론 Linux에서 바로 인식되지 않는다. 그러니 본인의 OS가 Windows가 아니라면 HFS+ 나 ext4 으로 포맷을 먼저한 후 사용하는 것이 대부분이다.

나처럼 두 개 이상의 OS를 사용하는 경우는 조금 상황이 복잡해진다. 외장하드를 ext4 으로 사용하자니 Main OS인 OS X에 무언가 3rd party software를 깔아야 하는데 이는 내 기준에 최후의 선택이며 안정성에서도 조금 의심이 간다. 그렇다고 HFS+ 로 포맷해서 쓰자니 따로 journaling을 없애야 하고 그렇게 해도 2nd OS인 Debian에서 인식이 불안정했다. 남은 선택은 exFAT 뿐이다. 유일한 선택지였지만, 나름 여러모로 장점이 많았다.

  • 첫째, OS X와 Linux 모두에서 포맷 가능한 File System이다.
  • 둘째, 비교적 간단하게 Linux에서 Mount시킬 수 있다.
  • 셋째, Windows에서도 대부분 바로 인식 가능하다.

단점으로는 암호화 (encryption)가 불가능하는 점을 들고 싶다.

exFAT in Debian GNU/Linux

기본적으로 exFAT 형식으로 포맷된 외장하드를 Linux에서 인식시키기 위해서는 exfat-fuse 와 exfat-utils 이 필요하다. Bash shell(Konsole/Terminal)을 열어 아래를 실행해서 설치한다.

$ sudo apt-get install exfat-fuse exfat-utils

이제 외장하드를 (수동으로) Mount 시켜보자.

  • 먼저 exFAT 형식으로 포맷된 외장하드를 USB 포트에 꽂는다.
  • 적당한 이름의 directory 를 /media/ 아래에 만든다. 여기서는 exfatEXT 라 하겠다.
    $ sudo mkdir /media/exfatEXT
    
  • 외장하드 정보를 fdisk 명령어로 확인한다.
    $ sudo fdisk -l
    

    아래 그림은 /dev/sdb1 에 exFAT 으로 포맷한 2 TB 외장하드가 물려있는 모습이다.

27921493245_85005ab5d8_b.jpg

  • 아래의 명령어로 외장하드를 /media/exfatEXT 에 Mount 시킨다.
    $ sudo mount /dev/sdb1 /media/exfatEXT
    

    여기서 /dev/sdb1 는 본인의 환경에 따라 달라질 수 있음에 유의하자. /dev/sdc1 일 수도 있고 /dev/sdb2 일 수도 있다. fdisk 명령으로 어디에 외장하드가 물려있는 지 확인하자.

이제 Dolphin이나 Thunar 같은 파일 탐색기에서 외장하드에 접근할 수 있다.

그럼 매번 수동으로 Mount 시켜야 하는가? 물론 그렇지는 않다.

Automount exFAT external HDD

아래 기술할 방법은 꼭 exFAT 형식에만 적용되는 방법이 아니라 일반적인 모든 외장하드 (external HDD)를 자동으로 Mount 시키는 방법이다. 몇 가지 방법들이 존재하지만, 여기서는 fstab 파일을 수정하는 것으로 Automount를 구현하려 한다.

  • 먼저, 아래 명령어를 Bash shell(Konsole/Terminal)에서 실행해 외장하드의 UUID 정보를 확인하자.
    $ sudo blkid
    

    아래는 /dev/sdb1 에 물려있는 외장하드의 UUID가 5573-0AEE 인 모습이다.

27887358666_ef38e9a021_b.jpg

  • 적당한 editor로 /etc/fstab 파일을 열어 아래를 적어 넣자.
    UUID=5573-0AEE   /media/exfatEXT   exfat   auto,rw,user   0   0
    

    위의 /media/exfatEXT 는 이전에 기술한 Mount Point를 다시 적은 것이고 exfat 은 외장하드의 포맷 형식이며, auto,rw,user 는 읽기/쓰기 가능으로(rw) 부팅 시 자동으로 Mount하라(auto)는 의미이다. 더 자세한 사항은 여기를 참고하자. 1

이제 부팅 시 외장하드가 자동으로 Mount되어 있음을 확인할 수 있을 것이다.


Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

Created: 2016-06-26 Sun 23:41

Emacs 24.3.1 (Org mode 8.2.10)

Saturday, February 13, 2016

MiSaeng Font

미생체

미생체


이 문서는 e⎋Esc m⌥⌘Meta a⌥Alt c^Ctrl s⇧Shift org-mode로 작성된 글입니다.


System Environments

Operating Systems

  • Main- : OS X El Capitan (10.11.3)
  • Sub- : Debian GNU/Linux Wheezy (7.9)
  • Server: Debian GNU/Linux Wheezy || Squeeze
  • Mobile: iOS 9.2.1

미생체가 나왔다. 미생의 작가 윤태호씨의 손글씨를 산돌에서 만들어 배포하는 저작권 걱정없이 자유롭게 사용할 수 있는 폰트라고 한다. 한글 폰트가 한없이 부족한 현 상황에서 한 개라도 추가되는 것이 반갑기만 하고 게다가 무료(일단 무료라고 해두자)라니 대단하다. 그런데 한가지 의문이 든다. 저작권 걱정없는 이라니? 이게 무슨 말이지?

PD-icon.svg Public Domain/퍼블릭 도메인을 말하는 건가?

아니면 Copyfree.svg Free Contents/자유 저작물?

그것도 아니면 아예 512px-Copyleft.svg.png Copyleft/카피레프트? 이 의미는 아닌 것 같긴 하지만…

그냥 Cc.logo.circle.svg Creative Commons/크리에이티브 커먼즈로 내면 안되나? 이를테면, CC-BY 윤태호 이렇게…

이도 저도 아니라 ©Copyright는 있는데 단순히 무료라는 말인가?

저작권에 관해 관심은 많은데 지식이 부족해서 인가? 하는 생각도 들기는 하는데, 아무래도 잘 모르겠다. 마지막 것이 가장 그럴듯해 보이기는 하는데, 그래도 의문은 풀리지 않는다. ©Copyright는 누구라는 말인가? 작가인 윤태호씨인가, 아니면 제작사인 산돌인가 하는 문제가 여전히 남는다. Daum Kakao나 Sandoll 어디에도 명확하게 표시되어 있지 않다. 그냥 막써도(?)된다고 하지만, 원작자 표현을 하고 싶은 나 같은 경우는 오히려 헷갈린다. Public Domain/퍼블릭 도메인으로 배포한다고 밝혔으면 가장 간단했을 텐데. 아는 분이 있으면 제발 가르쳐 줬으면 좋겠다.

설치

미생체는 TrueType으로 배포되고 있으며 다운로드는 여기에서 할 수 있다. 다운로드를 완료하면 SDMiSaeng.ttf 파일을 확인할 수 있다.

OS X에서 폰트 설치는 SDMiSaeng.ttf 파일을 /Applications/Font Book.app 에서 실행하여 (보통 그냥 열면 Font Book 으로 열린다) 설치하면 된다.

Debian GNU/Linux에서 폰트 설치는 SDMiSaeng.ttf 파일이 ~/Downloads/ 아래에 저장되어 있다고 가정했을 때, 아래를 Bash (or Terminal)에서 실행하면 된다.

$ cp ~/Downloads/SDMiSaeng.ttf ~/.fonts/
$ fc-cache -fv

첫 번째 명령어는 Home directory (~/)아래 .fonts directory로 SDMiSaeng.ttf 파일을 옮기는 명령어인데, 가끔 ~/.fonts/ directory가 없는 경우가 있다. ~/ 에서 ls -la 명령어로 해당 directory가 있는 지 확인하고 없으면 mkdir ~/.fonts 명령어로 하나 만들면 된다. Debian GNU/Linux에서 폰트 설치에 관한 자세한 부분은 아래 Post에서 확인할 수 있다.

in XeLaTeX

한글 PDF 문서 만들기를 위한 XeLaTeX에 관한 글은 지난 Post에서 충분히 자세히 다루었다.

핵심만 줄이자면, xoblivoir class를 환경에서 한글 폰트만 지정해주면 PDF문서도 미생체로 만들 수 있다.

OS X에서는 source 문서에 아래를 추가하는 것으로 간단히 가능하다.

\setmainfont{Sandoll MiSaeng}

Debian GNU/Linux에서는 확인 결과 OS X와는 다르게 한 줄이 더 필요했다.

\setmainfont{Sandoll MiSaeng}
\setkormainfont{Sandoll MiSaeng}

알아두어야 할 점

대부분의 한글 폰트 (특히, 손글씨체)가 그렇듯, 독일어의 Umlaut(ä,ö,ü)나 불어의 Accents(é,è,ê) 같은 것은 당연히(?) 빠져있다. 그리고 한/영 모두 손글씨체는 거의 regular type만 존재한다. 즉, Bold 나 italic 은 없다는 말이다. 사실 손글씨체는 폰트 자체가 다른 것과 비교해 작기 때문에 다른 폰트와 잘 어울리지 않는다. 이를 이용해 (Xe)LaTeX 문서를 만든다는 것 자체가 난센스이긴 한데, 혹시 몰라서 간단히 언급하기로 했다.

Epilog

이 자리를 빌어 미생체를 만들고 배포하기로 하고 이를 실행한 윤태호 작가와 산돌에 진심으로 감사를 전하고 싶다


Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

Created: 2016-02-13 Sat 00:48

Emacs 24.3.1 (Org mode 8.2.10)

Saturday, November 14, 2015

Bootable USB

부팅 USB 만들기

부팅 USB 만들기


이 문서는 e[⎋esc]m[⌥⌘meta]a[⌥alt]c[⌃ctrl]s[⇧shift] org-mode로 작성된 글입니다.


System Environments

Operating Systems

  • Main- : OS X El Capitan (10.11.1)
  • Sub- : Debian GNU/Linux Wheezy (7.9)
  • Server: Debian GNU/Linux Wheezy || Squeeze
  • Mobile: iOS 9.1

Hardware Systems

  • OS X installed : MacBook Pro(13-inch, Mid 2009) 2.53 GHz Intel Core 2 Duo
  • Debian installed : Zotac ZBOX ID12 Intel Atom D525
  • iOS installed : iPhone 6S


Bootable USB를 만드는 방법은 여러가지가 있다. OS 마다 만드는 방법이 조금씩 다르고, 설치하려는 컴 기종에 따라서, 즉 맥(MacBook, iMac, etc)이냐 PC(맥이 아닌 다른 모든 기종)냐 따라서, 또 성공할 수도 있고 실패할 수도 있다. 이 Post에서 기술하려는 방법은 OS와 최대한 무관하면서 성공률이 좋았던 방법을 소개하려 한다. 특히, Linux (Debian GNU/Linux, Kubuntu, etc) CD image를 가지고 Bootable USB를 만드는 방법 을 구체적으로 예를 들겠지만, .iso 파일은 다 적용되므로 구할 수만 있다면 Windows에도 당연히 적용 가능하다. 단, OS X Bootable USB는 여기서 기술하는 방법으로 만들 수 없다.

준비물과 개요

  • USB stick
  • CD images
  • UNetbootin: for OS X, Linux, or Windows
  • (Optional) gnome-disk-utility: Formatting tool for Linux
  • (Optional) VirtualBox in OS X host with Linux guest

요구 USB stick 용량은 설치하려는 OS에따라 조금씩 다르다. Debian GNU/Linux netinst은 1GB만해도 충분하고, Kubuntu 14.04 LTS는 2GB 정도가 필요하다. Windows 7을 설치하려면 4GB 이상이 필요할 것으로 보인다. Debian GNU/Linux netinst image는 여기->를, Kubuntu 14.04 LTS image는 여기->를 따라가면 바로 다운로드 가능하다.

USB stick 포맷은 OS X El Capitan에서는 Disk Utility.app을 쓰면 되고, Windows에서는 USB 삽입 후 우클릭 후 포맷을 선택하면 된다. Linux는 distro(Debain이냐 Kubuntu냐 등)에 상관없이 gnome-disk-utility 를 설치해서 쓰면 된다. 기본적인 repository에 왠만하면 있으므로 바로 설치할 수 있다.

본격적으로 Bootable USB를 만드는 것은 전적으로 UNetbootin을 쓰는 것으로 한다. OS X나 Windows에서는 UNetbootin Homepage에서 받아서 설치 과정 없이 바로 쓸 수 있고, Linux에서는 존재하는 대부분의 distro를 거의 지원하므로 Homepage에서 다운로드할 필요없이 바로 설치 후 사용할 수 있다. 설치 후 주의할 점은, Unix-like systems (즉, OS X나 Linux)에서는 sudo 명령어와 함께 실행해야만 한다. 구체적으로는, OS X에서 실행 시 자동으로 비번 묻는 창이 뜨고, Linux에서는 실행 시 "sudo를 쓰세요" 따위의 에러 메시지를 띄우니 Bash(Terminal or Console)에서 $ sudo unetbootin 명령어로 실행하면 된다.

부팅 USB 만들기

Debian GNU/Linux Wheezy에서

Debian GNU/Linux를 비롯한 Debian 계열의 모든 distros (Ubuntu, Kubuntu, Xubuntu, Lubuntu, etc)에서 방법은 동일하다. 여기서는 Debian GNU/Linux Wheezy (+XFCE)을 기준으로 설명하겠다.

  1. USB stick을 준비한다.
  2. .iso image는 Kubuntu 14.04 LTS를 받았다고 가정한다.
  3. 아래를 Bash(Terminal or Console)에서 실행해 gnome-disk-utility 와 unetbootin 을 설치한다.
    $ sudo apt-get install gnome-disk-utility unetbootin
    
  4. gnome-disk-utility 를 실행해서 USB stick을 FAT로 포맷한다.
    • USB stick을 꽂은 후, File manager (Thunar나 Dolphin)에서 클릭해 mount 시킨다.
    • gnome-disk-utility 를 실행하면 꽂은 USB stick을 확인할 수 있다. 아래의 GIF에서는 JetFlash Transcend 8GB라고 보이는 것이 내가 삽입한 두 개의 파티션으로 나눠있는 USB다.
    • Bootable USB를 만들려는 파티션을 선택 후, Unmount Volumne 을 클릭해서 unmount 시킨다. 아래의 GIF에서는 두 번째 파티션에 Bootable USB를 만들려고 한다.
    • Format Volumne 을 클릭한 후, Type:에서 최상단의 FAT를 선택하고 Name:에서 원하는 이름을 적고 포맷한다.
  5. UNetbootin에서 Bootable USB를 만든다.
    • 위에서 포맷한 파티션을 File manager (Thunar나 Dolphin)에서 클릭해 다시 mount 시킨다.
    • Bash(Terminal or Console)에서 $ sudo unetbootin 을 실행해서 UNetbootin을 부른다.
    • 맨 위쪽에는 CD image가 없을 때 다운로드 받는 설정인데 여기서는 kubuntu-14.04.3-desktop-amd64.iso 가 ~/Downloads/ 아래 있다고 가정하므로 건너뛴다.
    • 두 번째 Diskimage 에서 ~/Download/kubuntu-14.04.3-desktop-amd64.iso 를 선택한다.
    • 세 번째에서 왼쪽에서 두 번째인 Drive:에서 파티션이 하나거나 첫 번째 파티션에 설치하려면 /dev/sdb1 을 두 번째 파티션에 설치하려면 /dev/sdb2 를 선택한다.
    • 완료 후 Exit을 클릭해 UNetbootin을 종료한다.

23004632281_73306455bc_o.gif

Figure 1: [GIF] Format in gnome-disk-utility

22372356933_e0db38e601_o.gif

Figure 2: [GIF] Bootable USB in UNetbootin

FYI) USB 파티션이 두 개인 경우, 앞의(논리적으로 먼저 만든) 파티션에 설치하던, 뒤의(논리적으로 나중에 만든) 것을 쓰던 부팅하는 데는 문제가 없다. 다만, 이렇게 만든 부팅가능한 부분을 계속 유지하고 싶다면 뒤의 파티션에 설치하기를 추천한다. 왜냐하면, 복사기나 복합기 같은 곳에 꽂을 때 보통 앞의 것만 인식하는 경우가 대부분이기 때문이다. 다시 말해 USB 용량이 넉넉한 경우 두 개의 파티션으로 나눠 모두 FAT로 포맷한 후 앞은 비워두고 뒤에 Bootable USB를 만들면 둘 다 유지하면서 앞 쪽은 계속 보통 USB stick처럼 쓸 수 있다.

OS X El Capitan에서

UNetbootin이 Mac OS X도 지원하므로 OS X에서 바로 만들 수 있다. 하지만, 정확한 이유는 모르나 내 경우 이렇게 만든 Bootable USB가 가끔 PC(맥이 아닌 다른 모든 기종)에서 제대로 인식되지 않는 문제가 있었다. 그래서 나는 Mac에서 만들 일이 있으면 VirtualBox에 설치한 Debian에서 주로 만든다. 두 방법 모두 간단히 다뤄보도록 하겠다.

OS X에서 바로 만들기

  1. USB stick을 준비한다.
  2. .iso image는 Kubuntu 14.04 LTS를 받았다고 가정한다.
  3. UNetbootin Homepage 링크를 따라가서 Mac OS X 용 UNetbootin을 다운로드한다. 설치는 필요 없고 다운로드한 unetbootin.app을 Applications로 옮기고 (혹은 그냥 바로) 실행하면 된다.
  4. /Applications/Utilities/Disk Utility.app 을 열어 USB stick을 MS-DOS(FAT)로 포맷한다.
    • USB stick을 꽂으면 DiskUtility.app에서 바로 보일 것이다. 아래의 GIF에서는 JetFlash Transcend 8GB라고 보이는 것이 내가 삽입한 두 개의 파티션으로 나눠있는 USB다.
    • 포맷하려는 피티션을 선택 후 상단의 Erase를 클릭해서 적당한 이름을 적고 그 아래 Format:에서 MS-DOS(FAT)을 선택 후, 다시 그 아래 Dialog boxes 중 Erase를 클릭해 포맷한다. 아래의 GIF에서는 두 번째 파티션 untitled를 KUBUNTU LTS라는 이름으로 FAT 포맷하는 과정을 담았다.

    22992148956_828eabf596_o.gif

    Figure 3: [GIF] Format in Disk Utility.app

  5. 다운로드 받아서 /Applications 로 옮긴 unetbootin.app을 실행해서 Bootable USB를 만든다.
    • /Applications/unetbootin.app 을 실행하면 요구하는 PW를 Dialog Box가 뜬다. 관리자 계정을 가진 사용자라면 ID와 PW를 넣고 실행할 수 있다.

      22599855817_ede0daa08e_o.png

      Figure 4: [PNG] Starting unetbootin.app

    • CD image는 kubuntu-14.04.3-desktop-amd64.iso 있다고 가정하고 ~/Downloads/ 아래 있다고 가정하고 Diskimage ISO에서 이를 선택한다.
    • Type: USB Drive 오른 쪽의 Drive:에서 파티션이 하나거나 첫 번째 파티션에 설치하려면 /dev/disk2s1 을 두 번째 파티션에 설치하려면 /dev/disk2s2 를 선택한다.

      22397002483_3cdb9468f9_o.png

      Figure 5: [PNG] Bootable USB in unetbootin.app

    • 완료 후 Exit을 클릭해 UNetbootin을 종료한다.

OS X에서 VirtualBox 설치 후 만들기

OS X El Capitan 도입부에 잠깐 언급했다시피 OS X에서 UNetbootin으로 만든 Bootable USB는 맥 (MacBook, MacBook Pro, iMac, etc) 이외의 PC 기종에서 인식되지 않는 문제가 종종 발생한다. (어쩔 때는 맥에서도 안된다.) 이를 피하기 위해서 나는 VirtualBox를 사용한다. 좀 더 구체적으로는 Orcle VM VirtubalBox에 설치한 (주로) Debian GNU/Linux에서 Bootable USB를 만든다. 간단히 말하면, 우선 VirtualBox 홈페이지에서 VirtualBox-...-OSX.dmg 를 다운로드 한 후, 마운트해서 그 안의 VirtualBox.pkg 를 실행해서 VirtualBox를 설치한다. 설치 후에는 Oracle VM VirtualBox Extension Pack 이 필요한데 이는 /Applications/VirtualBox.app 안에서 다운로드와 설치를 진행할 수 있다. 이게 필요한 이유는 USB stick을 Guest OS에 인식 시키기 위해 꼭 필요하다. 그 다음에는 당연히 Guest OS를 설치해야 하는데 이는 .iso 파일만 있으면 가능하다. VirtualBox의 자세한 설명은 이 Post 취지에 벋어나므로 아래의 지난 Posts로 대신한다.

위의 Posts는 OS X Snow Leopard (10.6.x)에서 작성한 것들인데, 큰 줄기(?)는 차이가 없다 (라고 자위해 본다… 이 글을 읽는 분들께 죄송하다).

OS X에서 VirtualBox에 Debian GNU/Linux를 설치했다면 나머지 과정은 이미 기술한 "Debian GNU/Linux Wheezy에서"와 같다. "Debian GNU/Linux Wheezy에서" 바로 가기->

Windows에서

UNetbootin은 OS X, Linux, Windows 모두를 지원하는 cross-platform이므로 Windows에서도 이를 이용해 Bootable USB를 만들 수 있다. 구체적인 과정도 위의 두 OS와 차이가 없다. 원하는 .iso 파일을 구해서 USB stick을 포맷하고 UNetbootin을 다운받아 실행한 후 만들면 된다. (한 문장으로 퉁쳐서 죄송하다.) 사실 Windows에서 Bootable USB 만드는 과정은 너무 많은 곳에 자세히 설명되어 있다. 여기서는 구색을 맞추기 위해 끼워 넣었고 자세한 설명도 생략하려한다.

23019182405_1d39443802_o.png

Figure 6: [PNG] UNetbootin in Windows XP


Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

Created: 2015-11-14 Sat 23:43

Emacs 24.3.1 (Org mode 8.2.10)

Thursday, August 27, 2015

Sound issue in HandBrake

Sound breaking in HandBrake

Sound breaking in HandBrake


This post is written with e[ ⎋Esc ]m[ ⌥Meta ]a[ ⌥Alt ]c[ ^Ctrl ]s[ ⇧Shift ] org-mode.


Operating System Environments

  • Main- : OS X Yosemite (10.10.5)
  • Sub- : Debian GNU/Linux Wheezy (7.8)
  • Server: Debian GNU/Linux Wheezy || Squeeze
  • Mobile: iOS 7.1.2

HandBrake is a GNU Licensed free-/open-source for transcoding videos. It is the one and only software to me for the purpose of converting movies w/ or w/o subtitles. Main features are

  • Pros :
    • Free-/open-source
    • Cross-platform meaning available in OS X, Linux, and Windows
    • Supporting most common containers for input sources, such as .avi, .mkv, .mov, etc
    • Particularly useful for making a subtitled video
    • Queue for pending jobs
  • Cons :
    • .srt works only for a subtitle file
    • Too many options, so that could be unclear for beginners

The last disadvantage would not be a big deal, since HandBrake's built-in presets could be mostly enough. But, the inconvenience of subtitle files requires some efforts, which may be a next post. It has been installed on my two operating systems for last five years. The most frequent job of mine is to get a .m4v movie containing multi-lingual subtitles. Never fails so far.

I don't want to describe its technical details or steps how to use in this post, because there are plenty of them. Instead, fixing a sound problem probably caused during converting procedure is what I try to show here.

Sound missing after transcoding

There was a sound problem occurring for the first time. I tried to transcode a source to a .m4v movie with English/Korean subtitles. After transcoding was done, output's sound broke. Precisely, the first 2/3 part was of stereo as intended, but the remainder became mono, so that it played without any sound on my poor linux machine. Everything else was fine. Details of the input source was

  • Input source
    • Container: mp4
    • Video codec: H264 MPEG-4 AVC
    • Audio codec: MPEG AAC Audio
    • Resolution: 1920x1080
    • Size: about 1.5 GB

I attempt to use other softwares for fixing it, for example, ffmpegX, Adapter, MPEG Streamclip, QuickTime Player, even iMovie with various different configurations. However, none of them was working. (FYI, it is neither to be expected getting a subtitled .m4v output directly from any, nor even possible. I got suspicious of the input source, so that made a detour as a mid-step.)

There are lots of options we can set up in HandBrake. It turns out that one of them is the key to resolving the sound issue. The audio setup that Auto Passthru is chosen as the following figure can bypass the issue, so that provides a proper stereo sound smoothly.

20290925573_8d42ac8f3c_o.png


Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

Created: 2015-08-27 Thu 02:53

Emacs 24.3.1 (Org mode 8.2.10)

Friday, August 21, 2015

Incognito

Chrome Incognito by default

Chrome Incognito by default


이 문서는 e[ ⎋Esc ]m[ ⌥Meta ]a[ ⌥Alt ]c[ ^Ctrl ]s[ ⇧Shift ] org-mode로 작성된 글입니다.


System Environments

Operating Systems

  • Main- : OS X Yosemite (10.10.5)
  • Sub- : Debian GNU/Linux Wheezy (7.8)
  • Server: Debian GNU/Linux Wheezy || Squeeze
  • Mobile: iOS 7.1.2


Google Chrome의 Incognito mode는 Privacy Mode의 다른 말로써, 이용 내역을 저장하지 않고 브라우저를 사용하는 기능이다. 방문한 페이지의 내역(history), http 정보(cookie), 프록시 서버 저장된 정보(web cache) 등이 저장되지 않아서 개인 정보 노출에 민감한 경우에도 유용하게 쓸 수 있다.

in‧cog‧ni‧to |inkɑ́ɡnitòu┃-kɔ́ɡ-|

[형용사][부사] 《라틴어》 익명의[으로], 가명의[으로]; 암행의[으로]

> an incognito traveler 신분을 숨긴 여행자.

[명사] (『복수』 incognitos |-z| )

1.익명자; 미행자. 2.[불]미행. 3.익명, 가명.

from OSX 내장 뉴에이스 영한사전

Private Mode를 쓰는 방법은 간단하다. Chrome(or Chromium)에서는 주소창 맨 오른쪽에 위치한 20549413899_b021ba717f_o.png를 클릭한 후, New Incognito Window 에서 사용할 수 있고, Firefox(or Iceweasel)에서도 역시 주소창 맨 오른쪽의 20549413899_b021ba717f_o.png를 클릭, New Private Window 에서 할 수 있다.

20710485986_6d901c96bb_o.gif

Figure 1: Mozilla Firefox Private Mode in OSX

최근에 보안상의 이유로 메인컴인 OSX Yosemite에서 Adobe Flash를 완전히 삭제하면서, 부득이하게 가끔 Flash가 필요할 때가 생겼다. 때문에, Flash가 브라우저에 내장된 Google Chrome을 설치해서 종종 쓰는데, 여기에서는 어떤 extensions도 설치하지 않고 순정으로 쓰고 있다. 그래서 쓸 때마다 Incognito Mode를 활성화하는 데, 너무 귀찮아서 "항상 incognito로 켤 순 없을까?"하는 고민을 하게 되었다. 이 포스팅에서는 Chrome을 열 때 항상 Incognito Mode를 활성화 하는 방법을 기술하려 한다. 기술적으로는 Bash(Terminal.app in OSX, Terminal emulator, etc in Linux)에서 --args --incognito 옵션으로 Chrome을 실행하는 것과 다름없는데, 이를 OS 마다 적당히 적용해서 사용을 더 간단하게 하는 것이 목적이다.

Open Google Chrome always with Incognito mode

테스트에 사용한 Google Chrome 버전과 OS는 아래와 같다.1

  • 44.x (64-bit) in OSX Yosemite
  • 44.x (64-bit) in Debian GNU/Linux Wheezy with XFCE

Google Chrome은 이미 설치했다고 가정한다.

OSX Yosemite

여기서 사용한 방법을 간단히 기술하면, Bash(Terminal.app)에서 open -a /Applications/Google\\ Chrome.app --args --incognito 를 실행하는 Apple Script를 만들어 Application으로 등록하는 것이다.

Instruction

  1. /Applications/Utilities 아래에 있는 Script Editor.app 을 연다.
  2. 아래를 적어 넣는다.
    do shell script "open -a /Applications/Google\\ Chrome.app --args --incognito"
    
  3. 메뉴에서 Export 를 클릭해서, [Export As:]에서 적당한 이름을 적고, [Where:]에서 /Applications 을 선택한 후, [File Format:]을 Application 으로 해서 저장한다.

이제, /Applications 아래에 새롭게 만든 Application이 등록된 것을 확인할 수 있다. 원한다면 Get Info (단축키 ⌘i)에서 아이콘도 바꿀 수 있다. 이제 원래 있는 Google Chrome이 아니라, 본인이 직접 이름 지은 새 Application을 쓰면 된다.

20744281801_54d04f59e6_o.gif

Figure 2: Workflow of Script Editor for making the application

Debian GNU/Linux

Google Chrome을 설치했다면 Bash(Terminal Emulator or etc)에서 google-chrome --args --incognito 명령을 실행하는 것으로 바로 Incognito Mode로 Chrome을 열 수 있다. 여기서는 /opt/google/chrome 아래에 있는 Shell Script인 google-chrome 을 수정하려 한다. 당연히, 사용자는 root 권한이 있어서 sudo 명령어를 쓸 수 있어야 한다.

Instruction

  1. Bash(Terminal Emulator or etc)를 열어 /opt/google/chrome/ 로 이동한다.
    $ cd /opt/google/chrome
    
  2. sudo 와 함께 적당한 에디터로 google-chrome 을 연다. 아래는 mousepad 로 실행한 예이다.
    $ sudo mousepad google-chrome
    
  3. 아래와 같이 적힌 부분을 찾자. 다른 부분은 건드리지 않게 주의한다!
    # Make sure that the profile directory specified in the environment, if any,
    # overrides the default.
    if [[ -n "$CHROME_USER_DATA_DIR" ]]; then
      # Note: exec -a below is a bashism.
      exec -a "$0" "$HERE/chrome"  \
        --user-data-dir="$CHROME_USER_DATA_DIR" "$@"
    else
      exec -a "$0" "$HERE/chrome"  "$@"
    fi
    
  4. 여기서 중요한 부분은 두 군데 있는 exec -a "$0" "$HERE/chrome" 이다. 아래와 같이, 두 곳 모두 exec -a "$0" "$HERE/chrome" --args --incognito 로 고친 후 저장하자.
    # Make sure that the profile directory specified in the environment, if any,
    # overrides the default.
    if [[ -n "$CHROME_USER_DATA_DIR" ]]; then
      # Note: exec -a below is a bashism.
      exec -a "$0" "$HERE/chrome" --args --incognito  \
        --user-data-dir="$CHROME_USER_DATA_DIR" "$@"
    else
      exec -a "$0" "$HERE/chrome" --args --incognito  "$@"
    fi
    

이제, Bash에서 google-chrome 명령어로 직접 열든, 어딘가 이미 등록되어 있는(보통 Applications Menu 아래) Google Chrome을 클릭하던, 항상 --args --incognito 옵션으로 실행되어 Incognito Mode로 열릴 것이다.


Created: 2015-08-21 Fri 22:53

Emacs 24.3.1 (Org mode 8.2.10)

Sunday, July 12, 2015

wine for x86_64

Wine

Wine


이 문서는 e[ ⎋Esc ]m[ ⌥Meta ]a[ ⌥Alt ]c[ ^Ctrl ]s[ ⇧Shift ] org-mode로 작성된 글입니다.


System Environments

Operating Systems

  • Main- : OS X Yosemite (10.10.4)
  • Sub- : Debian GNU/Linux Wheezy (7.8):amd64
  • Server: Debian GNU/Linux Wheezy || Squeeze
  • Mobile: iOS 7.1.2

지난 글들에서 볼 수 있듯이, 최근에 Debian이 설치된 2nd 컴을 날렸다.

이 blog를 참고하는 것 만으로, 웬만한 설치 관련 문제를 해결할 수 있기를 바랐기에, 다시 Debian을 설치하며 알게 된 이 blog에서 빠진 몇 가지 간단한 것들을 추가하려 한다.

Wine for Debian GNU/Linux: amd64

Debian을 64비트(a.k.a. amd64, x86-64, or x86_64)로 설치해서 사용하고 있다. 믿기 어렵지만, 2015년이 반이나 지났는데도 아직 32비트가 확장성이 더 좋다. 이를테면, steam을 Debian 64비트에서 설치하는 것은 많이 까다롭거나 거의 불가능하다. 그럼에도 불구하고 이를 쓰는 이유는, 전적으로 내 경험 상 동영상 변환 및 시청에서 약간의 성능 향상을 경험했기 때문이다. 즉, 같은 환경에서 32비트보다 64비트에서 동영상 변환이 조금 더 빠르고 HD급 동영상 시청 시 덜 버벅였다. 사용하고 있는 컴의 아키텍처를 알고 싶으면 아래의 명령어를 Bash(or Terminal Emulator)에서 실행하면 된다.

$ dpkg --print-architecture

32비트면 i386 를 출력할 것이고, 64비트면 amd64 를 볼 수 있을 것이다.

Linux를 쓰다 보면 Wine이 필요할 때가 있다. 일반적으로 Linux 용 소프트웨어가 Windows는 물론 OS X 보다도 적다. 이를 다소 해결해 줄 수 있는 것이 Wine이다. Wine은 Windows 용 프로그램을 Linux에서 간단히 구동 시켜주는 emulator 중 하나이다. 대표적으로 MS Office나 iTunes 같은 프로그램을 쓸 수 있게 해주며, 게임을 즐기는 사람들에게 특히 유용하게 쓰인다. 내 경우에 Linux로 사용하는 컴이 너무 구식이라 어차피 게임을 돌릴 수는 없고, 2nd으로 쓰는 지라 웬만한 것들은 Linux 안에서 해결 수 있었다. 딱 하나 필요해서 쓰는 데, 그게 반디집이다. Linux에서 한글명으로 된 압축 파일을 풀 때 쓴다.

문제는, Wine은 32비트 아키텍처 기반이라 64비트에서 쓰려면, 32비트로 구동 되는 소프트웨어를 64비트에 이식하는 과정 이 필요하다는 점이다. 글로 쓰니 거창해 보이지만 간단히 말해서, 아래와 같이 foreign-architectures 에 32비트를 추가하면 된다.

  1. Bash(or Terminal Emulator)를 열어 다음 명령어를 수행한다.
    $ sudo dpkg --add-architecture i386
    
  2. 그러면, 다음 명령어로 foreign-architectures 에 32비트가 추가된 것을 확인할 수 있다.
    $ dpkg --print-foreign-architectures
    
  3. 마지막으로 apt 를 업그레이드 하면 된다.
    $ sudo apt-get update
    $ sudo apt-get upgrade
    

이제, Wine을 쓸 준비는 다됐다. 설치는 언제나 그렇듯 sudo apt-get install wine 으로 하면 된다.


Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

Created: 2015-07-12 Sun 00:19

Emacs 24.3.1 (Org mode 8.2.10)

Sunday, July 5, 2015

XFCE: auto-login

Debian GNU/Linux: Auto-login

Debian GNU/Linux: Auto-login


이 문서는 e[ ⎋Esc ]m[ ⌥Meta ]a[ ⌥Alt ]c[ ^Ctrl ]s[ ⇧Shift ] org-mode로 작성된 글입니다.


System Environments

Operating Systems

  • Main- : OS X Yosemite (10.10.4)
  • Sub- : Debian GNU/Linux Wheezy (7.8)
  • Server: Debian GNU/Linux Wheezy || Squeeze
  • Mobile: iOS 7.1.2

지난 글들에서 볼 수 있듯이, 최근에 Debian이 설치된 \(2^{nd}\) 컴을 날렸다.

이 blog를 참고하는 것 만으로, 웬만한 설치 관련 문제를 해결할 수 있기를 바랐기에, 다시 Debian을 설치하며 알게 된 이 blog에서 빠진 몇 가지 간단한 것들을 추가하려 한다.

Auto-login in Debian GNU/Linux with XFCE

KDE를 쓰면 [System settings]에서 auto-login을 간단하게 설정할 수 있다. XFCE는 가볍고 빠른 만큼 GUI(Graphic User Interface)로 간단히 접근할 수 있는 많은 것들이 누락되어있다. Auto-login도 그 중 하나로 사용자가 직접 Bash(Terminal emulator)에서 설정해야 한다. 내 \(2^{nd}\) 컴에는 개인적인 것들이 거의 없어서, 한 번 이라도 키보드를 덜 쓰려, 아래의 방법으로 auto-login on 상태로 사용하고 있다.

  1. 우선 lightdm package가 필요하다.
    $ sudo apt-get install lightdm
    
  2. 설치가 끝나면, /etc/lightdm/lightdm.conf 파일을 mousepad 같은 적당한 에디터로 열자.
  3. 아래와 같이 쓰여진 부분을 찾아서(⌃Ctrl+f)
    [SeatDefaults]
    #autologin-user=
    #autologin-user-timeout=0
    

    아래처럼 주석 처리 기호인 # 을 지우고, autologin-user= 오른쪽에 사용자의 ID(아래서 Your_ID 로 표한 부분)을 적으면 된다.

    [SeatDefaults]
    autologin-user=Your_ID
    autologin-user-timeout=0
    

Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

Created: 2015-07-05 Sun 12:41

Emacs 24.3.1 (Org mode 8.2.10)

XFCE: font installation

Debian GNU/Linux: Font installation

Debian GNU/Linux: Font installation


이 문서는 e[ ⎋Esc ]m[ ⌥Meta ]a[ ⌥Alt ]c[ ^Ctrl ]s[ ⇧Shift ] org-mode로 작성된 글입니다.


System Environments

Operating Systems

  • Main- : OS X Yosemite (10.10.4)
  • Sub- : Debian GNU/Linux Wheezy (7.8)
  • Server: Debian GNU/Linux Wheezy || Squeeze
  • Mobile: iOS 7.1.2

지난 글들에서 볼 수 있듯이, 최근에 Debian이 설치된 \(2^{nd}\) 컴을 날렸다.

이 blog를 참고하는 것 만으로, 웬만한 설치 관련 문제를 해결할 수 있기를 바랐기에, 다시 Debian을 설치하며 알게 된 이 blog에서 빠진 몇 가지 간단한 것들을 추가하려 한다.

Installation of fonts in Debian GNU/Linux with XFCE

폰트 설치 시, Debian repository에 있어서 apt 명령어로 바로 설치할 수 있는 경우가 있다. 대표적으로 은폰트(ttf-unfonts-core 와 ttf-unfonts-extra)가 있다.

그렇지 않은 경우로는, 사용자가 직접 폰트나 폰트 패밀리를 다운로드해서 설치하고 싶을 때가 있다. KDE나 Gnome과는 다르게, XFCE는 가볍고 빠른 만큼 GUI(Graphic User Interface)로 간단히 접근할 수 있는 많은 것들이 누락되어있어서 폰트도 사용자가 직접 몇 가지 명령어를 실행해야 한다. 이는 또 두 가지 경우로 나눌 수 있는데, 시스템에 설치해서 전체 사용자가 쓸 수 있는 방법과, 한 사용자(혹은 지금 로그인 중인 사용자)에만 설치하는 방법이 있다. 전자는 당연히 sudoer에 등록된 사용자만이 할 수 있고, 후자는 로그인만 할 수 있으면 가능하며 내가 선호하는 방법이다.1

  • Systemwidely:

    다운로드한 폰트나 폰트 패밀리를 /usr/local/share/fonts/ 디렉터리로 복사한 후, sudo fc-cache -fv 명령어를 실행하면 된다. 아래는 ~/Downloads/ 디렉터리에 받은 TrueType 폰트 전체를 /usr/local/share/fonts/ 디렉터리로 복사한 후, 해당 명령어를 Bash(Terminal emulator)에서 실행하는 예이다.

    $ sudo cp ~/Downdloads/*.ttf /usr/local/share/fonts/
    $ sudo fc-cache -fv
    
  • For an user:

    우선 다운로드한 폰트나 폰트 패밀리를 ~/.fonts/ 디렉터리로 복사한다. 이 디렉터리가 없으면 mkdir ~/.fonts 명령으로 하나 만들면 된다. 그리고 fc-cache -fv 명령어를 실행하면 된다. 아래는 ~/Downloads/ 디렉터리에 받은 TrueType 폰트 전체를 ~/.fonts/ 디렉터리로 복사한 후, 해당 명령어를 Bash(Terminal emulator)에서 실행하는 예이다.

    $ cp ~/Downdloads/*.ttf ~/.fonts/
    $ fc-cache -fv
    

FYI) .ttf 형식의 TrueType 폰트는 물론, .otf 의 OpenType 폰트 모두 쓸 수 있다. 현재 각광 받는 폰트 중 하나인 Noto Sans CJK KR은 .otf 형식으로 배포되고 있다. -> 다운로드 바로가기


Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

Footnotes:

Created: 2015-07-05 Sun 12:42

Emacs 24.3.1 (Org mode 8.2.10)

Installation of Debian GNU/Linux with XFCE

Debian GNU/Linux: XFCE default

Debian GNU/Linux: XFCE default


이 문서는 e[ ⎋Esc ]m[ ⌥Meta ]a[ ⌥Alt ]c[ ^Ctrl ]s[ ⇧Shift ] org-mode로 작성된 글입니다.


System Environments

Operating Systems

  • Main- : OS X Yosemite (10.10.4)
  • Sub- : Debian GNU/Linux Wheezy (7.8)
  • Server: Debian GNU/Linux Wheezy || Squeeze
  • Mobile: iOS 7.1.2

지난 글들에서 볼 수 있듯이, 최근에 Debian이 설치된 \(2^{nd}\) 컴을 날렸다.

이 blog를 참고하는 것 만으로, 웬만한 설치 관련 문제를 해결할 수 있기를 바랐기에, 다시 Debian을 설치하며 알게 된 이 blog에서 빠진 몇 가지 간단한 것들을 추가하려 한다.

Installation of Debian GNU/Linux with XFCE

Debian GNU/Linux Wheezy (7.x)의 기본 Desktop Environment는 Gnome이다. OS 설치 시, Gnome, KDE, XFCE, LXDE 중 선택할 수 있지만, 어떻게 bootable usb를 만들었냐에 따라 Desktop Environment 선택 화면이 없이 그냥 지나갈 수도 있다. 보통 그냥 하라는 데로 설치하면 열이면 열 Gnome이 설치된다. 나는 Gnome을 좋아하지 않는다. KDE는 너무 무겁다. 내가 원하는 것은 XFCE. OS 설치 시 수동으로 XFCE를 Desktop Environment로 선택하는 방법은 간단하다.1

  • Bootable usb로 부팅한 후 바로 보이는 boot prompt에서, ↹Tab 키를 누른 후, desktop=xfce 를 타이핑한 후 ↩Return 키를 누르면 된다.

FYI) 내 경우, unetbootin 을 통해서 bootable usb를 주로 만드는데, 설치 시 Desktop Environment 선택 화면이 보이지 않는다. 다른 프로그램을 통해서 bootable usb를 만들면 이 화면이 보일 수도 있다. 이를테면, KDE에서 Startup Disk Creator 를 이용해서 만들면, boot prompt에서 [Advanced Options] 아래 Desktop Environment를 선택할 수 있다.


Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

Footnotes:

Created: 2015-07-05 Sun 12:41

Emacs 24.3.1 (Org mode 8.2.10)