Sunday, May 31, 2015

No space left on device

No space in Debian

No space in Debian


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

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


System Environments

Operating Systems

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

No space left on device

If you get an error message containing No space left on device no matter what you do in Debian GNU/Linux, you are forced to login in the prompt as below.

2015-05-30 23.52.28

Do not be panicked. You can resolve such an error by following instruction.

  1. Type root in the prompt and type the root password you set.
  2. Run sequentially
    # mv /usr /home/your_id
    # ln -s /home/your_id/usr /
    

    The first would take time. your_id above must be substituted by your name in Debian.

The reader must be reminded that a root password is indispensably required, not a sudoer's password.

설명

보통 Debian GNU/Linux 설치할 때는, / 아래에 system files을 설치하고 /home/your_id 아래에 사용자의 개인 directory를 설정하게 된다. Partitions을 나눌 때 셋 혹은 넷으로 나누게 되는데, 첫째가 / 둘째가 /home/your_id 마지막으로 memory-swip-part 이다. 마지막 녀석은 하드 공간 중에 메모리가 부족할 때를 대비해서 하드 중 일부를 메모리로 할당하는 부분이다. 이 때문에 Linux가 메모리 관리가 좋다고 하는 것 같다. 문제는 Debian이 워낙 용량을 작게 차지해서 인지 system files가 차지하는 부분인 / 를 10GB 정도로 보통 자동 설정된다는 점이다. 하드 용량이 1TB여도 이렇다. 이것저것 하다 보면. 10GB는 금방 동난다.

쓰다 보면 / 아래에 용량을 가장 많이 차지하는 곳이 바로 /usr directory이다. 위의 설정은 이를 사용자의 home directory로 옮기고, / 아래에 symbolic link를 만드는 과정이다. 이러면, symbolic link의 특징 상 / 용량을 많이 줄일 수 있다. 내 경우 5GB 정도를 줄였다.

여기서 또 다른 문제는 mv 명령어로 /usr directory를 옮길 때 발생한다. 일단 옮기면, ln 명령어를 전혀 쓸 수 없다. 사용자가 sudoers 계정에 등록되어 sudo 명령어를 쓸 수 있을 경우에도 마찬가지다. 반드시 root 비번이 필요하다.

FYI) Symbolic link에 관한 자세한 사항은 여기를 참고하자.


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

Created: 2015-05-31 Sun 01:03

Emacs 24.3.1 (Org mode 8.2.10)

Saturday, May 30, 2015

Hunspell for Emacs in Debain

Hunspell for Emacs in Debain

Hunspell for Emacs in Debain


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


System Environments

Operating Systems

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

Hunspell and Emacs in Debian GNU/Linux

Debian GNU/Linux Wheezy doesn't have Hunspell preinstalled, but does GNU Emacs by all means. The version of the default emacs in the system is 23.4.1, which can be seen under Bash with emacs --version. I have testified not only the default version of Emacs, but the manually compiled 24.3.2 version as well. The following will work for both.

Using hunsepll for GNU Emacs in Debian GNU/Linux is much simpler than that in OSX, because all needs can be easily installed and configured via Debian repositories, i.e. apt. Here a English-Korean multilingual environment is taken as an example.

Additionally, dictionary-toggling in Emacs will be also at issue of this post.

