Monday, December 1, 2014

Twitter privacy setting

Twitter privacy setting

트위터 개인설정 변경


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

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


Operating System Environments

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

며칠 전 Twitter App이 뒤에서 어떤 Apps이 돌고 있는지, 민감한 개인 정보를 수집할 것이라는 기사를 본 후,

계속해서 주의깊게 살펴보다가, 오늘(<2014-12-01 Mon>) 매우 이상한 점을 발견했다.

따로 Twitter App for iOS가 Upgrade되지도 않았는데, 설정이 저절로 변했다. 기사에서 얘기한 그대로. 마지막 Upgrade된 것이 11/24인데… 그럼 심어 놨다가 활성화 시켰다는 말인가??? 그럼 나중에도 자기네 맘대로 활성화될 수 있나??? 모르겠다.

기본 설정이 활성화되어 있으므로, 우선은 설정을 변경해서 끄자.1

  1. Twitter 공식앱에서 맨아래 Me 클릭,
  2. 본인 사진 옆에 톱니바퀴 클릭해서,
  3. Settings로 들어간 후,
  4. Accounts 아래 본인 계정을 클릭,
  5. Tailor Twitter based on my apps를 비활성화 하자.

아래 사진 참조

twitter privacy collage

FYI) Twitter for OSX에는 어차피 설정할 수 있는 기능이 없다. Homepage로 직접 들어가야 할 듯 하다.


Footnotes:

Created: 2014-12-01 Mon 00:52

Emacs 23.4.1 (Org mode 8.0.2)

Saturday, November 15, 2014

Clipboard history

Clipboard application

Clipboard application


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

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


Operating System Environments

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

Access to clipboard history

OSX

맥에서는 Quicksilver + Clipboard Plugin 조합을 쓰면 된다. Web Search Plugin과 함께, 많은 이가 추천하는 Quicksilver의 plugin으로써, 나에게도 하루에 수~수십 번씩 호출하는, 없어서는 안될 녀석이다. 워낙 사용 빈도 수가 많다보니, 나는 {Quicksilver Preferences} -> {Clipboard} -> {Capture History:} 에서 60개 정도로 설정해서 쓰고 있다. 사용 방법은 일반적인 Quicksilver와 같다. 1) Quicksilver 호출 [단축키: ⌥SPC ] 2) cli 정도만 타이핑한 후 키를 써서 Clipboard History 로 이동 3) 화살표( / )로 직접 이동하며 찾거나 keyword를 타이핑해서, Clipboard History에 남아있는 것중에서 복사하고 싶은 아이템을 로 선택 (혹은 최상위로 이동)하면 된다. 아래는 OSX 에서 실제 사용하는 모습을 담은 GIF이다.

clipit_v01.gif

영상은 아래 참조: 바로가기

물론, ⌥SPC 로 Quicksilver 호출 후, ⌘l 로 직접 Clipboard History에 접근할 수도 있다. 여기서 저장된 items을 모두 지우는 것도 가능하다.

screenshot_v01.png

Linux

KDE 환경에서는 Klipper가 XFCE는 Clipman가 기본적으로 깔려있다. 간단한 기능들은 잘 제공되지만, OSX에서의 Quicksilver + Clipboard Plugin 처럼 단축키로 호출하는 기능이 빠져있다. 이것이 있어야 text editor(ex. kwrite, kate, mousepad, emacs, etc.)나 browser(ex. iceweasel, firefox, thunar, dolphin, etc.) 같은 프로그램 안에서 바로 호출할 수 있다. 가벼우면서도 필요한 모든 기능을 지원하는 Clipit 를 추천한다. 설치는 Bash(Terminal/Konsole)에서 아래를 실행하자.

$sudo apt-get install clipit

XFCE 환경에서는 Applications Menu 아래 Accessaries에 설치된 것을 확인할 수 있다. 다른 clipboard programs도 원래 잘 되는지 모르겠지만, 독일어에서 등장하는 Umlaut는 당연하고 한문과 옛한글도 Clipit의 Clipboard History에 문제없이 저장된다. 아래는 Debian GNU/Linux + XFCE 에서 어떻게 동작하는 지 보여주는 GIF이다. System tray에 올라가 있는 Clipit를 클릭해서 저장된 Clipboard History를 모두 지우는 것으로 시작한다.

clipit_v11.gif

영상은 아래 참조: 바로가기

저장된 Clipboard History item 중에서 선택해서 지우는 것도 가능하고, 저장할 item 개수도 바꿀 수 있으며, 기본으로 설정되어있는 단축키(⌃⌥h)도 다시 정할 수 있다. 자세한 사항은 System tray에 올라가 있는 Clipit를 클릭한 후, Preferences에 들어가서 확인해 보자.

screenshot_v11.png

FYI) OSX의 nvALT에서는 Noto Sans CJK로, Debian GNU/Linux의 mousepad에서는 HCR LVT로 옛한글을 표현하였다.

주의!!!

이런 류의 clipboard history를 저장하는 프로그램 사용에는 항상, 비밀번호 역시 저장될 수 있음에 주의하자!


  • 참고 영상: Quicksilver + Clipboard plugin

Quicksilver+Clipboard_Plugin from Yonggoo Heo on Vimeo.

  • 참고 영상: ClipIt

clipit from Yonggoo Heo on Vimeo.


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

Created: 2014-11-17 Mon 19:27

Emacs 23.4.1 (Org mode 8.0.2)

Thursday, October 2, 2014

Screen saver in OS X

Screen saver in OS X

Screen saver in OS X


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

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


Operating System Environments

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

How to use

OS X에서 screen saver는 application으로 따로 만들어져 있으며, 아래의 경로에서 찾을 수 있다.1

/System/Library/Frameworks/ScreenSaver.framework/Resources/ScreenSaverEngine.app

3rd party application의 도움 없이 이를 실행하는 방법

