'리눅스'에 해당되는 글 2건

  1. 2007/11/12 리눅스 기본 세팅 (3)
  2. 2007/10/18 QT Designer를 이용한 임베디드 QT 어플리케이션 개발
Development/Linux2007/11/12 16:05


오늘은 취향에 따른 세팅법을 간단하게 정리해 보도록 하겠습니다.
앞으로 리눅스 설치 후,
이 포스트 한번을 읽어 보는 것으로 세팅을 완료할 수 있었으면 좋겠습니다.

[1] vi의 세팅

vi는 리눅스에서 제일 자주 사용하는 에디터 입니다.
특히 오랫동안 압도적인 사용자를 확보함으로써,
모든 파일의 생성/수정/관리를 vi를 통해 하고있습니다.

세팅법 :
공통세팅은 /etc/vimrc 파일에서, 개인세팅은 홈 디렉토리의 .vimrc 파일에서 합니다.
저는 주로 취향을 고려한 개인세팅을 추구하기 때문에
홈 디렉토리 파일을 수정하도록 하겠습니다.

#vi .vimrc                                                                                                  

파일을 열고 다음과 같은 기본 세팅을 합니다.

set nu                       // 줄번호 나타내기
set autoindent            // 자동 들여쓰기
set cindent                // C 프로그래밍시 자동으로 들여쓰기
set smartindent          // 스마트 들여쓰기
set tabstop=4             // 탭 크기를 4칸으로 설정
set shiftwidth=4          // 들여쓰기를 4칸으로 설정

if has("syntax")
  syntax on             // 문법기능 사용
endif


추가적인 세팅을 원할 경우
[환상경님 네이버블로그]

[2] SSH의 세팅

SSH는 텔넷과 같은 원격 접속 터미널로 보안기능이 강화된 텍스트 터미널 입니다.
기본적으로 관련 보안세팅은 다음을 참고하세요.
[나무실님 네이버블로그]
기본세팅이 끝나면, 한글 깨짐현상에 따른 세팅을 추가적으로 해야합니다.
내용은 주로
박상현님의 블로그를 참조하였습니다.

세팅법 :
1. /etc/sysconfig/i18n을 수정
  [수정전]
  LANG="ko_KR.UTF-8"
  SUPPORTED="en_US.UTF-8:en_US:en:ko_KR.UTF-8:ko_KR:ko"
  SYSFONT="latarcyrheb-sun16"

  [수정후]
  LANG="ko_KR.eucKR"
  SUPPORTED="en_US.UTF-8:en_US:en:ko_KR.eucKR:ko_KR:ko"
  SYSFONT="latarcyrheb-sun16"

2. /etc/man.config 파일의 109라인을 수정
 
[수정전]
  PAGER           /usr/bin/less -is

  [수정후]
  PAGER           /usr/bin/less -isr
 

3. /etc/profile.d/less.sh 파일을 수정
[수정전]
  [ -x /usr/bin/lesspipe.sh ] && export LESSOPEN="|/usr/bin/lesspipe.sh %s"

  [수정후]
  [ -x /usr/bin/lesspipe.sh ] && export LESSOPEN="|/usr/bin/lesspipe.sh %s" JLESSCHARSET=euc-kr

4. 터미널을 닫고 재접속


[3] JDK 설치 및 세팅

우선 리눅스 설치시 모든 패키지를 설치하면 JDK는 포함되어 있습니다.
하지만 때론 낮은 버전을 써야할 때가 있습니다. (Embedded/Optional Package)
* 참고로 시스템에서 설치된 JDK는 공유 라이브러리 의존성 문제로 삭제가 어렵습니다.

리눅스의 JDK는 두 종류가 있습니다. SUN 社에서 리눅스 버전 JDK가 지원이 되지 않던 시절
JDK의 포팅을 위해 만들어진 블랙다운과 최근 SUN 社에서 배포하고 있는 리눅스 버전 JDK입니다. 저는 주로 Blackdown을 이용합니다.

1. 설치법 :
(1) SUN 社의 JDK
파일 다운로드 (rpm.bin 파일) 후 다음과 같이 설치합니다.