Installation and configuration

  1. Get necessary packages: Open Bash, and run
    $ sudo apt-get install hunspell hunspell-ko hunspell-en-us
    
  2. Check detailed information of Hunspell:
    $ hunspell -D
    

    Two most important things are a) being executable with the above command and b) dictionaries you installed. The later must be en_US and ko_KR. Information could be as similar as the screenshot of mine.

    17657609743_e07000deb4_o.png

    Figure 1: Hunspell information in Debian 7.8

  3. Open the Emacs preference file, i.e. ~/.emacs and add the following elisp code into it
    (setq ispell-local-dictionary-alist
    '(
      ("english-hunspell"
       "[A-Za-z]" "[^A-Za-z]" "[0-9a-zA-Z]" t
       ("-d" "en_US")
       nil utf-8)
      ("korean-hunspell"
       ;; "[가-힝]" "[^가-힝]" "[0-9a-zA-Z]" nil   ;; <--- emacs 22 or lower
       "[가-힣]" "[^가-힣]" "[0-9a-zA-Z]" nil   ;; <--- emacs 23 or higher
       ("-d" "ko_KR")
       nil utf-8)
      ;; ("german"
      ;;  "[a-zäöüßA-ZÄÖÜ]" "[^a-zäöüßA-ZÄÖÜ]" "[']" t
      ;;  ("-d" "de_DE")
      ;;  nil utf-8)
      )
    )
    (setq ispell-program-name "hunspell"
          ispell-dictionary "english-hunspell")
    (setq ispell-really-hunspell t)   ;; <--- optional??? working w/o it in emacs(cocoa)
    

    FYI) If you wanna use a triple lingual environment such as German together, you can uncomment the last four sentences and modify a library.

Toggle two dictionaries

If you can change libraries with a single keyboard stroke, like C-\ for toggle-input-method rather than type it after M-x, it must then be great. I set the toggle for libraries by S-SPC. And it works after adding the following into ~/.emacs

;; ;; ### korean-english
(let ((langs '("korean-hunspell" "english-hunspell")))
  (setq lang-ring (make-ring (length langs)))
  (dolist (elem langs) (ring-insert lang-ring elem)))
(defun cycle-ispell-languages ()
  (interactive)
  (let ((lang (ring-ref lang-ring -1)))
    (ring-insert lang-ring lang)
    (ispell-change-dictionary lang)))
;; ### key bindings
(global-set-key (kbd "S-SPC") 'cycle-ispell-languages)

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

Created: 2015-05-30 Sat 22:43

Emacs 24.3.1 (Org mode 8.2.10)

Hunspell for Emacs in OSX

Hunspell for Emacs in OSX

Hunspell for Emacs in OSX


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


System Environments

Operating Systems

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

Hunspell and Emacs under OSX

Hunspall is one of the famous spell-checker softwares and GNU licensed. However, it is tricky to use it. Furthermore, the latest Emacs porks provided not only by Emacs Cocoa, but also by MacPorts and all Aquamacs can not be applicable to Hunspell as long as I have tried. Frankly speaking, the only way I know how to make Hunspell work in Emacs is the Emacs Cocoa 24.3.1 Installation of hunspell is done by means of MacPorts. Note that a English-Korean multilingual environment is taken in this post as an example.

Additionally, dictionary-toggling in Emacs will be at issue of this post as well.

Instruction for Hunspell in Emacs Cocoa with English-Korean under OSX

  1. It assumed that MacPorts were already installed, so that ready to use.
  2. Install Hunspell and its English library via MacPorts
    $ sudo port install hunspell hunspell-dict-en_US
    
  3. See paths for hunspell and hunspell-dict-en_US by running
    $ hunspell -D
    

    They must be /opt/local/bin/hunspell and /opt/local/share/hunspell/en_US.

  4. Download Hunspell dictionary for Korean: Homepage, download page, or "direct download"
  5. After unzipped ko-aff-dic-0.5.6.zip, locate two files ko.aff and ko.dic into ~/Library/Spelling/.
  6. Open the Emacs preference file ~/.emacs and add library-information as the following elisp
    (setq ispell-local-dictionary-alist
    '(
      ("english-hunspell"
       "[A-Za-z]" "[^A-Za-z]" "[0-9a-zA-Z]" t
       ("-d" "/opt/local/share/hunspell/en_US")   ;; <--- exact path
       nil utf-8)
      ("korean-hunspell"
       ;; "[가-힝]" "[^가-힝]" "[0-9a-zA-Z]" nil   ;; <--- emacs 22이하
       "[가-힣]" "[^가-힣]" "[0-9a-zA-Z]" nil   ;; <--- emacs 23이상
       ("-d" "/Users/JOHN/Library/Spelling/ko")   ;; <--- JOHN indicates you in OSX
       nil utf-8)
      ;; ("german-hunspell"
      ;;  "[a-zäöüßA-ZÄÖÜ]" "[^a-zäöüßA-ZÄÖÜ]" "[']" t
      ;;  ("-d" "de_DE")
      ;;  nil utf-8)
      )
    )
    

    Remember that a) you have to use exact paths ,not like ~ for your home directory and b) JOHN above must be replaced by your name in OSX. FYI) If you wanna use a triple lingual environment such as German together, you can uncomment the last four sentences and modify a library.

  7. And put the Hunspell information
    (setq ispell-program-name "/opt/local/bin/hunspell"   ;; <--- exact path in OSX 10.10
          ispell-dictionary "english-hunspell")
    (setq ispell-really-hunspell t)   ;; <--- optional??? working w/o it in emacs(cocoa)
    