첫째, dock에 올려놓고 필요할 때 클릭하는 방법이 있다.

15416756012_fceba4bca3_o.png

둘째, {System Preferences}->{Mission Control}에 들어가서, 맨 아래 {Hot Corners…}를 클릭한 후, 모니터 네 귀퉁이 중에 한 곳으로 마우스를 옮기면 screen saver가 동작하게 만들 수도 있다.

Quicksilver

첫째, Catalog에 수동으로 ScreenSaverEngine.app path를 지정해서, Quicksilver에서 keyboard typping으로 쉽게 접근하는 방법이 있다.

Quicksilver를 실행한 후, {Preferences…[단축키: ⌘CMD + ,]}->{Catlog}->{Custom}에 들어가 최하단에 {+}를 클릭해서 {File & Folder Scanner}를 선택, /System/Library/Frameworks/ScreenSaver.framework/Resources 경로를 지정해 둔다. 그러면 Quicksilver에서 바로 ScreenSaverEngine.app을 실행할 수 있다.

FYI) 최하단 오른쪽의 {Show Info}를 누른 후, {Include Contents:}에서 {Folder Contents}를 선택해서 {Types:} 아래에 .app 이라고 쓰면, ScreenSaverEngine.app만이 선택되어 진다.

15235159740_9f725dcd95_o.png

둘째, Quicksilver의 Trigger 기능을 사용하면 단축키로 한번에 실행시킬 수 있다.

Quicksilver를 실행한 후, {Preferences…[단축키: ⌘CMD + ,]}->{Triggers}->{Custom Triggers}에 들어가 최하단에 {+}를 클릭해서 {HotKey}에서 설정하면 된다. 미리 /System/Library/Frameworks/ScreenSaver.framework/Resources/ScreenSaverEngine.app 경로를 클립보드에 복사[단축키: ⌘CMD + c]]해 두었다가, {HotKey}에서 설정으로 들어간 뒤, 첫째 pane에서 복사한 경로를 붙여넣고[단축키: ⌘CMD + v]], 둘째 pane에서 "open"을 선택한 다음에 단축키를 지정하면 된다.

Epilog

현재 MacBook Pro(13-inch, Mid 2009)에 OS X Maverick를 구동 중이고 DELL U2312HM를 모니터로 사용 중인데, 어찌된 영문인지 [Put Display to Sleep]2 기능을 사용하면 자꾸만 모니터 해상도가 바뀌어서 여간 불편한게 아니었다. 잠깐 자리 비울 때 유용하게 사용하던 기능인데, 모니터 해상도가 자꾸 바뀌니 사용을 할 수가 없었다. [Put Display to Sleep]을 사용했던 이유는, 자리를 비우는 동안 MacBook에서 작업 중이던 applications은 계속 돌아가면서 모니터만 끈 후, 조작을 다시 하려면 login 창이 떠서 password를 쳐야한다는 점이었다. 물리적으로 모니터를 꺼서는, 키기만 하면 아무나 내 MacBook을 손댈 수 있다.

이것저것을 시도해본 결과, [Fast logout]을 하거나 [Screen saver]를 작동시키면, [Put Display to Sleep]과 유사하게 사용할 수 있다는 것을 알았다.

[Fast logout]은 Quicksilver에 'Extra Scripts Plugin'을 설치하면 바로 사용할 수 있지만, Wifi를 끄더라. Network와 연결된 작업만 아니라면, 여전히 작업 중이던 applications이 돌긴하지만, Mail.app 등 network와 연결된 작업을 하는 녀석들은 그동안 동작하지 않는다.

[Screen saver]를 작동시키는 것이 최선인데, 따로 application으로 만들어져 있어서 OS X 안에서 단축키를 지정할 방법이 없다. 물론 'Hot Corner' 기능으로 Trackpad를 통해서 구현 시킬 수도 있지만, 난 키보드로 하고 싶었다. 현재는 Quicksilver의 Trigger 기능으로 F5 에 단축키를 지정해 놓았다. 아직까지 아무 문제없이 의도했던 그대로 잘 동작하고 있다.


Footnotes:

2

단축키: ⇧Shift + ^Ctrl + ⏏Eject


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

Created: 2014-10-02 Thu 20:49

Emacs 23.4.1 (Org mode 8.0.2)

Wednesday, October 1, 2014

Bash bug

Bash security hole

Bash security hole


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

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


Operating System Environments

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

지난번엔 치명적인 OpenSSL의 Heartbleed 버그가 발견되더니, 이번에는 Bash에 치명적인 버그가 있다고 보고되었다.

확인 방법

아직까지 패치하지 않은 분들은 아래의 명령어를 Bash(OS X에서는 Terminal.app/Kubuntu에서는 Terminal 혹은 Konsole)에서 아래의 명령어를 실행해보자.1

$ env 'x=() { :;}; echo vulnerable' 'BASH_FUNC_x()=() { :;}; echo vulnerable' bash -c "echo test"

패치가 되었다면

  • OS X 에서는 아래와 같이 출력될 것이고,
    test
    
  • Debian GNU/Linux나 Kubuntu 에서는 다음을 출력할 것이다.
    bash: warning: x: ignoring function definition attempt
    bash: error importing function definition for `BASH_FUNC_x'
    test
    

패치가 되지 않았다면 OS X, Debian GNU/Linux나 Kubuntu 모두에서 아래와 같은 출력을 Bash에서 보게 될 것이다.

vulnerable
bash: BASH_FUNC_x(): line 0: syntax error near unexpected token `)'
bash: BASH_FUNC_x(): line 0: `BASH_FUNC_x() () { :;}; echo vulnerable'
bash: error importing function definition for `BASH_FUNC_x'
test

해결 방법