#chmod 755 자바버전.rpm.bin                                                                       
#rpm -ivh 자바버전.rpm                                                                                


(2) Blackdown 패키지
파일 다운로드(tar.bz2 파일) 후 다음과 같이 설치합니다.

#tar xvjf 자바버전.tar.bz2                                                                              

2. 세팅법 :
(1) /etc/profile 파일을 엽니다.

#vi /etc/profile                                                                                           

(2) 다음 내용을 작성합니다.

JAVA_HOME=/usr/local/java/jdk1.x.x       // jdk 설치위치
CLASSPATH=,;$JAVA_HOME
//PATH="$PATH:$JAVA_HOME/bin"         // blackdown 패키지의 경우
PATH=$PATH:$CLASSPATH

export JAVA_HOME
export CLASSPATH
export PATH


(3) /etc/profile을 활성화 합니다.

#source /etc/profile                                                                                    


[4] 이클립스 설치 및 세팅

1. 설치법 :
파일 다운로드 (zip 파일) 후 다음과 같이 설치합니다.

#unzip 이클립스버전.zip                                                                              


2. 세팅법 :
(1) /etc/profile 파일을 엽니다.

#vi /etc/profile                                                                                           

(2) 다음 내용을 작성합니다.

PATH="$PATH:설치위치"        

export PATH


(3) /etc/profile을 활성화 합니다.

#source /etc/profile                                                                                    


오늘은 여기까지 설명드리겠습니다.
기본적으로 이 정도 설치가 끝나면 왠만큼 개발 환경이 구축됩니다.

앞으로 기회가 되면 삼바세팅/VNC서버세팅/JAVA Optional Package 세팅 등
답답한 문제 상황에 대해 정리하여 포스팅하도록 하겠습니다.

급하신 분은 여길 참조하세요.
[콩콩이님 네이버 블로그] 
http://blog.naver.com/kcw2020/30002854031
[네코님 네이버블로그]      http://blog.naver.com/kul2k/10001015765

앞으로 이 포스트 하나로 리눅스 세팅을 편하게 하실 수 있었으면 좋겠습니다.

이올린에 북마크하기(0) 이올린에 추천하기(0)
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by Creatinova



Development/Linux2007/10/18 15:31


요즘 한창 임베디드 관련 개발자가 늘어나는 것 같습니다.
최근에 포스팅을 못했는데, QT관련 포스팅을 요청하셔서 이렇게 키보드를 두드리게 되네요.

환경 :
HOST PC - REDHAT FEDORA CORE 4, QT 기본설치 패키지 (Designer 포함)
EMBEDDED - QTE-3.3.3 및 LCD Calibration

:: 참고 :: 하이버스 社 홈페이지
Hybus -
http://www.hybus.net


우선 QT는 트롤테크(Trolltech)에서 개발된 임베디드용 GUI 툴킷입니다.

임베디드 리눅스 환경에서 개발이 가능한 개발 도구이며,
과거 GTK+보다는 발전된 방향으로 진화하고 있습니다.

QT의 가장 강력한 부분은 모든 플랫폼을 지향한다는 점입니다.
많은 분들이 JAVA의 VM을 떠올리실텐데요,
VM을 통해 인터프리팅을 하는 것이 아니고 개발 단계에서 GUI부분을 XML로 제작하여,
Implementation 코드로 변환하게 되는데, 그 단계에서 사용하는 프로그램이 OS마다 제공되어
같은 코드로 다른 컴파일을 통해 모든 플랫폼을 지원할 수 있도록 합니다.

사용자 삽입 이미지

제가 생각하는 QT의 개발과정은 다음과 같습니다.


[1] QT Designer를 이용하여 UI를 개발합니다.

QT Designer는 아직 IDE라기 보다는 UI 개발을 위한 어플리케이션 입니다.
물론 Windows API 코딩과 같이, 일일이 코딩을 할 수 있겠지만
UI 부분에 많은 소비를 하기 싫은 제 성격상, QT Designer를 이용하여 UI를 개발합니다.

사용자 삽입 이미지