Toggle libraries

It must be great to change libraries with a keyboard stroke, like ^\ (C-\ in typical Emacs notation) for toggle-input-method rather than type it after ⌥x (M-x in typical Emacs notation). I set the toggle for libraries by ⇧SPC (S-SPC in typical Emacs notation). Add the following into ~/.emacs

;; ### korean-english
(let ((langs '("korean-hunspell" "english-hunspell")))
  (setq lang-ring (make-ring (length langs)))
  (dolist (elem langs) (ring-insert lang-ring elem)))
(defun cycle-ispell-languages ()
  (interactive)
  (let ((lang (ring-ref lang-ring -1)))
    (ring-insert lang-ring lang)
    (ispell-change-dictionary lang)))
;; ### key bindings
(global-set-key (kbd "S-SPC") 'cycle-ispell-languages)

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

Footnotes:

1

Exact version of the Emacs Cocoa working with Hunspell is 24.3.1. Other versions I have tested are 24.5-1, 24.4, and 23.4, which all I failed to use smoothly.


Created: 2015-05-30 Sat 21:01

Emacs 24.3.1 (Org mode 8.2.10)

Monday, May 25, 2015

Symbolic Link

Symbolic Link

Symbolic Link


;; =================================================
;; εμαcs is ⎋[esc]⌘[meta]⌥[alt]⌃[ctrl]⇧[shift].
;; =================================================

이 문서는 emacs org-mode로 작성된 글입니다.


System Environments

Operating Systems

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

간단히, 하나(혹은 여럿)의 OS 안에서 파일이나 폴더를 서로 sync시키는 거라고 이해하면 된다. 한 쪽에서 고치면 다른 쪽도 당연히 변경됨은 물론이고, 원본이 있는 곳을 제외하고는 용량을 차지하지 않는다.

언제 필요한가?

위의 개념에서 그 필요성이 저절로 설명되지만, 구체적으로 적어보자면 다음과 같은 몇 가지 예를 들 수 있다.

  • Coding을 하는데 있어서 일종의 나만의 library 만들고 거기서 불러올 때. 내 경우, 하나의 BibTeX 파일에 내 모든 bibliography 정보를 다 넣어두고, 이 파일을 작업 중인 LaTeX project가 있는 곳에 symbolic link를 시킨다. 원본과 다른 이름을 쓸 수 있는 것은 물론, 하나의 원본을 여러 곳에 symbolic link 시킬 수도 있다.
  • DropBox 같은 서비스를 통해서 백업할 때. 굳이 Dropbox 폴더에서 작업을 하고 백업을 하는 것이 아니라, 원래 하던 데로 적당한 폴더에서 작업한 후에, 이 폴더를 Dropbox 폴더 아래에 symbolic link를 시키면 간단하고 용량도 절약할 수 있다. 당연히 한 번 설정하면, 원본이나 symbolic link한 파일(혹은 폴더) 어디서 수정해도 계속 변경 사항이 반영되고 항상 백업한다.
  • 홈서버에서 ftp나 sftp를 쓰고자 할 때. 서로 다른 계정에 같은 정보를 저장할 필요 없이, 각각에 symbolic link 시키면 된다.

FYI) 위에서 "symbolic link한 파일이나 폴더를 수정한다" 는 말은 기술적으로 맞는 말은 아니다. File browser(Finder, Thunar, Dolphin, or etc)에서 symbolic link한 파일(혹은 폴더)를 열면, 자동으로 원본을 찾아서 그것을 연다.

FYI) SpiderOak는 symbolic link를 무시한다. 파일이건 폴더건 상관없이 아예 sync 시키지를 않는다.

특징

원본의 경로가 변경되거나 지워지면, symbolic link한 대상 자체는 그대로 있지만 원본의 정보를 잃는 것이 symbolic link의 특징 중 하나다. 하드드라이브에 partition이 여럿 존재하는 경우에도, 동일 partition 안에서만 동작하는 것이 아니라 다른 partition 안의 것 또한 link 시킬 수 있다. Volume이 다른 경우(외장하드, USB, 등)도 가능하고, 심지어는 다른 File systems(예, 네트워크 드라이브)도 다룰 수 있다. 물론 시스템을 재시동해서 외장하드가 아직 mount되지 않았거나 네트워크 드라이브가 연결이 끊기면, symbolic link한 대상이 원본의 정보를 잠시 잃는다. 하지만, 다시 mount 하거나 네트워크를 연결시키면 symbolic links는 제대로 동작한다.

FYI) OSX의 Finder에서 지원하는 Make Aliassymbolic link는 조금 다르다. OSX의 aliashard link에 가깝다. 그래서 OSX의 alias는 위에서 언급한 symbolic link의 장점들을 하나도 누릴 수 없다. 구체적으로, LaTeX project에서 OSX의 alias를 부를 수 없으며, Dropbox 폴더에 만든 OSX의 alias는 백업도 안된다.