현재(<2014-09-30 Tue>) OS X와 Debian GNU/Linux, Kubuntu에서는 패치가 배포중이다.

  • OS X : Apple support에서 자신의 OS에 맞는 것으로 다운받아 설치하면 된다. OS X Mavericks(10.9), Mountain Lion(10.8), Lion(10.7) 용이 배포 중이다.
  • Debian GNU/Linux나 Kubuntu : update/upgrade를 실행하는 것만으로 해결할 수 있다. 당장 하기를 권한다.
    $ sudo apt-get update
    $ sudo apt-get upgrade
    

Created: 2014-10-01 Wed 00:37

Emacs 23.4.1 (Org mode 8.0.2)

Sunday, September 28, 2014

Stravation and hunger-strike

굶주림과 단식투쟁

굶주림과 단식투쟁

2014년 4월 16일 세월호가 침몰하면서 한국도 완전히 침몰했다. 그리고 오늘로 165일이 지났다.

유민이 아빠 김영오씨가 단식투쟁을 멈췄지만, 진실은 하나도 밝혀진 것이 없다.

이생각 저생각을 하다가 굶주림과 단식투쟁에 관한 두 글을 그냥 인용하고 싶어졌다.

다음은 조정래의 태백산맥(太白山脈)에서 계엄사령관 임만수의 명령으로 한창길에게서 취조를 당한 김범우가 옥중에서 혼자 학병훈련 받을 때를 회상하는 장면이다.

그러나, 배고픔 앞에서 어줍잖은 인간적 체면을 유지하고자 했던 것이 화근이었다. 어차피 말먹이를 훔치면서 인간은 포기했으면서도. 변소 뒤로 돌아가 깻묵덩어리를 눈물겹도록 맛있게 먹고 있다가 때마침 그곳을 지나가던 하사관에게 붙들리고 말았다. 자꾸 깻묵이 축이 나서 이상하게 생각하고 있었는데 바로 네 놈이 범인이었다면서 가혹한 매질은 계속되었다.

굶주림 앞에서는 인간은 어디까지 인간일 수 있는가. 동물과 다름은 무엇인가. 시한부적 배고픔도 이리 견디기 어려운데 영속적인 굶주림은 얼마나 큰 형벌인가. 가난한 사람들, 아무리 몸부림쳐도 자신의 능력과는 상관없이 굶주림에서 벗어날 수 없도록 짜여진 사회구조에 얽매여 있는 가난한 사람들, 그들은 인내심이 강한 것이 아니다. 사회구조룰 장악하고 있는 소수 부류들이 그만큼 철두철미하게 잔인한 것이다. 그런 사회구조는 기필코 바뀌어야 한다. 그런 생각들을 하면서 염상진을 그리워했었다.

조정래, 태백산맥 2권에서 인용

다음은 "누가 김영오 씨를 단식으로 몰고 갔는가?", 페리스코프(CC-BY-NC-ND)에서 나오는 '보비 샌즈 사건' 중 일부이다.

황혼기 대영제국의 문제들을 부각시키던 단식투쟁이 영국인의 자존심을 완전히 땅바닥에 떨어트린 사태가 1981년 일어났다. 북아일랜드 분리주의자 10명이 옥중 단식으로 목숨을 잃은 ‘보비 샌즈 사건’이다. 정부의 ‘불통’이 어떤 문제를 일으키는지 단적으로 보여준 사태다.

1980년의 단식투쟁은 담요투쟁과 오물투쟁의 연장선 위에 있는 것이었다. 브렌던 휴즈가 이끈 이 단식이 40일을 넘기자 영국 정부도 양보할 기색을 보이기 시작했다. 수감자들의 요구에 대한 정부의 답변서가 런던을 떠나 벨파스트에 도착했을 때 휴즈는 답변서를 보지 않은 채 단식 53일째 날인 12월 18일 단식 중지를 선언했다. 동료 한 사람의 생명이 위독한 지경에 이르렀기 때문이었다.

5개항으로 요약된 수감자의 요구는 실상 대단한 것이 아니었다. 실정법의 테두리 안에서 충분히 취할 수 있는 조치였다. 그 정도 요구를 들어주는 데 인색했다가 이듬해 재개된 단식투쟁으로 열 명의 목숨이 희생되는 상황이 닥치자 영국이 과연 문명국 맞느냐는 비판이 국내외에서 터져 나왔다. 5개항의 내용은 이런 것이었다.

  1. 죄수복을 입지 않을 권리.
  2. 강제노역을 하지 않을 권리.
  3. 수감자끼리 자유롭게 교류하고 교육과 오락 활동을 조직할 권리.
  4. 매주 한 차례 면회를 갖고 편지 하나와 소포 하나를 받을 권리.
  5. 투쟁과정에서 박탈당한 혜택의 회복.

그런데 수십 명의 수감자들이 ‘북아일랜드 분리’도 아니고 수감 조건의 개선을 요구하며 비폭력적 항의방법을 들고 나섰는데, 마땅히 취해야 하고 쉽게 취할 수 있을 것 같은 조치를 거부하며 줄줄이 죽어나가게 하고 있으니 보는 사람들의 마음이 어땠겠는가. 좀 못마땅한 일이 있어도 영국 국민으로 살아가려던 온건한 사람들마저 “저게 우리 정부 맞아?” 하는 생각이 들지 않을 수 없었다.

"누가 김영오 씨를 단식으로 몰고 갔는가?", 페리스코프(CC-BY-NC-ND)에서 인용

다 잊어버리면 슬픔을 없는 듯 숨겨버릴 수도 있겠지…

슬픔이 한(恨)이 되어 거기 있는데 없는 듯 살 수도 있겠지…

무슨 말을 해야할 지, 뭘 해야 할 지 모르겠지만, 적어도 난 잊지 않겠다.


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

Created: 2014-09-28 Sun 11:57

Emacs 23.4.1 (Org mode 8.0.2)

