November 28, 2014

vim 라인 끝 공백 highlight 하기

코딩을 하다보면 보이지 않는 공백이 라인 끝에 남는 경우가 있습니다.
git push하고 gerrit에서 소스를 열어보면 보이긴 하지만 그 전에 vim editor에서 먼저 이를 확인할 수 있다면 번거로움이 줄어들겠죠.

.vimrc 파일에 다음 두 행을 추가합니다.

highlight RedundantWhitespace ctermbg=red guibg=red
match RedundantWhitespace /\s\+$\|\t/

이제 vim에서도 라인 끝의 불필요한 공백이 빨간색으로 표시됩니다.

October 14, 2014

그놈 트윅 도구(gnome-tweak-tool)에서 시작프로그램 등록이 되지 않을 때 해결법

source:
https://bbs.archlinux.org/viewtopic.php?pid=1414443#p1414443

우분투 그놈 14.04.1 및 그놈쉘 3.12를 사용하고 있습니다. 얼마 전, Plank(Dock의 일종)를 설치하고 트윅 도구의 Startup Applications 메뉴에서 시작 프로그램으로 등록하려고 했더니 도통 "+" 버튼이 먹지를 않는 것이었습니다. 이유는 정확히 모르겠지만 검색을 통해 발견한 해결법은 다음과 같습니다.

/usr/lib/python2.7/dist-packages/gtweak/tweaks/tweak_group_startup.py 파일을 다음과 같이 수정합니다. 노랗게 칠한 부분은 추가하시고, 붉은 부분은 삭제하시면 됩니다.

@@ -17,6 +17,7 @@
 from __future__ import print_function

 import os.path
+import getpass
 import subprocess
 import logging

@@ -207,7 +208,7 @@
         exes = []
         cmd = subprocess.Popen([
                     'ps','-e','-w','-w','-U',
-                    os.getlogin(),'-o','cmd'],
+                    getpass.getuser(),'-o','cmd'],
                     stdout=subprocess.PIPE)
         out = cmd.communicate()[0]
         for l in out.split('\n'):

October 12, 2014

오드로이드 U3(ODROID-U3)에 Flash Plugin 설치하기

source:
https://www.bountysource.com/issues/3330423-chromium-36-needs-pepper-flash-12-only-old-pepper-flash-11-in-alarm-repros
http://forum.odroid.com/viewtopic.php?f=8&t=2374

Flash를 개발한 Adobe사가 리눅스용 Flash 플러그인의 개발을 중단했기 때문에 Chromium Browser는 자체적으로 개발한 PepperFlash를 내장하고 있습니다. 특히 arm 버전의 리눅스용으로 포팅된 Adobe Flash 플러그인이 없기 때문에 오드로이드에서 Flash를 보기위한 유일한 방법은 Chromium을 이용하는 것 뿐입니다.

그런데 최근 제가 사용하고 있는 "U2/3 Ubuntu 14.04 Trusty Dev Center" 이미지에서는 Chromium은 설치되어 있지만 플러그인이 없다며 Flash 컨텐츠가 재생되지 않았습니다. PepperFlash 패키지가 빠져 있는듯 했습니다. 우분투 저장소에서 제공하는 패키지가 없기 때문에 번거롭지만 다음과 같은 방식으로 Flash 플러그인을 설치합니다.

터미널을 열고 아래와 같이 입력합니다.

$ wget http://odroidxu.leeharris.me.uk/u2/chromium-pepper-flash-armv7h-12.0.0.77-1-armv7h.pkg.tar.xz
$ sudo tar xvf chromium-pepper-flash-armv7h-12.0.0.77-1-armv7h.pkg.tar.xz -C /

다음에 /etc/chromium-browser/default의 내용을 다음과 같이 추가합니다.

# Default settings for chromium-browser. This file is sourced by /bin/sh from
# /usr/bin/chromium-browser

# Options to pass to chromium-browser
CHROMIUM_FLAGS=" --ppapi-flash-path=/usr/lib/PepperFlash/libpepflashplayer.so --ppapi-flash-version=12.0.0.77"

Chromium 브라우저를 다시 실행하면 정상적으로 Flash 컨텐츠가 작동하게 됩니다.

October 2, 2014

gvim 메뉴와 메시지 출력 언어 변경하기

vi 단축키 외우기가 그렇게 힘들었는데, 회사를 다니니까 엄청 빨리 외워지는군요! 역시 사람은 먹고 사는 문제와 관련이 있어야 잘할 수 있...