사용법

Bash(Terminal.app in OSX)를 열어 다음을 실행한다.

$cd directory_where_you_wanna_locate_symbolic_linked_target
$ln -s target_you_wanna_copy name_you_want

여기서, directory_where_you_wanna_locate_symbolic_linked_target 은 symbolic link로 만든 파일(혹은 폴더)를 놓을 곳의 경로를 의미한다. target_you_wanna_copy 은 symbolic link 싶은 파일(혹은 폴더)을 의미하는데 경로까지 완전히 적어야 하고, name_you_want 은 본인 원하는 이름을 적으면 된다. 원본 이름을 그대로 쓰고 싶을 때는 후자는 생략 가능하다. 예를들어, 자신의 홈폴더 아래 Downloads에 있는 testDirectory의 이름의 폴더를 홈폴더 아래 Dropbox에 symLink라는 새이름으로 symbolic link를 시켜서 백업을 하고 싶은 경우에는 다음과 같이 하면 된다.

$cd ~/Dropbox
$ln -s ~/Download/testDirectory symLink

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

Created: 2015-05-25 Mon 13:00

Emacs 23.4.1 (Org mode 8.0.2)

Saturday, May 23, 2015

OSX Yosemite

OSX Yosemite

OSX Yosemite


;; =================================================
;; εμαcs is ⎋[esc]⌘[meta]⌥[alt]⌃[ctrl]⇧[shift].
;; =================================================

This post is written with emacs org-mode.


이 문서는 emacs org-mode로 작성된 글입니다.


System Environments

Operating Systems

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

Hardware Systems

  • OSX installed : MacBook Pro(13-inch, Mid 2009) 2.53 GHz Intel Core 2 Duo
  • Debian installed : Zotac ZBOX ID12 Intel Atom D525

