2011년 2월 28일

집에 도착하니 외국에서 온 편지가 도착했더군요.

그 편지는 Canonical사에서 보낸 Ubuntu 10.10 Maverick Meerkat CD였더군요.

저는 편지를 뜯어보았습니다.


HTC | HTC Desire | 4.3mm | ISO-70 | 2011:02:28 20:59:51

앞면은 개인정보상 털썩

HTC | HTC Desire | 4.3mm | ISO-59 | 2011:02:28 21:02:31

짜잔, 내용물인 Ubuntu 10.10 Desktop Edition CD입니다.

HTC | HTC Desire | 4.3mm | ISO-53 | 2011:02:28 21:02:41

Ubuntu. Try it. Love it. Share it!

HTC | HTC Desire | 4.3mm | ISO-85 | 2011:02:28 21:20:07

Macbook Pro위에 올려진 Ubuntu 10.10 Desktop Edition CD.


물건너온 CD를 받고 나선 너무 좋아 기념 사진을 찍었답니다 ㅎㅎ

ps. 은근 맥북 자랑질도 *-_-*

Buy me a coffeeBuy me a coffee

우분투 11.04의 기본 Desktop으로 채택될 예정인 Unity를 사용해보았습니다.

Ubuntu Unity - http://unity.ubuntu.com/

2010/11/21 - [컴퓨터/Linux] - Gnome을 대체할 Unity소개 #Ubuntu 11.04 Natty Narwhal uses Unity Desktop by Default!


아래는 Ubuntu 11.04 Natty Narwhal의 기본 데스크탑인 Unity의 화면입니다.

Unity Desktop