Windows에서도 gVim을 설치하여 사용하기 시작했습니다. 한글 Windows 환경에서 gVim을 실행시키니 메뉴와 메시지가 자동으로 한글로 출력되는데 번역이 저랑은 좀 맞지 않네요. 편집모드(insert mode) 같은 경우 끼워넣기로 번역되어 있는데 틀린 말은 아니지만 낯설어서 영어로 쓰는 것이 나은 것 같아요.

메뉴와 메시지를 영어로 변경하시려면 Windows 7 기준으로 C:\Program Files (x86)\Vim\_vimrc 파일에 다음 두 줄을 추가해주시면 됩니다.

set langmenu=en_US.UTF-8
language messages en_US.UTF-8

September 17, 2014

주분투, 루분투에서 시스템 전체에 Proxy 설정하기

Source:
http://askubuntu.com/questions/150210/how-do-i-set-systemwide-proxy-servers-in-xubuntu-lubuntu-or-ubuntu-studio

GUI를 통하여 시스템 전체 (System-wide)에 대한 Proxy 설정을 손쉽게 할 수 있는 우분투와는 달리 주분투에서는 이에 대한 설정 메뉴가 보이지 않더군요. 더 쉽게 할 수 있는 방법이 있는지는 모르겠지만 터미널에서 설정 파일을 수정하는 방식을 통해 일단 Proxy 설정을 할 수 있었습니다.

1. 대부분의 프로그램을 위한 Proxy 설정


/etc/environment 파일에 다음과 같은 항목을 추가합니다.

http_proxy=http://myproxy.server.com:8080/ https_proxy=http://myproxy.server.com:8080/ ftp_proxy=http://myproxy.server.com:8080/ no_proxy="localhost,127.0.0.1,localaddress,.localdomain.com" HTTP_PROXY=http://myproxy.server.com:8080/ HTTPS_PROXY=http://myproxy.server.com:8080/ FTP_PROXY=http://myproxy.server.com:8080/ NO_PROXY="localhost,127.0.0.1,localaddress,.localdomain.com"

2. GTK3 프로그램을 위한 Proxy 설정


터미널에서 다음과 같이 입력합니다.

gsettings set org.gnome.system.proxy mode 'manual'
gsettings set org.gnome.system.proxy.http host 'myproxy.server.com'
gsettings set org.gnome.system.proxy.http port 8080

3. apt-get 및 Update Manager를 위한 Proxy 설정


/etc/apt/apt.conf.d/ 안에 95proxies 라는 이름의 파일을 생성하여 다음과 같이 입력합니다.

Acquire::http::proxy "http://myproxy.server.com:8080/";
Acquire::ftp::proxy "ftp://myproxy.server.com:8080/";
Acquire::https::proxy "https://myproxy.server.com:8080/";

August 26, 2014

ODROID-U3 를 이용하여 초저전력 홈서버 만들기(0) : 왜 홈서버가 필요한가

어렸을 때부터 나만의 서버를 갖는 것이 꿈이었지만 전기세에 대한 부담 때문에 이를 이루지 못했습니다. 한두번 서버를 구성하여 테스트만 해보고 실제로 운영해보진 않았습니다. 최근 들어 출시되기 시작한 저전력 CPU들은 국내에 출시되지 않던지, 성능에 비해 턱없이 비싸 전기세 아끼는 비용이나 새로 홈서버용 PC를 구성하는 비용이나 비슷하게 들어 고려할 대안이 되지 못하였습니다.

ODROID-U3

그러다 우연히 개발자용 테스트 보드인 ODROID 시리즈에 대해 알게 되었습니다. ODROID는 쉽게 말하면 요즘 많이 사용하는 스마트폰의 껍데기를 벗겨 놓은 메인보드 입니다. 실제로 ODROID는 PC로 치면 CPU에 해당하는 AP(Application Processor)로 스마트폰이나 태블릿 PC에 많이 들어가는 Samsung Exynos를 사용하고 있습니다.

ODROID 시리즈에는 안드로이드 또는 우분투를 적용하여 사용할 수 있습니다. 우분투는 Windows처럼 우리가 서버 또는 데스크탑 PC에서 사용하는 운영체제 입니다. 제약사항이 전혀 없는 것은 아니지만 이를 활용하면 ODROID 또한 서버나 데스크탑처럼 쓸 수 있습니다.