특히 QT Designer는 Signal/Slot의 정의가 가능하기 때문에
기본적인 위젯을 정의하고 Slot을 정의하고 Signal과 Connect 시킵니다.

개발한 UI는 *.ui라는 파일형식을 가지며 XML 형식으로 저장됩니다.
(Slot에 관련된 부분은 *.ui.h에 저장됩니다.)
최종 UI 디자인이 끝나면 XML로 저장된 *.ui 파일은 UIC라는 어플리케이션을 이용하여 헤더파일과 소스파일로 변환합니다.

:: 참고 :: QT Designer를 이용한 UI 개발
ResetBrain -
http://blog.naver.com/resetbrain/90009895055


[2] 추가 코딩이 필요한 부분(특히 RS232 관련 부분)이 있기 때문에 중간단계인 Implmentation Code를 생성합니다.

#uic form.ui > form.h
#uic -subdecl FormImpl form.h form.ui > formimpl.h
#uic -subimpl FormImpl formimpl.h form.ui > formimpl.cpp


이후 자신이 편한 Development Tool을 이용하여 개발을 수행합니다.
저는 기본적인 코딩은 VI 에디터에서 추가적인 코딩은 QT Designer에서 불러와서 수행하였습니다.

목적에 맞는 코딩을 수행한 후에 Makefile을 만들기 위해서는 추가적으로 main.cpp 파일과 Form.pro 파일이 필요합니다.

main.cpp는 현재 정의된 QT 클래스인 FormImpl의 생성자를 호출하여 객체를 만들고 제어권을 QT로 넘기는 작업을 수행합니다. main.cpp 파일 코딩은 QT 관련 문서가 많으니 참고하시고 개발하시면 됩니다.
Form.pro 파일은 Implementation 코드와 main 코드를 헤더파일과 소스파일에 선언한 파일입니다.


#vi Form.pro

TEMPLATE = app
CONFIG = qt_warn_on release
HEADERS = formimpl.h
SOURCES = main.cpp formimpl.cpp
INTERFACES = form.ui
TARGET = form



[3] 생성된 파일을 이용하여 Makefile을 제작합니다.

요즘에는 Makefile을 만들기 위하여 주로 TMAKE를 사용합니다만, 저는 XHYPER-255B를 구입한 HYBUS 社에서 제공한 QMAKE를 이용하여 Makefile을 만들었습니다.

#qmake - spec $QTEDIR/mkspecs/qws/linux-ipaq-t++/ -o Makefile Form.pro



[4] 만들어진 Makefile을 이용하여 컴파일하고 실행합니다.

#make
#./form -qws


QT Designer를 사용하려면 기본적으로 QT에 관련한 지식을 아셔야만 합니다.
아직까지 QT관련하여 서적도 부족하고, 정보도 부족하지만
조금만 공부하신다면 금방 익히실 수 있을 것입니다.

:: 참고 :: QT 관련 동영상 무료강좌
안양지식산업교육원 -
http://www2.k-center.or.kr/07-online/sub_list.asp?page=1&query=&search=&c_bul=lecture&c_id=1

오늘도  간단한 이 포스팅이 도움이 되었으면 합니다.



* 질문답변 및 참고
(1) uic를 실행하면, 기존 구현한 추가코딩 파일이 새 것으로 대치되므로 UI를 수정하려면 formimpl.h, formimpl.cpp 파일을 백업한 후 실행하셔야 합니다.

(2) 하이버스 社에서 제공한 qmake를 이용하고, form.h를 열어보면 include 부분이 class XX;로 처리되어 있습니다.
추가코딩을 할 때 formimpl.cpp에서 위젯을 참고하려면 소스를 바꿔주어야 합니다.
따라서 추가코딩을 하지 않은채로 [1]~[4]과정을 수행한 후, 생성된 form.cpp 부분에서
위젯의 inclue 부분을 잘라내어, form.h의 class XX;로 선언된 부분을 삭제하고 붙여줍니다.
make clean을 실행하면, form.cpp와 form.h가 삭제되니, 추가 코딩이후에는 make만을 실행하면 됩니다.

이올린에 북마크하기(0) 이올린에 추천하기(0)
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by Creatinova