2004년 말부터 GNOME(http://www.gnome.org/) Desktop를 주로 쓰던 저에게 Unity는 신선한 충격을 가져다 줍니다. KDE Desktop처럼 온갖 기능 붙혀서 무겁게 느껴지거나 GNOME같이 평범한 Linux Desktop도 아닌 뭔가 새롭고 신선한느낌정도?

Unity Desktop의 UI가 겉으로 보면 예쁘지만, 실제로 사용하다 보면 약간 뭔가 어지럽습니다. 익숙하지 않아서 그럴지도?

Netbook을 위한 Desktop을 표방하고 있습니다만, 아직 GNOME환경에 비해서 느리고 빠릿빠릿하지 않다는 느낌이 듭니다.


Unity가 GNOME(GTK+기반)과 달리 QT기반으로 작성되었으며 X 윈도우 시스템을 대체할 OpenGL기반의 데스크탑 관리시스템인 웨이랜드(Wayland) 데스크탑 엔진, Compiz를 대체할 mutter를 사용합니다.

이전에는 X Windows위에 GTK기반의 GNOME Desktop을 사용했다만 Ubuntu를 관리하는 Canonical사는 독자적인 방향으로 새로운 UI를 제공하겠다는 목표로 Unity project를 진행하고 있습니다.

Unity가 데스크탑, 노트북말고도Tablet같은 Touch screen이 있는 노트북이나 넷북에도 적용할 예정입니다. 아래 화면에서 보듯 UI가 손가락으로 클릭하기 좋게 구성 되어 있습니다.


Unity UI를 보면 볼수록 뭔가 Mac OSX를 많이 흉내내려고 노력한 흔적이 많이 보입니다.


Canonical사는 Ubuntu OS에 Unity라는 새로운 사용자 경험을 보여주합니다. 기존의 GNOME기반의 경험을 가진 사람에겐 뭔가 느낌이 이상하게 느껴지는건 익숙하지 않아서일까요?


ps. 아직 Alpha release단계라 버그가 많습니다. 가끔씩 죽는 경우가 생겨 launchpad에 bug reporting을 자주 하는 편입니다.

Buy me a coffeeBuy me a coffee

Android 프로그래밍을 하다 C코드를 Java코드와 연동해야하는 일이 생겼습니다.

Android NDK를 이용해 빌드하다보니 ant를 사용하여 안드로이드 프로그램을 빌드하였습니다.

Linux에서 빌드할때와 Mac OSX에서 빌드할때 미묘한 차이가 생기더군요.


Java로 된 안드로이드 소스코드는 UTF-8로 분명히 저장되어 있는데, Ant가 Linux에서 돌릴때엔 ascii로 인식해서 컴파일을 하더군요. 결국엔 안드로이드 어플에 한글이 깨져 나오는 문제가 있습니다.

Mac에서는 아무런 문제없이 빌드되고 안드로이더 어플에 한글이 깨져나오는 일이 없습니다. 참 미묘하기도 하지요?


참고로 CentOS5에 설치한 Ant 버전은 아래와 같습니다.

[studioego@localhost ~]$ ant -version

Apache Ant version 1.7.1 compiled on June 27 2008

[studioego@localhost ~]$ 



그리고 Mac  OSX 10.6에 설치된 Ant버전은 아래와 같다.

Dae-Hyun-Sung-ui-MacBook-Pro:~ studioego$ ant -version

Apache Ant version 1.8.1 compiled on September 21 2010

Dae-Hyun-Sung-ui-MacBook-Pro:~ studioego$


CentOS5 에서 Ant를 실행했을때


$ ant debug

Buildfile: build.xml

    [setup] Android SDK Tools Revision 8

    [setup] Project Target: Android 2.2

    [setup] API level: 8

    [setup] 

    [setup] ------------------

    [setup] Resolving library dependencies:

    [setup] No library dependencies.

    [setup] 

    [setup] ------------------

    [setup] 

    [setup] 

    [setup] Importing rules file: tools/ant/main_rules.xml


-debug-obfuscation-check:

-set-debug-mode:

-compile-tested-if-test:

-dirs:

     [echo] Creating output directories if needed...

    [mkdir] Created dir: /******/bin/classes

-pre-build:

-resource-src:

     [echo] Generating R.java / Manifest.java from the resources...

     [null] /home/studioego/android/platform-tools/aapt: /usr/lib/libz.so.1: no version information available (required by /home/studioego/android/platform-tools/aapt)

-aidl:

     [echo] Compiling aidl files into Java classes...

-pre-compile:

compile:

    [javac] Compiling 5 source files to /******/bin/classes

    [javac] /******/src/org/ccl/mobile/student/AnnoLine.java:4: warning: unmappable character for encoding ascii

    [javac] // 시작점 좌표

    [javac]            ^

    [javac] /******/src/org/ccl/mobile/student/AnnoLine.java:4: warning: unmappable character for encoding ascii

    [javac] // 시작점 좌표

    [javac]             ^

    [javac] /******/src/org/ccl/mobile/student/AnnoLine.java:4: warning: unmappable character for encoding ascii

    [javac] // 시작점 좌표

    [javac]              ^

    [javac] /******/src/org/ccl/mobile/student/AnnoLine.java:4: warning: unmappable character for encoding ascii

    [javac] // 시작점 좌표

    [javac]               ^

    [javac] /******/src/org/ccl/mobile/student/AnnoLine.java:4: warning: unmappable character for encoding ascii

    [javac] // 시작점 좌표

    [javac]                ^

    [javac] /******/src/org/ccl/mobile/student/AnnoLine.java:4: warning: unmappable character for encoding ascii

    [javac] // 시작점 좌표

    [javac]                 ^

    [javac] /******/src/org/ccl/mobile/student/AnnoLine.java:4: warning: unmappable character for encoding ascii

    [javac] // 시작점 좌표

    [javac]                  ^

    [javac] /******/src/org/ccl/mobile/student/AnnoLine.java:4: warning: unmappable character for encoding ascii

    [javac] // 시작점 좌표

    [javac]                   ^

    [javac] /******/src/org/ccl/mobile/student/AnnoLine.java:4: warning: unmappable character for encoding ascii

    [javac] // 시작점 좌표

    [javac]                    ^

    [javac] /******/src/org/ccl/mobile/student/AnnoLine.java:4: warning: unmappable character for encoding ascii

    [javac] // 시작점 좌표

    [javac]                      ^

(생략)

    [javac] 100 warnings

(생략)



이후 소스코드는 UTF-8로 분명히 저장했는데도 안드로이드 어플에서 글씨가 깨져 나옵니다.


Mac OSX 10.6 Snow Leopard 에 탑재된 Ant를 실행했을때

$ ant debug

Buildfile: /******/build.xml

    [setup] Android SDK Tools Revision 10

    [setup] Project Target: Android 2.2

    [setup] API level: 8

    [setup] 

    [setup] ------------------

    [setup] Resolving library dependencies:

    [setup] No library dependencies.

    [setup] 

    [setup] ------------------

    [setup] 

    [setup] 

    [setup] Importing rules file: tools/ant/main_rules.xml

-debug-obfuscation-check:

-set-debug-mode:

-compile-tested-if-test:

-pre-build:

-dirs:

     [echo] Creating output directories if needed...

-aidl:

     [echo] Compiling aidl files into Java classes...

-renderscript:

     [echo] Compiling RenderScript files into Java classes and RenderScript bytecode...

-resource-src:

     [echo] Generating R.java / Manifest.java from the resources...

-pre-compile:

...

(생략)

BUILD SUCCESSFUL

Total time: 10 seconds


소스코드도 UTF-8로 저장되었고 안드로이드 어플에서 한글이 깨지는 일이 없이 문제 없이 돌아갑니다. 


ant의 버전 차이때문에 그런건가요?


이 문제 때문에 Linux용 최신 ant binary 버전을 다운 받아서 사용했어도 똑같은 일이 발생하더군요.

버전문제는 아는 것 같고.. Linux용 ant를 직접 빌드해서 사용해야 문제가 해결될까요?


한글이 깨지는 문제때문에 구글링 한 결과 android-sdk폴더안의 파일을 수정해야되더군요

android-sdk디렉토리 안에 있는 tools/ant/main_rules.xml 을 열고 나서 

<property name="java.encoding" value="ascii" /> 부분을 찾습니다. 

 120     <!-- compilation options -->

 121     <property name="java.encoding" value="ascii" />

 122     <property name="java.target" value="1.5" />

 123     <property name="java.source" value="1.5" />

이후 ascii를 UTF-8로 수정후 저장합니다.

 <property name="java.encoding" value="UTF-8" />

이후에 다시 ant로 안드로이드 어플 컴파일 하면 한글이 깨지는 문제가 사라집니다.

참조: android: getting rid of “warning: unmappable character for encoding ascii”

(역시 구글링하면 모든 문제가 대부분 해결 되더군요 ㅎㅎ)


참고로 Mac OSX에선 기본적으로 UTF-8로 설정되어서 위와 같이 한글이 깨지는 문제가 없더군요.

아래는 맥의 ant 설정파일의 내용입니다.

/Users/studioego/android-sdk-mac_86/tools/ant/main_rules.xml

124     <!-- compilation options -->

125     <property name="java.encoding" value="UTF-8" />

126     <property name="java.target" value="1.5" />

127     <property name="java.source" value="1.5" />


Buy me a coffeeBuy me a coffee

2011.2.3. 설날 맞이 기념으로 Gentoo Linux를 설치하고 있습니다. (글쓰고 있는 시점에서도 설치중)


이번에 노트북을 구입한 후, 컴퓨터 성능을 시험하고자 컴파일로 최적화시키고 퍼포먼스를 높혀서 사용할수 있는 Gentoo Linux를 virtualbox안에서 설치하였습니다.

Gentoo Linux의 경우는 다른 Linux배포판과 다르게 FreeBSD 기반의 port(BSD기반의 Mac OSX에서는 The MacPorts Project로 port를 사용할 수 있습니다.)와 비슷한 emerge로 일일히 컴파일 하여 OS를 만져볼수 있습니다.

기본적으로 Linux를 Fedora Core, CentOS, Ubuntu로 사용한 경험이 있다보니 설치하는데는 아무런 문제가 없었습니다.

아래의 Gentoo 설치 문서 

Gentoo Linux x86 Quick Install Guide

KLDP Wiki - Gentoo Install 설치 기록

를 자세히보면 문제없이 설치할수 있습니다.

네트워크 설정(Configure networking)

디스크 파티션, 파일시스템 생성, 마운트, (Create the partition, Create the file systems and Mount the file systems)

커널 설정 및 설치(Kernel Configuration and compile a kernel source and install the kernel)

시스템 툴 설치(Installing System Tools)

부트로더 설치(bootloader installation)

위의 과정은 정말 금방 끝냈다. 이후 X Window를 띄운다고 Gnome을 설치하다... 뭔가 큰일 난것 같다. -_-;;

문제가 설치 시간이 상당히 오래 걸린다는것 정도? 설치하는데 하루종일 컴파일해도 아직도 끝나지 않았다는것에 좌절하였음.

Kernel설치는 5시간만에 다한듯 한데, GNOME설치하는 것은 X11설치하는것도 있으니 아마도 1일정도 걸릴듯하다. (지금 cairo 컴파일중)

설치 시간이 머신의 성능에 따라 영향을 받는데, VirtualBox에서 설치를 했으니 실제 하드웨어에서 설치하는것 보다 당연히 느릴수 밖에 -_-


내일 정도 X Window가 띄어진 화면을 볼수 있을것 같다. Gentoo는 폐인들을 위한 배포판 같다.

ps. 2월 4일(금) 오전 8시 30분경.. 아직도 컴파일중 -_-

ㅔㄴ

Buy me a coffeeBuy me a coffee
  1. 호야지기 2011.02.04 19:01

    오덕등극을 축하드립니다



Ubuntu 11.04 부턴 Gnome Desktop 대신 Unity가 기본적으로 탑재될 것이라는 하며 Unity에 대한 소개를 합니다.


Unity Desktop은 현재 Ubuntu Netbook Remix에서 사용하고 있는 Desktop Environment입니다.

Ubuntu 11.04 Natty Narwhal uses Unity Desktop by Default! [UDS N Day 1]

Buy me a coffeeBuy me a coffee

Ubuntu를 만들고 후원하는 기업인 Canonical의 회장인 마크 셔틀워스(Mark Shuttleworth)가 2010년 10월 25일에 열린 UDS(Ubuntu Developer Summit)의 키노트 동영상을 보여드립니다.


UDS - Natty Narwhal - http://summit.ubuntu.com/uds-n/


2010년 10월 25일, 미국 플로리다주 올랜드의 카리브 로열에서 열린 UDS(Ubuntu Developer Summit) 키노트 동영상입니다.

Caribe Royal in Orlando, Florida, USA

Introduction and KeynoteIntroduction by Jono Bacon, Keynote by Mark Shuttleworth

UDS Natty 11.04 - Mark Shuttleworth keynote - Part 1

Part2 는 아래의 링크 클릭하면 볼 수 있습니다^^

UDS Natty 11.04 - Mark Shuttleworth keynote - Part 2

Part 2 is a separate video. http://blip.tv/file/4293437

- This is part 2 of an 'unofficial' rip of the video stream from the event which cut part way through. 

Buy me a coffeeBuy me a coffee

이번 Ubuntu 10.10 Maverick Meerkat 이 2010년 10월 10일(GMT기준)에 출시되었습니다.


2010/10/11 - [컴퓨터/Linux] - Ubuntu 10.10 Maverick Meerkat 출시


이후 노트북에서 Ubuntu 10.10 Maverick Meerkat을 쓰다, 뭔가 새로운 체험을 하고 싶었던 참이였습니다.


Ubuntu 10.10에서 배포판 업데이트를 하려다 update-manager -d -c 명령어로 업데이트를 하였습니다. (검색하다보니 upgrade-manager -d -c 가 개발 버전으로 업그레이드 하는 명령어였습니다.)

upgrade-manager -d -c : 개발 버전으로 업그레이드하는 명령어


화면에 아래와 같이 

새 우분투 버전인 '11.04'(으)로 업그레이드 할수 있습니다.

에서 업그레이드 버튼을 누르면 업그레이드를 할 수있습니다.


이번 Ubuntu 11.04 에서 많은 부분이 Ubuntu 10.04에 비해 엄청 많이 바뀐다던데, 어떤 부분이 궁금해서 업그레이드를 하게 되었습니다.

아래는 Ubuntu 11.04로 업그레이드 하긴 나머지 업데이트를 하는 중입니다. 


새 우분투 버전인 '11.04'(으)로 업그레이드 할수 있습니다.

라는 버튼을 누르면 아래와 같은 경고 화면이 나오면서 Ubuntu 11.04 'Natty Narwahl'의 소개 및 Testing, Repoting Bugs같은 정보들을 알려줍니다. 여기서 업그레이드 버튼을 누르면 Ubuntu 11.04 로 업그레이드가 됩니다.

Ubuntu 11.04 Natty Narwahl Release Information


업그레이드 버튼을 누른 후, 배포판 업그레이드 과정으로 돌입합니다.

배포판 업그레이드 - 업그레이드를 준비하는 중


써드 파티 소스 사용할수 없고 Ubuntu 서버의 소스로만 업그레이드를 할수 있습니다.


배포판 업그레이드 - 소프트웨어 채널을 수정하는 중 (source.lists를 11.04 로 변경)


여기까지는 Ubuntu 11.04 'Natty Narwahl' Alpha release로 업그레이드를 하기 전 단계였습니다.

다음부터는 본격적인 업그레이드 과정에 돌입합니다.

Ubuntu 11.04 'Natty Narwahl'로 업그레이드를 하겠습니까?


업그레이드 하기전에 몇몇 패키지가 삭제되고 몇몇 패키지는 업그레이드 되며, 몇몇 패키지는 설치된다는 메시지를 보여주고 해당 목록들을 보여줍니다.

업그레이드 시작 단추를 누르면 아래와 같이 패키지들을 다운로드 받아, Ubuntu 11.04 'Natty Narwahl'로 업그레이드 설치하기 시작합니다.

배포판 업그레이드 - 패키지를 가져오는 중


배포판 업그레이드 - 업그레이드를 설치하는 중



설치하는 동안 블로그에 아래와 같은 글을 적었습니다. 아주 설치가 잘 되더군요 ^^

2010/11/13 - [컴퓨터/Linux] - #ubuntu 11.04 남들 보다 먼저 체험하는 방법. #linux

2010/11/14 - [컴퓨터/Linux] - Welcome to #ubuntu 11.04 'Natty Narwahl' Alpha release!


설치 후 결과는 아래와 같습니다.

뭐 크게 많이 바뀐건 없고 Linux Kernel 버전이 2.6.35에서 2.6.37로 변경된게 큰 변화일겁니다.


studioego@studioego-laptop:~$ lsb_release -a

No LSB modules are available.

Distributor ID: Ubuntu

Description: Ubuntu natty (development branch)

Release: 11.04

Codename: natty

studioego@studioego-laptop:~$ uname -a

Linux studioego-laptop 2.6.37-3-generic #11-Ubuntu SMP Fri Nov 12 02:09:53 UTC 2010 i686 GNU/Linux

studioego@studioego-laptop:~$ 

Buy me a coffeeBuy me a coffee
  1. bun 2011.04.09 11:59

    우분투 10.10 사용자 이구요 처음 우분투를 사용해보아서 잘 모르는 게 많았었는데
    덕분에 많이 알고 갑니다 ^^

출처: http://dri.sourceforge.net/doc/dri_control_flow.html


보통의 Linux에서 GUI를 구성하는 X Window의 어플들이 모니터 화면으로 보여주는 지(Rendering)에 대한 구조도입니다.

아래 그림에선 XFree86기준으로 설명하였지만 X-org도 비슷한 구성을 합니다.


This low level diagram provide details not shown in the overview diagram.


자세한 설명은  http://dri.sourceforge.net/doc/dri_control_flow.html

그래픽 데이터가 하드웨어로 보내는 과정을 간략히 설명한 구조도 
Buy me a coffeeBuy me a coffee



현재, 저는 Android가 탑재된 HTC Desire으로 사용하고 있습니다.


5월초 HTC Desire를 구입하고 나서 계속 기본으로 탑재된 Sense UI를 사용하다, Sense UI를 쓰는 것보다 Froyo의 버전인 2.2.1을 빨리 맛보고 싶고, Google NexusOne의 UI를 사용하고 싶어 DeFroST custum rom으로 바꾼지 이제 1달 반정도 지나갑니다.


Sense UI를 사용할때보단 NesuxOne의 UI를 쓰다보니 뭔가 약간 부족하긴 하지만, Froyo를 제대로 쓰면서 속도로 빠른 것을 원했기 때문에, 계속 이 Rom으로 유지하고 싶군요.

DeFroST라는 단어에서 성에를 없애는 뜻같이 아주 매끄럽게 HTC Desire를 사용할수 있는 롬이라고 말할 수 있습니다.

 

2010년 11월 20일에 DeFroST 6.0g가 나와서 바로 설치하게 되었습니다.


DeFroST 6.0g 설치 후 화면


DeFrost 6.0g를 설치후 휴대전화정보입니다.



다른 Desire롬보다 좋은 점은 최신 NexusOne에 들어간 OS인 Android 2.2.1이 들어간 점이 마음에 듭니다,


기존보다 DeFrost 6.0g의 변화된점입니다.

DeFroST의 기반인 넥서스원용 커스텀롬인 CyanogenMod의 변화와 Kernel 변화들을 적었습니다.

Version 6.0g:

CyanogenMod changes:

  • *WindowManagerService: Fix out of memory for surface error...
  • *Fix 2g/3g toggle on UMTS networks
  • *camera: Set default video focusmode to infinity
  • *Bionic: Aliasing problems with frexpf
  • *Browser: Browser settings are getting used before its initialization
  • *camera: Set video focus mode on startup
  • *Fix update of touch-focus and touch-aec
  • *Gallery3D: Add depth component to icon animation
  • *Add "Classic" mode to camera (mimics stock camera behavior regarding focus/shutter button)
  • *Fix sometimes mExpandedView will appear while screen transforming.
  • *Improve performance when getting styled string.
  • *Use a system property to determine mobile interfaces
  • *camera: Fix crash when attaching video to MMS.
  • *Change hide() to dismiss() to avoid memory leak.
  • *Add support for chunked encoding when downloading MMS PDUs
  • *Contacts: fix Contact icon cannot be replaced when set from gallery.
  • *Contacts: Check the parent for null in edit_delete
  • *Contacts: Handle the call event only for KeyUp event.

Kernel changes 6.0g:
  • *power: Enhanced ds2784 battery driver
  • *net: wireless: bcm4329: Use non-DFS channels only for US
  • *net: wireless: bcm4329: Improve way to detect BT SCO connection for BT-coex
  • *net: wireless: bcm4329: Update to Version 4.218.248-15
  • *sched: update "sched: automated per tty task groups" to 2010/11/18 - 2:00PM

Buy me a coffeeBuy me a coffee

저는 ThinkPad R52에 Ubuntu Linux를 설치하여 사용하고 있습니다.


ThinkPad의 좋은 점이라면 TrackPoint라고 부르는 빨콩을 사용하여 마우스 없이 편하게 컴퓨터를 사용할수 있다는겁니다.

Ubuntu에서는 기본적으로 TrackPoint의 이동이 원활하게 된다만, 가운데 버튼 누른 상태에서 움직여서 스크롤 하는게 안된다.

이런 경우엔 gpointing-device-settings를 설치하여 설정하면 된다.


studioego@studioego-laptop:~$ sudo apt-get install gpointing-device-settings


아래와 같은 명령어를 쳐서 실행하면 설정화면이 나온다.


studioego@studioego-laptop:~$ gpointing-device-settings



GPointing Device Settings


Ubuntu에서 위와같이 설정을 해주면, 가운데 버튼을 누른 상태서 TrackPoint를 이동하면 스크롤이 된다.

Buy me a coffeeBuy me a coffee

+ Recent posts