ODROID 로 홈서버를 구성하는 것의 최대 이점은 초저전력이라는 것입니다. 집에서 사용하는 PC는 아무리 저전력 부품들로 구성하여도 대기(idle) 상태에서의 전력 소모가 수십W 수준이나 ODROID는 액정도 달리지 않은 스마트폰의 메인보드 같은 상태기 때문에 1.5~2W 가량의 전력 밖에 소모하지 않습니다. 이 정도면 24시간 가동하여도 전기세 부담이 크지 않습니다. 크기가 작아 공간을 많이 차지하지 않는 것도 장점이라고 할 수 있습니다.

실제로 저는 ODROID 시리즈 중 U3 모델을 이용하여 홈서버를 구성하였고, 현재 만족스럽게 사용하고 있습니다. 홈서버를 만들면 무엇이 좋은가 궁금하실 수 있는데 간단히 생각나는 용도를 몇 가지 적어봤습니다.

  • 개인용 클라우드 저장소
    • Dropbox나 N드라이브처럼 활용, 동기화 및 파일 업로드
    • 저장공간 제약 없음 (하드 최대용량까지 사용 가능)
    • 개인적인 파일을 온라인 공간에 업로드 할 필요가 없음 (개인정보 보호)
  • 원격 토렌트 머신
    • 스마트폰이나 PC를 이용하여 집에 있는 서버에게 다운로드를 시킬 수 있음
    • 낮에 집 밖에서 다운로드 시켜놓고 저녁에 집에 들어가서 확인
  • 미디어 서버
    • 바깥이나 집 안 어디서든 서버에 접속하여 음악, 동영상, 전자책 등 감상
    • 인터넷만 연결되어 있으면 새로 산 기기에 파일을 복사하여 옮길 필요 없음
  • 홈페이지, 블로그 운영
    • 웹서버 설치하여 실제 홈페이지나 블로그를 운영할 수 있음
    • 단, 가정용 인터넷 회선을 이용하므로 방문자가 아주 적은 경우에만 권장함

홈서버의 용도는 웹사이트를 운영하기 위한 일반적 서버와는 용도가 많이 다릅니다. 말 그대로 개인 또는 가족 단위의 일상생활에 활용하면 편리한 보조적인 용도입니다. '서버'라는 단어 때문에 굉장히 어려운 느낌이지만 많은 부분이 자동화되어 있어 실제로 홈서버를 구성하는 과정은 따라하기만 하면 되는 것이 대부분입니다.

앞으로 몇 개의 글에 걸쳐 ODROID-U3로 홈서버를 만드는 과정을 소개할 예정입니다. 최대한 쉽게 쓸 예정이니 홈서버에 관심있던 분들은 어려워마시고 도전해보세요. :)



April 22, 2014

오드로이드 U3 Whisper 14.04로 업그레이드 후 화면이 나오지 않는 문제 해결법

Source:
http://forum.odroid.com/viewtopic.php?f=22&t=2665&view=unread#p21154

(추가) 종종 이 글을 읽으러 들어오는 분들이 계시네요. 만약 u3에 롬을 올리지 않은 상태라면 Whisper를 올려서 14.04로 업그레이드 하기보다는 U2/3 Ubuntu 14.04 Trusty Dev Center 버전을 설치하시기 바랍니다.
http://forum.odroid.com/viewtopic.php?f=77&t=4823

오드로이드 U3에 외국분이 루분투 13.10을 기반으로 만든 Whisper 이미지를 올려서 사용 중입니다. 가볍고 안정적인데다 초기 세팅이 잘 되어 있어서 ARM 보드에 대한 별다른 지식 없이도 쉽게 U3를 사용할 수 있습니다. 전 저전력 홈서버를 구성해서 사용 중인데 아주 만족스럽습니다.

이번에 루분투 14.04가 정식으로 출시되면서 Whisper도 Software Updater를 통해 업그레이드 할 수 있게 되었습니다. 이 업그레이드는 터미널에 다음과 같이 입력하셔도 동일하게 진행할 수 있습니다.

$ do-release-upgrade

그런데 업그레이드를 한 이후 화면이 전혀 나오지 않았습니다. 화면이 나오질 않으니 부팅 로그도 확인할 수가 없어서 애꿎은 이미지만 몇 번씩 썼다 지워봤지만 업그레이드를 하면 여전히 화면이 먹통이 되었습니다.

ARM용 루분투에 문제가 있나 싶었는데 포럼을 뒤져보니 업그레이드 하는 동안 xorg.conf를 마음대로 변경하는 것이 문제였네요. 화면이 나오지 않으므로 다른 PC에서 putty 등을 통해 U3에 접속합니다.

그리고 다음과 같이 터미널에 입력합니다.