Caps Lock to Ctrl

Caps Lock to Ctrl

Caps Lock to Ctrl


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

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


Operating System Environments

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

⇪Caps Lock 키는 타자기를 사용하던 시절의 유산이 현재까지 남아있는 것이다. 타자기를 써본 사람은 알겠지만, 타자기의 ⇧shift 키는 실제로 자판을 들어 올린다(Shift). 그렇게 해서 현재 키보드의 ⇧shift 키처럼, 한 키에 할당된 다른 글귀(예를 들어, 영문에서 a/A 혹은 한글에서 ㄱ/ㄲ)를 타이핑할 수 있게 한다. 타자기에서는 자판을 들어 올리는 것이 실제로 힘이 들어서 ⇪Caps Lock 키를 고안한 것이지만, 현재 키보드에서는 불행히도 쓸 데가 없다.1

사실 현재 대부분의 키보드에서 ⇪Caps Lock 키는 쓸 데가 없는 수준이 아니라 아주 좋은 자리를 차지하고 있다. 이 키를 보다 자주 쓰는 키(예를 들어, ⌃Ctrl)에 할당하는 것이 할 수만 있다면 보다 많은 편리함을 줄 것이다. 아래 그림의 유닉스 키보드 처럼 말이다.

hhkb.png

Unix keyboard layout, image from Jesse G. Donat (CC-BY-SA), Donat Studios

어떤 OS를 쓰던 ⌃Ctrl 키만큼 자주 쓰는 특수키(Modifier Key)도 없다. 물론 OS X에서는 ⌘CMD 키가 가장 자주 쓰는 특수키지만 이는 아주 좋은 자리에 있다. 특히 Emacs 사용자라면 ⌃Ctrl 키는 피할 수 없을 정도로 많이 쓴다. 이 Post에서는 ⇪Caps Lock 키를 ⌃Ctrl 키에 할당하는 방법을 소개한다.

How to map ⇪Caps Lock to ⌃Ctrl

OS X, KDE(Kubuntu), Unity(Ubuntu) 등은 OS 차원에서 간단하게 변경할 수 있다. 아래의 방법들로 한번 변경하면, OS 전반에서 바뀌게 되므로 당연히 applications에서도 ⇪Caps Lock 키를 ⌃Ctrl 로 사용할 수 있다.

OS X Mavericks

[System Preferences]를 열어, [Keyboard] -> [Keyboard] 페널에서 [Modifier Keys…]를 클릭한 후, 아래 그림처럼 ⇪Caps Lock 키를 ⌃Ctrl 로 변경한다.

14215133578_087c9030bb_o.png

Bluetooth keyboard를 사용할 경우에는, [Modifier Keys…]를 클릭하면 최상단에서 keyboard를 선택할 수 있다.

Debian GNU/Linux or its variant

KDE desktop environment

[System Settings]을 열고 [Input Devices]를 클릭한 후 [Keyboard] -> [Advanced] 패널에서 아래 그림처럼 [Caps Lock key behavoir] 아래 [Make Caps Lock an additional Control but keep the Caps Lock keysym]를 선택한다.

14221944670_1448e48933_o.png

FYI) Ubuntu에서도 Kubuntu와 자세한 경로만 조금 다를 뿐 위와 비슷한 방법으로 변경할 수 있다.

General or XFCE desktop environment

XFCE에서는 OS에서 GUI로 간단히 바꿀 수 있는 방법이 없다. 하지만 역시 길은 있는 법, 아래 방법은 XFCE는 물론 Linux based OS 전반에서 먹히는 방법이다. 2

  1. 우선 Bash shell을 열어, home directory 아래에 .Xmodmaprc 파일을 만든다.
    $ touch ~/.Xmodmaprc
    
  2. 적당한 editor로 .Xmodmaprc 파일에 아래를 적어 넣는다.
    remove Lock = Caps_Lock
    keycode 66 = Control_L Control_L Control_L
    add Control = Control_L
    
  3. OS를 재시작한다.

FYI) 다른 OS와 기타 자세한 사항은 여기 혹은 여기를 참고하자.

Created: 2014-09-28 Sun 10:12

Emacs 23.4.1 (Org mode 8.0.2)

Wednesday, June 4, 2014

You have a new Goole Doc message

You have a new Goole Doc message

You have a new Goole Doc message


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

This post is written with emacs org-mode.


If you have ever got an email like the following

Just Uploaded Some File For You Using Google Docs.

Kindly Click On Here To Upload The Files I Uploaded For You.

Don't click the link Click On Here !!!

It requires one of your passwords for Google, Yahoo, etc. to see the file. Don't do it. It is a phishing.

The subject of such an email is supposed to be

You have a new Goole Doc message

It is not sent directly to you, but as Bcc.

FYI) How to know if my gmail is hacked or not?

See the instruction, Here’s how to know if your Gmail has been hacked

You think you got hacked already?

  • Change your important passwords immediately!
  • Export all your emails from servers!
  • Clean entire your mailboxes up!

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

Created: 2014-06-04 Wed 00:47

Emacs 23.4.1 (Org mode 8.0.2)

Sunday, April 6, 2014

Bash commands for Debian GNU/Linux

Bash commands for Debian GNU/Linux

Bash commands for Debian GNU/Linux


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

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


Operating System Environments

  • Main- : OS X Mavericks (10.9.2)
  • Sub- : Debian GNU/Linux Wheezy (7.4)
  • Server: Debian GNU/Linux Wheezy || Squeeze || Lenny
  • Mobile: iOS 7.1

Bash commands(or shell commands)를 여기서 전부 다루는 것은 불가능하고 의미도 없다. 그 중에서 Debian GNU/Linux에서 주로 쓰이며, 이 정도만 알면 기본적으로 시스템이 어떻게 돌아가는지 알 수 있다고 생각되는 몇 가지 기본적인 명령어들을 A4 한 장 분량의 pdf로 만들어 보았다. 이 블로그에도 같은 내용을 html 형식으로 옮겨 놓았다.