Yosemite

7-month-late upgrading to Yosemite has done after its release. It's not a good time to say something generally useful. I wanna make a few comments for particular things that are quite valuable to me, not to everyone.

Brief lists

My indispensable applications, such as Quicksilver, Aquamacs(2.5x), baram(Input Method), MATHEMATICA(8) are smoothly working and so is MacPorts for installation of LaTeX, gcc, etc. It would be a good start.

OK w/o any upgrade

  • Aquamacs 2.5x, Photoscape X 1.8, Skype 6.17x, TeamViewer 9, Acrobat 9, MATHEMATICA 8
  • baram (1.5.2), Quicksilver(1.2.2), Veusz(1.23), EzPlusforMac, AppCleaner, EasyFind, HandBrake, Max, MPlayer X, VLC, KeyCastr, Screeny, Sublime Text 2, BugsMusicDownloadManager, VirtualBox, ATOM, TextMate(2.0-β.7.1)
  • StartupSound diabled, source codes in Quicklook(⌘y or Spacebar)

Applications on top are of older versions, because of my personal purpose. There is no difficulty for using them in OSX Yosemite at all.1

The disabled OSX StartupSound is being as it was done in Mavericks. Color syntax for source codes in Quicklook(⌘y or Spacebar) of Finder or Quicksilver turns off at first. But it can be easily turned on by opening TextMate(2.0-β.7.1) once as it was done in Mavericks or earlier.

OK, but ugprade available or required

  • 1Password(5.3), DEVONThink(2.8.5), Skim(1.4.11), BibDesk(1.6.4), CyberDuck(4.7), Prizmo(3.1.2),
  • GPG, Trim Enabler
  • MacPorts: gcc

You could see an warning message like GPG mail is not compatible to Yosemite. It's gonna located in /incompatible applications. Solution is simple. After upgrading is done, you can download the GPG Suite for For OS X 10.10 Yosemite from the homepage and feely delete the older version. I did't turn off the trim before upgrading from Mavericks to Yosemite by means of Trim Enabler, but had no error fortunately. Trim turns off automatically and I could do it manually on via Trim Enabler in Yosemite.

LaTeX and gcc48 were installed in Mavericks via MacPorts. LaTeX sources turn out to be directly compilable by commands, pdflatex, xelatex, etc. But gcc does not. During compiling you could see an error message like gcc: warning: couldn't understand kern.osversion '14.3.0, even though MacPorts is upgraded and sudo port selfupdate is done in Terminal. It can be also easily resolved by installation of gcc49 via MacPorts. FYI) you may need to install gcc_select as well in order to link gcc to gcc-mp-4.9.

Newly installed

  • Java 1.6.0.jdk

Things annoying

  1. Default Font is disgusting. It has been well-known, but worse than my expectation. It literally disgusts me.
  2. tab[↹] key is not working in a dialog box for MATHEMATICA. It is supposed to be once All controls is selected under [System Preferences]->[Keyboard]->[Shortcuts] as the other else. MATHEMATICA is the only application that doesn't work. For the time being, the only option to use a keyboard stroke is use of shortcuts: ⌘d for "Don't save", ⌘r for "Replace", for "Cancel", etc.
  3. Korean-spelling check is systemwidely dysfunctional. It is not an useful information for english-speaking people.

17381170424_84ac4c25b0_o.png

A dialog box in MATHEMATICA

요세미티(Yosemite)

무려 7개월이나 지나서 Yosemite 업그레이드를 했다. 너무 늦어서 유용한 정보를 포스팅하기는 어려울 것 같고, 많은 사람들이 쓰지는 않지만 나는 유용하게 쓰는 것들을 위주로 간단한 느낌을 적어보려한다.

간단한 리스트