$ sudo mv /etc/X11/xorg.conf.d/exynos.conf /etc/X11/xorg.conf.d/exynos.conf.old
$ sudo cp /etc/X11/xorg.conf /etc/X11/xorg.conf.d/exynos.conf
$ sudo reboot

이제 재부팅 되면서 제대로 화면이 뜨는 것을 확인하실 수 있습니다. 이것 때문에 며칠 고생했는데 단순히 파일 복사하면 해결되는 문제라니 맥 빠지네요. 화면 문제 외에는 14.04로 업그레이드 후 모든 기능이 정상적으로 작동하고 있습니다. 백업하시고 업그레이드에 도전해보세요. :D

April 20, 2014

우분투에 Flash Player 설치하기

Source:
http://askubuntu.com/questions/341428/how-to-install-flash-player-on-ubuntu

리눅스용 Flash Player 는 11.2 버전 이후로 업데이트가 중단되었습니다. 그럼에도 여전히 많은 웹사이트에서 Flash 를 사용하고 있기 때문에 설치가 필요할 수 있습니다. 다음과 같이 터미널에 입력합니다.

$ sudo apt-get install flashplugin-installer

우분투에서 최신 eclipse 사용하기

eclipse 실행을 위한 JDK 설치법은 아래 링크를 참조하시기 바랍니다.
http://conr2d.blogspot.com/2014/04/oracle-jdk.html

eclipse 최신 버전은 kepler 지만, 저장소에 있는 버전은 juno 입니다. 따라서 최신 버전의 eclipse 를 사용하려면 APT를 통해 설치하지 말고 별도로 받아야만 합니다.

eclipse 공식 사이트의 다운로드 페이지에서 원하는 eclipse 패키지를 다운로드 합니다.
https://www.eclipse.org/downloads/

다운로드 한 압축 파일은 아무 곳에나 압축 해제하여도 실행하는데 문제는 없지만 일반적으로 리눅스에서 응용 프로그램의 경로는 /opt 로 알고 있습니다. 저는 /opt에 압축을 해제하였습니다.

이제 실행 아이콘을 생성해야 하는데, 터미널에서 다음과 같이 입력합니다.
$ gedit ~/.local/share/applications/eclipse.desktop

gedit 창이 뜨면 아래 내용을 붙여 넣습니다.

[Desktop Entry]
Type=Application
Name=Eclipse
Comment=Eclipse Integrated Development Environment
Icon=/opt/eclipse/icon.xpm
Exec=/opt/eclipse/eclipse
Terminal=false
Categories=Development;IDE;Java;
StartupWMClass=Eclipse

다른 곳에 압축을 풀었다면 해당 경로에 맞게 Exec 의 경로를 수정합니다. 또한 기본으로 포함되어 있는 아이콘이 예쁘지(?) 않기 때문에 아이콘 변경을 원하는 분은 eclipse 아이콘을 인터넷에서 받아서 저장 후, 위 Icon 경로를 해당 그림 파일로 변경하도록 합니다.

위 파일에 실행 권한을 주어야 하므로 다음과 같이 입력합니다.

$ sudo chmod +x ~/.local/share/applications/eclipse.desktop

이제 유니티 런처나 그놈 런치박스에서 eclipse 를 입력하면 이를 실행할 수 있습니다.

우분투에 Oracle JDK 쉽게 설치하기

source:
http://www.webupd8.org/2012/01/install-oracle-java-jdk-7-in-ubuntu-via.html
http://www.webupd8.org/2012/09/install-oracle-java-8-in-ubuntu-via-ppa.html

PPA 를 이용하여 JDK 를 쉽게 설치하는 방법입니다.

1. 저장소 추가 및 JDK 설치


저장소를 추가하기 위해 터미널에 다음과 같이 입력합니다.

$ sudo add-apt-repository ppa:webupd8team/java
$ sudo apt-get update

JDK 7 또는 8을 설치하기 위해 다음과 같이 입력합니다.

(JDK7 설치)
$ sudo apt-get install oracle-java7-installer

(JDK8 설치)
$ sudo apt-get install oracle-java8-installer

설치를 마치면 자동 인스톨러가 나오는데 지시에 따라 계속 진행하시면 됩니다.

2. 환경변수 설정


JDK 설치 이후, 환경 변수를 자동으로 설정하려면 아래와 같이 추가로 입력합니다.

(JDK7 설치)
$ sudo apt-get install oracle-java7-set-default

(JDK8 설치)
$ sudo apt-get install oracle-java8-set-default

3. JDK7 과 JDK8 간 전환


사용 중 기본 JDK를 변경하고 싶다면 다음과 같이 입력합니다.