Bash commands for Debian GNU/Linux in PDF

bash_commands_korean_xoblivoir.pdf

이 문서는 Kangsoo Kim (karnes@ktug/a.k.a. 도은이아빠)께서 만들고 배포하고 있는 xoblivoir-class를 써서 XeLaTeX으로 compile 하였다.

Bash commands for Debian GNU/Linux in HTML

Bash(Bourne-again shell)은 Bourne shell(sh)를 free-/open-software로써 대체하려는 GNU project를 위해 Brian J. Fox가 만들었다. Born again과 유사한 발음이 나서 재탄생한 쉘(Born again shell)이란 이중적 의미를 가지게 의도적으로 만들었다. Debian 계열의 Linux에 default로 설치되어있으며 터미널(terminal or terminal emulator)에서 작동한다. 전에 실행했던 명령어 내역이 자동으로 저장되어 위/아래 방향키( / )로 쉽게 접근할 수 있으며, 문자열을 적다가 탭키(↹Tab)를 누르면 자동 완성된다. 터미널 안에서 복사/붙이기는 각각 ⌃Ctrl + ⇧Shift + c/v 이다.

13334096135_54b29dfaac.jpg

앞으로 Bash command에서 고정된 부분은 소문자(lowercase letter)로 바뀌는 부분은 대문자(CAPITAL_LETTER)로 적기로 한다.

su, adduser, login, logout, exit, passwd, and shutdown

$ su 시스템 관리자(super user or root)로 로그인
# adduser ACCOUNT_NAME ACCOUNT_NAME 이라는 이름의 계정(account) 만들기
# login ACCOUNT_NAME ACCOUNT_NAME 계정으로 로그인하기
$ logout 현재 로그인하고 있는 사용자에서 로그아웃 (logout) 하기
# exit 시스템 관리자에서 나오거나 터미널 (terminal/Bash) 창 닫기
$ passwd 현재 로그인 (login) 하고 있는 사용자 (user) 의 비밀번호 (password) 변경
# shutdown -h now 지금 바로 시스템 종료하기

Debian GNU/Linux information

$ lsb_release -a 현재 설치된 Debian GNU/Linux의 정보를 출력
$ dpkg --print-architecture Debian이 설치된 architecture를 출력(ex. i386, amd64, or etc)
$ sudo ifconfig 연결된 네트워크 정보 (ex. ip-, mac-address, or etc) 출력
$ sudo fdisk -l 연결된 저장장치 (ex. hdd, usb, or etc) 정보 출력

pwd, clear, ls, cd, cp, mv, rm, and mkdir

$ clear 터미널(terminal) 창의 화면에 보이는 내용을 지움
$ ls 현재 디렉터리에 있는 내용(contents) 출력
$ ls -a 숨겨있는 내용까지 출력
$ ls -la 숨겨있는 내용까지 자세히 출력
$ ls |grep KEYWORD 내용 중 KEYWORD 가 포함된 것만 출력
$ cd ∼ 홈 디렉터리 (/home/user_ID/)으로 이동
$ cp SOURCE DESTINATION SOURCEDESTINATION 으로 복사
$ mv SOURCE DESTINATION SOURCEDESTINATION 으로 이동
$ mv SOURCE NAME SOURCE 의 이름을 NAME 으로 변경
$ rm FILES FILES 를 삭제
$ rm -rf DIRECTORY DIRECTORY 와 그 안의 내용을 모두 삭제
$ mkdir DIRECTORY_NAME DIRECTORY_NAME 의 이름을 가진 디렉터리를 현재 위치한 곳에서 만듦

Installation and removal

$ sudo apt-get update 업데이트 목록이 있는지 확인
$ sudo apt-get upgrade 확인된 업데이트 목록을 업그레이드
$ apt-cache search PACKAGE_NAME Debian 저장소(repository)에서 PACKAGE_NAME 의 유무 확인
$ sudo apt-get install PACKAGE_NAME Debian 저장소에서 PACKAGE_NAME 을 설치
$ dpkg --get-selections 설치된 패키지(packages) 모두 보기
$ dpkg --get-selections |grep KEYWORD KEYWORD 라는 이름을 포함한 설치된 패키지 모두 보기
$ sudo dpkg -i PACKAGE_NAME.deb PACKAGE_NAME.deb 수동으로 설치하기
$ sudo apt-get remove PACKAGE_NAME 설치된 PACKAGE_NAME 지우기
$ sudo apt-get autoremove 설치된 패키지 중 더이상 필요 없는 것들 지우기
$ tar -zxvf ARCHIVE.tar.gz ARCHIVE.tar.gz 파일을 현재 디렉터리에 압축 풀기

man and find

$ man COMMAND COMMAND 라는 이름의 명령어 매뉴얼(manual) 보기
$ find ∼ -name KEYWORD* 홈 디렉터리 (~) 아래에 이름에 KEYWORD 가 들어간 모든 파일 및 디렉터리를 찾기
$ sudo find / -name KEYWORD* 시스템 천체에서 이름에 KEYWORD 가 들어간 모든 파일 및 디렉터리를 찾기

Run

$ sh SHELL_SCRIPT SHELL_SCRIPT 실행
$ ./EXECUTABLE_FILE EXECUTABLE_FILE 실행

mount and umount

# mount -o loop IMAGE.iso MOUNT_POINT IMAGE.iso 파일을 MOUNT_POINT 에 마운트(mount)하기.
  MOUNT_POINT 는 미리 만들어져 있어야 한다.