나에게 없어서는 안될 Quicksilver, Aquamacs(2.5x), 바람입력기, MATHEMATICA(8), 등이 문제없이 작동하고, gcc, LaTeX, 등을 위한 MacPorts 동작도 무난하다. 우선 이것으로 한시름 놓을 수 있겠다.

바로 잘 동작하는 것들

  • Aquamacs 2.5x, Photoscape X 1.8, Skype 6.17x, TeamViewer 9, Acrobat 9, MATHEMATICA 8
  • 바람입력기(1.5.2), Quicksilver(1.2.2), Veusz(1.23), EzPlusforMac, AppCleaner, EasyFind, HandBrake, Max, MPlayer X, VLC, KeyCastr, Screeny, Sublime Text 2, BugsMusicDownloadManager, VirtualBox, ATOM, TextMate(2.0-β.7.1)
  • StartupSound diabled, source codes in Quicklook(⌘y or Spacebar)

맨위의 목록은 이유가 있어서 옛버전을 쓰는 것인데, Yosemite에서 잘 동작했다.2

OSX 시작음(StartupSound)은 Mavericks에서 했던데로 계속 무음으로 된다. Finder나 Quicksilver에서 Quicklook(⌘y or Spacebar)로 source codes를 볼 때 color syntax는 풀려서 안되다가, Mavericks에서 했던데로 TextMate(2.0-β.7.1)를 한 번 열면 잘 먹는다.

업그레이드를 요구하거나 가능한 것들

  • 1Password(5.3), DEVONThink(2.8.5), Skim(1.4.11), BibDesk(1.6.4), CyberDuck(4.7), Prizmo(3.1.2),
  • GPG, Trim Enabler
  • MacPorts: gcc

GPG mail은 Yosermite 설치 도중에 호환되지 않는다는 경고가 뜨고 /incompatible applications 아래에 남음. 따로 홈페이지에서 업그레이드 가능하고, 전버전은 지워버리면 된다. Mavericks에서 Trim Enabler로 Trim을 끄지 않고 Yosemite로 업그레이드했으나, 문제는 일으키지 않았다. Trim은 저절로 꺼졌으며, Trim Enabler로 Yosemite에서 다시 켤 수 있었다.

Mavericks에서 LaTeX과 gcc48을 MacPorts로 설치해서 쓰고 있었는데, Yosemite로 업그레이드 후에도 LaTeX(pdflatex, xelatex, etc)은 바로 쓸 수 있었다. LaTeX은 되면 손대지 않는 것이 상책이니 당분간(?) 그냥 쓸 것이다. 문제는 gcc인데, 컴파일시 에러를 토해냈다. MacPorts 업그레이드와 sudo port selfupdate 후에도 문제는 고쳐지지 않았으나, gcc49 설치로 깔끔하게 해결됐다. gcc_select 는 Mavericks에서 설치했었는데, 따로 설치하지 않아도 Yosemite에서 gcc가 gcc49 알아서 잘 찾더라.

새로 설치한 것(Newly installed)

  • Java 1.6.0.jdk

몇가지 구리구리한 것들

  1. 폰트 가독성이 토나온다. 얘기는 익히 들었으나 이 정도일 줄은 몰랐다. 말그대로 어지러워 토나온다.
  2. MATHEMATICA 대화 상자에서 tab[↹] 키가 먹지 않는다. 물론, [System Preferences]->[Keyboard]->[Shortcuts]에서 All controls 선택은 이미 설정했다. 다른 프로그램에서는 잘 동작하는데, 유독 MATHEMATICA만 그렇다. 현재로서는 키보드 단축키가 유일한 해결책으로 보인다. 이를테면, ⌘d for "Don't save", ⌘r for "Replace", for "Cancel", etc.
  3. Aquamacs에서 한글 맞춤법검사가 이상 동작한다. 이건 비단 Aquamacs만의 문제 아니다. 다른 편집기에서도 같은 증상을 보이는 것으로 보아, 지금 쓰고 있는 hunspell 문제로 보이는데… 대안이 있나 모르겠다.