(JDK8에서 JDK7으로 변경시)
$ sudo update-java-alternatives  -s java-7-oracle

(JDK7에서 JDK8으로 변경시)
$ sudo update-java-alternatives  -s java-8-oracle

우분투 그놈 14.04 에 한글 입력 환경 설정하기

우분투 그놈 14.04 에 uim (Universal Input Method) 입력기를 이용한 한글 입력 환경 설정법입니다.

우분투의 기본 입력기는 ibus 이고 많은 분들이 우리나라에서 만든 nabi 입력기를 선호하는 것으로 알고 있지만, 개인적으로는 uim 이 사용하면서 가장 골치를 덜 썩였던 경험이 있어 매번 uim 을 이용하여 새로 입력 환경을 설정하곤 합니다.

1. uim 설치


uim 과 uim의 한글 관련 패키지인 벼루(uim-byeoru)를 설치합니다.

$ sudo apt-get install uim uim-byeoru

2. 입력기 선택


우분투의 경우 Settings-Language Support 에서 입력기를 바로 변경하면 되지만 우분투 그놈에는 Language Support 대신 Region & Language 메뉴만 있습니다. Region & Language 메뉴에서는 기본 입력기를 변경하는 메뉴가 없으므로 Language Support 를 설치하도록 합니다. (우분투 그놈이 아닌 우분투라면 이미 설치되어 있습니다.)

$ sudo apt-get install language-selector-gnome

이제 Language Support 를 실행하여 입력기를 uim 으로 변경합니다. 만약 설치시 기본 언어를 영어로 설치하신 분들은 Install/Remove Languages 메뉴를 클릭하여 Korean 을 추가로 설치합니다.

(추가) 처음부터 언어 선택을 한국어로 설치하신 분들은 language-selector-gnome 을 따로 설치하실 필요 없이 아래 명령어를 실행하여 나오는 창에서 cancel 을 눌러 입력시 선택 모드로 들어간 후, uim을 선택해주시면 됩니다.

$  im-config

3. uim 설정


이제 uim 설정 단계입니다. uim 을 실행한 후, 각 탭에서 다음 사항을 설정합니다.

1) Global Settings
  Specify Default IM 을 체크하고, 기본 입력기로 Byeoru를 선택합니다.

2) Byeoru
  두벌식이 아닌 다른 자판을 이용하실 분은 이 탭에서 다른 자판을 선택하도록 합니다.

3) Byeoru key bindings 1
  [Byeoru] on, [Byeoru] off 메뉴에서 Edit를 눌러 각각 한/영 키를 추가하도록 합니다. 키 이름은 hangul 로 나옵니다. 한자키도 사용하시려면 [Byeoru] convert Hangul to Chineses Characters 에 hangul-hanja 키를 추가하도록 합니다.

4. 재부팅


설정을 모두 마쳤습니다. 이제 재부팅하거나 또는 로그아웃 후 다시 로그인을 하면 한글 입력이 가능합니다.

April 18, 2014

우분투 그놈 14.04에 그놈쉘 3.12 설치하기

그놈쉘 3.12가 3월 26일 출시되었지만 어제(4월 17일) 출시된 우분투 그놈 14.04는 2월 20일부터 Feature Freeze 단계로 진입하였기 때문에 그놈쉘 3.10을 탑재하여 출시되었습니다.
하지만 그놈3 개발팀 PPA를 추가하면 그놈쉘 3.12를 설치하여 사용할 수 있습니다.

그놈쉘 3.12를 설치하려면 터미널에서 아래와 같이 입력합니다.

$ sudo add-apt-repository ppa:gnome3-team/gnome3-staging
$ sudo apt-get update
$ sudo apt-get dist-upgrade

만약 설치 중 에러 메시지가 발생하면 추가로 다음을 실행합니다.

$ sudo apt-get install -f

상단바에서 네트워크 아이콘이 없어졌었는데 언제 패치된건지 다시 살아났네요. 그놈 개발자들이 무선랜을 잘 쓰지 않는건지 네트워크 아이콘을 없애서 AP 바꿔 접속하려면 몇번씩 클릭해야 한다고 사용자들 불만이 폭주했는데 다행입니다.

유니티도 많이 좋아졌다고는 하지만 그놈쉘의 깔끔함과 빠릿빠릿함이 맘에 들어서 아직은 그놈을 쓰고 있습니다. 얼마 전, 그놈 재단이 자금난을 겪고 있다는 기사를 읽었는데 조금이라도 기부해야겠습니다.