$ sudo umount MOUNT_POINT MOUNT_POINT 에 마운트한 이미지를 추출하기
# mount -t ntfs-3g /dev/sdb# /media/NTFS ntfs 형식의 usb(or hdd)를 /media/NTFS 에 마운트하기.
  /media/NTFS 는 미리 만들어져 있어야 하며,
  /dev/sdb#$ sudo fdisk -l 로 확인할 수 있다.

Permissions

13333808914_695eac6e89.jpg

$ chmod +w FILE FILE 을 쓰기 가능으로 만듦
$ chmod -w FILE FILE 을 쓰기 불가능으로 만듦
$ chmod +x FILE FILE 을 실행 가능으로 만듦

ssh, sftp, and smb

$ ssh USER@IP_ADDRESS IP_ADDRESSUSER 로 ssh(secure shell) 접속
$ ssh -Y USER@IP_ADDRESS IP_ADDRESSUSER 로 X11-enabled ssh 접속
$ sftp USER@IP_ADDRESS:PORT IP_ADDRESSUSER 로 sftp 접속(:PORT 는생략가능)

sftp와 smb 프로토콜(protocol)은 File manager(Dolphin, Thunar, or etc)에서 ⌃Ctrl + l로 이용할 수 있다.


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

Created: 2014-04-06 Sun 16:13

Emacs 23.4.1 (Org mode 8.0.2)

Saturday, February 22, 2014

Quicklook via TextMate

임의의 확장자를 가진 파일을 Quicklook에서 보기

임의의 확장자를 가진 파일을 Quicklook에서 보기


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

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


Operating System Environments

  • Main- : OS X Mavericks (10.9.1)
  • Sub- : Debian GNU/Linux Wheezy (7.4)
  • Server: Debian GNU/Linux Wheezy || Squeeze || Lenny
  • Mobile: iOS 7.0.4

지난 Post에서 임의의(혹은 OS X가 인식하지 못 하는) 확장자(extension)를 가진 파일을 .txt 형식으로 Quicklook에서 보기에 관하여 살펴보았다.

Mac OS X Snow Leopard (10.6) 시절부터 줄곧 애용해오던 방식인데, 최근에 더 강력하고 더 간단한 방법을 우연히 발견하였다. 이 방법을 사용하면, 파일이 어떤 확장자(extension)를 가지고 있더라도, 잘 알려진 특정한 형식으로 Quicklook에서 볼 수 있다. 예를 들어, .abcccpp 확장자(extension)를 가진 파일을 C++ 형식으로 Quicklook에서 바로 본다던지, .latexSource 확장자(extension)를 가진 파일을 LaTeX 형식으로 Quicklook에서 보는 일이 가능하다.

TextMate

OS X에서 잘 알려진 editors 중에 TextMate라는 software가 있다. 원래는 상용 프로그램이었는데, 2012년 8월에 source code를 GPL로 공개했다. (굉장히 강력한 editor로써 두꺼운 사용자 층을 확보하고 있는 프로그램이지만, 난 Quicklook을 위해 설치만 하고 쓰지도 쓸 줄도 모른다.) 즉, 이제는 free-/open-software이므로 누구나 다운로드해서 쓸 수 있다.

TextMate를 이용하면, 임의의(혹은 OS X가 인식하지 못 하는) 확장자(extension)를 가진 파일을, 원하는 특정한 형식(programming language)으로 Quicklook에서 볼 수 있다. 방법은 아래와 같다.

  • 첫째, TextMate 2.0 alpha 설치: TextMate 다운로드 페이지 바로가기
  • 둘째, TextMate에 필요한 언어(language) 설치: TextMate의 Preferences…(⌘,)를 열어, Bundles에서 필요한 Languages를 설치한다.
  • 셋째, 임의의 확장자(extension)를 가진 파일을 TextMate에서 열어, 맨 아래에서 보고싶은 특정한 형식(programming language)을 지정한다.

    12692531433_fd16186192_z.jpg

이제 Finder나 Quicksilver에서 Quicklook(Spacebar 혹은 ⌘Y)을 실행하면 바로 구현되는 것을 확인할 수 있을 것이다. 한 번 설정하면 해당 확장자(extension)를 가진 모든 파일은 TextMate에서 지정한 형식(programming language)으로 Quicklook에서 볼 수 있다. 아래는 .mtt 라는 확장자(extension)를 가진 파일을 MATHEMATICA 형식으로 Quicklook에서 구현한 모습이다.

12692869474_b48a314e93_z.jpg

FYI) 혹시 해당 확장자(extension)를 가진 파일의 default application이 TextMate로 바뀌었다면, 다시 본인이 원하는 것으로 바꾸자. 그래도 TextMate에서 지정한 Quicklook에서의 설정은 그대로 유지된다.


Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.

Created: 2014-02-22 Sat 11:09

Emacs 23.4.1 (Org mode 8.0.2)

Saturday, February 15, 2014

Internet banking in Linux

인터넷 뱅킹과 공인인증서 in 리눅스

인터넷 뱅킹과 공인인증서 in 리눅스


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

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


Operating System Environments

  • Main- : OS X Mavericks (10.9.1)
  • Sub- : Debian GNU/Linux Wheezy (7.3)
  • Server: Debian GNU/Linux Wheezy || Squeeze || Lenny
  • Mobile: iOS 7.0.4

리눅스 배포판들, 웹 브라우저, 오픈뱅킹

모든 테스트는 Mozilla Firefox (혹은 IceWeasel)에서 수행하였다.

테스트에 사용된 리눅스 배포판들

테스트해 본 은행들

결과