17381170424_84ac4c25b0_o.png

A dialog box in MATHEMATICA

17383243883_23068602f2_o.png

Korean in Aquamacs

17977305976_32c7546023_o.png

Korean in TextEdit

Epilog

사실 Mavericks를 잘 쓰고 있었고 내 MacBook Pro는 낡은데다 이미 너무 늦어서 Yosemite는 건너뛰려고 했었다. 개인적으로 안 좋은 일이 너무 많은 지난 일년을 정리하고, 앞인지 옆이지 모르지만 우선 좀 발을 떼보려는 수작으로 OS 업그레이드를 단행했다. 아직 뭔가 많이 달라진 것은 없지만, 기분은 새롭다.


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

Footnotes:

1

The recent versions of Aquamacs have a problem to use Korean. 2.5x is the latest version functioning with it. Photoscape X 1.8 has no commercial appearing. The others including an AppStore for Mac version keep showing commercial.

2

Aquamacs의 최신버전은 한글 사용에 문제가 있어서 2.5x를 유지하고 있고, Photoscape X는 AppStore for Mac 버전과 최신버전 모두 광고가 있어서 1.8을 유지하고 있다.


Created: 2015-05-24 Sun 01:46

Emacs 23.4.1 (Org mode 8.0.2)

Thursday, May 14, 2015

Bluetooth Dongle

bluetooth dongle

bluetooth dongle


;; =================================================
;; εμαcs is ⎋[esc]⌘[meta]⌥[alt]⌃[ctrl]⇧[shift].
;; =================================================

This post is written with emacs org-mode.


System Environments

Operating Systems

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

Hardware Systems

Bluetooth dongle

I'm using Debian GNU/Linux with XFCE under the quite low performance machine(Zotac ZBOX ID12) that doesn't have a bluetooth module inside. My MacBook is also over five-year-old, which means doesn't support the so-called continuity. The easiest way to use it under an old MacBook is to use a bluetooth dongle supporting Broadcom BCM20702 chipset. My main goal is to enable a bluetooth functionality in my linux machine. There are plenty of cheep bluetooth dongles available to a linux. However I wanted to choose a bluetooth dongle having Broadcom BCM20702 chipset, even though I am not gonna upgrade my OSX to Yosemite soon because of unresolved well-known bugs. The reader should be reminded that I'm not gonna describe how to enable the continuity under an old MacBook.

There is no requirement of a pre-setting-up to use it in Debian GNU/Linux Wheezy. The main reference is the Debian wiki1

Way to enable it

  • 1. Install a pile of packages
    $sudo apt-get install pulseaudio pulseaudio-module-bluetooth bluez-audio pavucontrol bluez-firmware bluez-tools
    
  • 2. Run the following commands
    $sudo service bluetooth restart
    $sudo killall pulseaudio
    
  • 3. Install blueman
    $sudo apt-get install blueman
    
  • 4. Start the applet
    $sudo blueman-applet
    

How to pair

Once you run blueman-applet, you can see it the bluetooth icon in the panel. We can set up a new device and pair it via a) the secondary click this icon b) clicking the Devices….

17613393201_caa177644c_o.png

Bluetooth icon in the XFCE panel

Input devices and VLC

Every input device I have tried is working well, but audio devices are tricky. I don't know how to make the bluetooth dongle systemwide as an audio device. VLC seems to be the only option to use the bluetooth dongle.

17587253186_cabdaf7d95_o.png

VLC sending audio to an external device

Other applications such as SMPlayer, Amarok, etc. don't have an option to send audio to an outer device as long as I know. That is critical!!!

Troubleshooting

If you installed a few packages enabling bluetooth in your machine such as bluedevil, bluez, etc., it'd better disable all of them with the exception of the blueman. It is not necessary to uninstall them. Just disabling them is enough simply via the Task Manager in XFCE.