우리은행 오픈뱅킹 설치페이지에서는 알 수 없는 뭔가를 통합한 "전체설치" 파일을 내려받으라고 써있는데, 무슨 배포판들을 지원하는지, 어떤 브라우저에서 가능한지, 그런 정보가 전혀 공지 되어 있지 않다. 총 다섯 가지를 설치해야 한다는데, "전체설치" 파일인가 뭔가는 당연히(?) 설치가 안되고, 각각을 따로 깔려해도 그 중 하나가 설치되지않는다. 국민은행은 "오픈뱅킹"이라고 명시적으로 표현한 웹페이지 자체가 없다.1 위에서 "불가능"으로 분류된 은행권들의 구린 공통점들이 있다. 특별한 설정을 바꾸지 않는한 웹 브라우저로 접속하는 순간, 접속한 브라우저 정보와 사용 중인 OS 정보를 접속한 은행권에서 바로 알 수 있다.(예를 들어, Windows로 Mozilla FirefoxGoogle Chrome에 접속하면 [Windows 용 내려받기]가 자동으로 뜬다. 물론 OS X로 하면 OS X 용이 뜨고, Ubuntu로 접속하면 .tar.bz2 혹은 .deb 파일 내려받기가 바로 뜬다.) 그럼에도 불구하고, 마치 Linux에서 되는 양, 설치 페이지로 자동으로 이동하고 무조건 깔라고 지시한다. 그리고 실패하면 사용자가 뭔가 잘못한 것같은 느낌이 들게 만든다. 최악이다. 처음부터 안된다고 써 놓으면 될 것을, 이것저것 설치하게 만들고 나서는, 결국엔 되지도 않는다. 이건 마치 "이스트소프트"의 "알집" 같지 않은가? 자기가 못 풀면서, 알집이 못 푼다고 창을 띄우지 않고 "압축이 잘못된 파일입니다."라고 버젓이 띄운다.(심지어는 알집에서 .zip 으로 압축한 파일도 가끔 다른 프로그램에서 풀지 못한다.)

알집은 아예 쓰지 말 것을 강력히 권한다.

은행은 아직까지는 그럭저럭 지원하는 신한은행 오픈뱅킹이나 씨티은행 오픈뱅킹을 사용하자.

신한은행과 씨티은행

씨티은행 오픈뱅킹은 우리은행 보다는 조금 낫지만, 우선 설치페이지까지 가기가 불편하고, 뭘 까는지, 지원하긴 하는 지, 등의 정보가 역시 없다.

설치는 신한은행 오픈뱅킹을 통해서 하는 것이, 무엇을 설치하는 지 분명하게 알고 깔 수 있게 되어있다. 단 두 개만 설치하면 되고, 그 과정도 다른 리눅스 소프트웨어 설치 과정과 차이가 없다. 설치가 완료되면 신한은행 오픈뱅킹을 사용할 수 있음은 물론이고, 별도의 다른 설치 과정 없이 씨티은행 오픈뱅킹도 바로 사용 가능하다. 아래 상세 과정에 사용된 이미지들은 Kubuntu 12.04 LTS (Precise Pangolin), 64-bit(amd64)에서 찍은 스크린샷들이다.

설치 과정

  1. 아래 명령어를 Bash shell(Termial)에서 실행하여, Debian GNU/Linux나 Kubuntu(or Ubuntu)의 버전과 architecture를 확인하자.
    $lsb_release -a
    $dpkg --print-architecture
    

    12394262653_a2f8e5137a_z.jpg

  2. 신한은행 오픈뱅킹에 들어가서 "공인인증 전자서명 프로그램"과 "개인 방화벽 프로그램", 이 두 개를 다운로드 한다. 자신의 architecture가 i386 이면 "32bit 용"을 받고, amd64 이면 "64bit 용"을 내려받는다.2

    12394186074_99dd9f9d66_z.jpg

  3. 다운이 완료되면 해당 디렉터리(directory)로 가자. aosfirewall_…debnpcrossweb-plugin-…deb 파일을 확인할 수 있을 것이다. 여기서 amd64 architecture 용을 받았다고 가정한다면, Bash shell(Termial)을 열어 우선 aosfirewall_…deb 파일을 설치하자.
    $sudo dpkg -i aosfirewall_u64.deb
    

    아무런 error도 없이 설치될 것이다. 두 번째로 npcrossweb-plugin-…deb 파일을 설치하려 하면 아래와 비슷한 error가 뜰 것이다.

    12393731015_b3c20f447f_z.jpg

    npcrossweb-plugin-…deb 파일을 설치하려면 다른 packages가 필요한데 없다는 메시지다. 당황할 필요 없이, 위 그림에서 처럼 Depends: 다음에 나오는 packages를 모조리 설치해주면 된다. 또 에러가 나오면, 거기에 필요한 packages를 추가해서 한꺼번에 설치하면 된다. 내 경우는 libwebkitgtk-1.0-0, libgail18, libgeoclue0, libwebkitgtk-1.0-common, libjavascriptcoregtk-1.0-0 이 모두가 필요했다.

    $sudo apt-get install libwebkitgtk-1.0-0 libgail18 libgeoclue0 libwebkitgtk-1.0-common libjavascriptcoregtk-1.0-0
    

    이제 두 번째 파일인 npcrossweb-plugin-…deb 를 설치하자.

    $sudo dpkg -i npcrossweb-plugin-u11_6.4.25-5016_amd64.deb
    

다시 한번 말하지만, 설치가 완료되면 신한은행 오픈뱅킹을 사용할 수 있음은 물론이고, 별도의 다른 설치 과정 없이 씨티은행 오픈뱅킹도 바로 사용 가능하다. 우리은행을 비롯한 다른 은행들은 그래도 사용할 수 없었다.

공인인증서

이미 쓰고 있는 공인인증서가 있다면, 그냥 복사해서 붙이고 쓰면 된다. 컴에 숨겨있지도 않고 버젓이 NPKI 라는 폴더(or directory) 아래 떡하니 있다. 각 OS 마다 NPKI 가 위치한 경로(path)가 다르고, 그 아래 sub-directory 이름을 조금 수정해야 할 필요는 있다. 가장 중요하게 필요한 파일은 두 개이다.

  • signCert.der
  • signPri.key

이 파일들은 저장 매체나 OS에 따라 아래와 같은 경로(path) 아래 저장되어 있다.3

  • usb: /NPKI/yessign/user/CN…/
  • OS X: ~/Library/Preferences/NPKI/yessign/user/CN…/
  • Debian GNU/Linux 7.3 and Kubuntu 12.04: ~/NPKI/yessign/USER/cn…/

여기서 ~ 는 home directory를 의미한다. Bash shell(terminal)에서 cd ~ 하면 이동하는 위치다. 사용자 이름을 name_A 라고 하면, OS X에서는 /Users/name_A/ 를 의미하고, Linux에서는 /home/name_A/ 를 의미한다. 그리고 yessign 은 공인인증서 발급 업체(혹은 인증기관식별자)를 의미한다.

만약을 위해 원본은 지우지 말고 가지고 있기를 추천한다.

예를 들어, OS X에서 Debian GNU/Linux로 usb를 가지고 공인인증서를 이동시키려면,

  1. OS X에서 ~/Library/Preferences/ 아래의 NPKI directory를 통째로 usb에 복사한다. 그냥 Finder에서 해도 되고 terminal에서 해도 된다.
  2. 이 usb를 Debian GNU/Linux에 꽂는다.
  3. Debian GNU/Linux에서 자신의 home directory (즉, /home/name_A/) 아래에 usb에 있는 NPKI directory를 통째로 복사한다.
  4. ~/NPKI/yessign 로 가서 user directory 이름을 USER 로 바꾸고, 그 아래로 가서 CN… 으로 시작하는 directory의 이름에서 'CN='을 'cn='으로, 'OU='을 'ou='으로, 'O='을 'o='으로, 'C='을 'c='으로 변경한다.

물론 바꿔서 이제 cn… 으로 시작하는 directory 아래에 signCert.der, signPri.key 이 두 파일이 있어야 한다. 혹시 안되면, Debian GNU/Linux에서 ~/NPKI/ 아래에 yessign/ 말고 다른 directories는 모두 지우고 다시 은행권에 접속해보자.

이런 과정이 귀찮으면, 갖다 붙인 공인인증서가 있는 usb를 Linux에 꽂고, 웹 브라우저로 은행권에 접속하면 usb에 있는 공인인증서가 바로 보이므로, 이 자체로 써도 된다. 그리고 은행권에서 제공하는 공인인증서 관리 페이지로 이동 후, 거기서 usb에서 Linux로 '복사하기' 해도 물론 된다.

다른 은행들

위에서 "불가능"으로 열거한 은행들을 쓰는 방법이 있기야 있다. 해당 은행이 명시적으로 지원한다고 표시한 리눅스 배포판을 쓰면 된다. 외환은행(KEB) 오픈뱅킹을 예를 들어 보자. 그래도 나름 친절하게도 서비스 안내에서 "지원가능 OS와 브라우저"를 명시적으로 써 놨다.4

OS 브라우저 지원Bit
리눅스 파이어폭스 3.5 이상  
Ubuntu 9~11 오페라 10.10 이상 32 Bit/64 Bit
Fedora 12~15 크롬 5.0 이상  

외환은행(KEB) 오픈뱅킹 서비스 안내 페이지에서 인용

Ubuntu 11…

13.10이 가장 최근이며, 12.04 LTS (Precise Pangolin)가 나온 지가 2년이 다되어가서 다음 LTS가 곧 나올 마당에 Ubuntu 11이 지원하는 가장 최신의 OS이다. 이런 옛날 OS를 오직 은행권 사용을 위해 다른 모든 것을 포기하고, 컴에 직접 설치해서 쓰기를 절대로 권하지 않는다. VirtualBox 같은 가상화 프로그램을 이용해서 해당 리눅스 배포판을 깔고 은행 용으로만 쓰면 된다. VirtualBox 사용법은 지난 Posts에서 여러 번 언급하였다.

물론 이 글을 읽는 독자가 직접 1) 사용을 원하는 은행에 찾아가서 2) 오픈뱅킹 관련 안내 페이지를 찾은 후 3) 지원하는 리눅스 배포판 중 마음에 드는 것을 다운받아야 한다. 현재(<2014-02-15 Sat>) Kubuntu 홈페이지에서는 13.10과 12.04 LTS만이 다운로드 가능하다. 구 버전은 아래의 링크를 따라가서, 파일 이름 중간에 alternate 가 붙은 녀석을 골라 다운받으면 된다.(예를 들어, kubuntu-10.04-alternate-amd64.iso)

Epilog

한국의 오픈웹 환경과 공인인증서와 관련된 문제를 이 글에서 다 다루기에는 역부족이다. 관련된 것들 중에 추천할 만한 읽을 것들과 들을 것들은 아래를 참조하자.

또한, 알집은 아예 쓰지 말고, NAVER는 아예 접속조차 하지 말자. 이 둘은 안 쓰는 것이 상책이고, 사실 필요도 없다.


Footnotes:

1

물론 한국에만 Windows OS 이외의 OS를 지원하는 척 하면서 "오픈뱅킹"이라는 표현을 쓴다. 원래 대부분의 OS를 지원해야 마땅하며, Windows만 제대로 지원하는 주제에 생색내는 표현이다.

2

Ubuntu 용에 버젓이 "RPM Package"라고 적혀있다. 그냥 웃으며 넘어가자.

3

Windows 경우에는 C:\program File\NPKI 아래에 저장되어 있다고 한다. 자세한 내용은 여기를 참조하자.

4

OS X의 경우는 10.6 Snow Leopard가 지원하는 가장 최신의 OS이다. 무려 2009년에 나온 OS다. 지금은 2014년이다.


Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.

Created: 2014-02-16 Sun 06:31

Emacs 23.4.1 (Org mode 8.0.2)