블루투스 동글

나에게는 6년생의 MacBook Pro와 4년생의 Mini-pc(Zotac ZBOX ID12)가 있다. Mini-pc에는 Debian GNU/Linux에 XFCE Desktop environment를 사용하고 있는데, 블루투스 하드웨어(혹은 어뎁터)가 없다. 내 MacBook Pro는 너무 늙어서 설사 Yosemite로 업그레이드한다고 하더라도, 애플이 자랑하는 continuity를 사용할 수는 없다. 오래된 MacBook에서 continuity를 사용할 수 있는 가장 간단한 방법은 Broadcom BCM20702 chipset 이 장착된 블루투스 동글을 쓰고 활성화하는 것이다. 가까운 시일에 Yosemite로 업그레이드할 일은 없겠지만, 시중에 싼 블루투스 동글이 많음에도 혹시나 하는 마음에 Broadcom BCM20702 chipset 이 장착된 블루투스 동글을 구입했다. 이 글은 블루투스 하드웨어(혹은 어뎁터)가 없는 리눅스가 설치된 컴에서 블루투스 동글을 사용해서 블루투스를 사용하는 방법을 기술하려한다. 혹이라도 오래된 MacBook에서 continuity를 활성화하는 방법은 여기를 참조하기 바란다.

  • 내가 사용한 블루투스 동글: Plugable USB 2.0 Bluetooth Adapter
    • 특징: Broadcom BCM20702 chipset, 리눅스 사용 가능
    • 목표: Debian GNU/Linux with XFCE가 설치된 컴에서 동글을 사용해서 블루투스 사용하기

Debian GNU/Linux Wheezy에서 특별히 미리 설치할 것은 없다. 주로 참고한 곳은 Debian wiki다.1

블루투스를 사용하게 위해서

동글을 USB에 꼽는다고 바로 사용할 수는 없다. 다음을 순서대로 실행하자.

  • 1. 필요한 packages 설치한 후
    $sudo apt-get install pulseaudio pulseaudio-module-bluetooth bluez-audio pavucontrol bluez-firmware bluez-tools
    
  • 2. 다음 명령을 실행하자
    $sudo service bluetooth restart
    $sudo killall pulseaudio
    
  • 3. blueman 을 설치한 후
    $sudo apt-get install blueman
    
  • 4. 이를 시작한다
    $sudo blueman-applet
    

블루투스 장비와 연결하기

blueman-applet 를 시작했다면, 블루투스 아이콘을 페널(최상단 우측)에서 볼 수 있다. 이 아이콘을 우클릭한 후 Devices… 를 클릭해서 장비와 연결할 수 있다.

17613393201_caa177644c_o.png

Bluetooth icon in the XFCE panel

주의사항

블루투스 키보드 등의 입력장비는 아무런 문제 없이 사용할 수 있었다. 문제는 블루투스 헤드폰이었다. 시스템 전반에서 오디오를 블루투스 헤드폰으로 뽑아내는 방법은 아직 찾지 못했다. 블루투스 헤드폰을 쓸 수 있는 유일한 해결책은 VLC다. 오직 VLC만이 오디오를 외부 장비로 송출하는 설정이 있었다.

17587253186_cabdaf7d95_o.png

VLC sending audio to an external device

SMPlayer, Amarok, 같은 applications에서는 이런 설정이 없어서 블루투스 헤드폰을 쓸 수 없었다.

문제해결

bluedevilbluez 같은 블루투스와 관련된 packages를 이미 설치했고 활성화되어 있다면 페널에서 아이콘이 보일 것이다. 꼭 필요한 것은 아니지만, blueman 이외의 다른 것들은 XFCE 환경에서 Task Manager 를 사용해서 비활성화하자.


Created: 2015-05-14 Thu 10:20

Emacs 23.4.1 (Org mode 8.0.2)