<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=euckr">
<TITLE>KDE2의 시작과정</TITLE>
</HEAD>
<BODY LINK="#000080">
<FONT FACE="Arial Unicode MS" SIZE=5 COLOR="#000000"><P ALIGN="CENTER">KDE2</FONT><FONT FACE="Arial Unicode MS" LANG="J
A" SIZE=5 COLOR="#000000">의</FONT><FONT FACE="Arial Unicode MS" SIZE=5 COLOR="#000000"> </FONT><FONT FACE="Arial Unico
de MS" LANG="JA" SIZE=5 COLOR="#000000">시작</P> </FONT><FONT FACE="Thorndale" COLOR="#000000"><P ALIGN="RIGHT">01</FO
NT><FONT FACE="굴림" LANG="KO" COLOR="#000000">년</FONT><FONT FACE="Thorndale" COLOR="#000000">8</FONT><FONT FACE="
굴림" LANG="KO" COLOR="#000000">월</FONT><FONT FACE="Thorndale" COLOR="#000000">15</FONT><FONT FACE="굴림" LANG="KO
" COLOR="#000000">일</P> <P ALIGN="RIGHT">서영진</FONT><FONT FACE="Thorndale" COLOR="#000000"><</FONT><A HREF="mailt
o:yjseo at mizi.com"><FONT FACE="Thorndale">yjseo at mizi.com</FONT></A><FONT FACE="Thorndale" COLOR="#000000">></P> </FONT><F
ONT FACE="Arial Unicode MS" LANG="JA" COLOR="#000000"> <P> </P> </FONT><FONT FACE="굴림" LANG="KO" COLOR="#000000"><
P>KDE2에 기반한 어플리케이션을 KDE가 아닌 환경에서 실행할 경우 처음 시작시 굼뜬 반응을
보이며 또한 터미날에서 실행하면 많은 디버깅 메세지가 나오는 것을 볼 수 있다. 이 이유
는 KDE2의 구조와 밀접한 관계가 있다. 이 글에서는 KDE2 시작시 일어나는 작업에 대한 분석
과 KDE2의 전체 구조와의 관계에 대해 알아본다.</P> <P>우선 KDE2 전체를 실행하지 않고 KDE2
어플리케이션을 시행해보기로 하자. 윈도우 메이커나 GNOME을 사용하는 사름은 konqueror를 실
행하면 된다. 필자의 경우 KDE2를 사용하고 있기 때문에 다른 스크립트의 간섭을 받지 않기
위해 $HOME/.xinitrc에서 터미날만을 실행한 후 그 터미날에서 konqueror를 실행하였다. 그후 ps
명령을 살펴본 결과 다음과 같은 명령이 실행된 것을 알 수 있었다. 단지 konqueror를 실행했
을뿐이데 같이 실행된 프로세서들을 어디에서 왜 실행되었으며 또한 이 프로세서들은 어
떤 역활을 하는 것일까?</P></FONT> <TABLE BORDER CELLSPACING=1 BORDERCOLOR="#000000" WIDTH=694> <TR><TD VALIGN="
TOP"> <FONT FACE="굴림" LANG="KO" COLOR="#000000"><P>Kdeinit: dcopserver</P> <P>kdeinit: klauncher</P> <P>kdeinit: kde
d</P> <P>kdeinit: kio_file</P> <P>konueror</FONT></TD> </TR> </TABLE> <FONT FACE="Arial Unicode MS" LANG="JA" COLOR="#0
00000"> </FONT><FONT FACE="굴림" LANG="KO" COLOR="#000000"><P>KDE2는 startkde 스크립트로 실행한다. 이 파
일을 편집기로 열어보기로 하자. 임시 파일을 깨끗이 한다던가 심볼릭 링크를 만들다던가
하는 잡다한 일들을 하는 것을 알 수 있다. 이런 잡다하고 어떻게 보면 꼭 필요하지 않은
일을 제외하면 다음과 같은 KDE 명령어를 실행하는 것을 알 수 있다.</P></FONT> <TABLE BORDER CELLS
PACING=1 BORDERCOLOR="#000000" WIDTH=694> <TR><TD VALIGN="TOP"> <FONT FACE="굴림" LANG="KO" COLOR="#000000"><P>ksplash
</P> <P>kdeinit +kcminit</P> <P>knotify</P> <P>ksmserver -restore</FONT></TD> </TR> </TABLE>
<FONT FACE="Arial Unicode MS" LANG="JA" COLOR="#000000">
</FONT><FONT FACE="굴림" LANG="KO" COLOR="#000000"><P>ksplash는 KDE2의 초기화시 나타는 창을 실행하는
것이고, knotify는 소리 파일을 연주하는 데몬 실행 파일이다. 그리고, 이름에서 알수 있듯이
ksmserver는 그 전에 저장되었던 세션을 복원해 주는 부분이다. 그렇다면 정체를 알 수 없는
프로세서들을 kdeinit 명령에서 실행된 것이다. kdeinit의 명령의 도움말과 소스를 살펴본 결
과 kdeinit는 스스로 dcopserver와 klauncher, kded를 실행하도록 되어있었다.</P> <P>이들 프로세서
들의KDE2의 전체 구조의 역활에 대해 알아 보자. KDE2의 특징으로는 다음과 같은 사항을 들
수 있다. KDE2의 전체 특징에 관해서는 다른 문서를 참고하기로 하자.</P> <OL> <LI>DCOP을 사용
한 데이타 통신</LI> <LI>SYCOCA를 사용한 설정 파일들 관리</LI> <LI>KIO를 이용한 입출력</LI> <LI>
컹커러 브라우저</LI> <LI>Kparts 오브젝트 구조</LI></OL> <P>이 중 dcopserver와 klauncher는 KDE2 어플
리케이션에게 DCOP 서비스를 하기 위해 필요한 프로세스들이며, kded는 설정 파일들을 제켜
보다가 설정 파일의 변화가 있을 경우 SYCOCA데이타베이스를 갱신하는 역활을 한다. 따라
서 kdeinit의 역활은 KDE2 어플려케이션과의 데이타 교환과 각 어플리케이션의 설정을 초기화
한다고 할 수 있다.</P> <P>이런 작업을 먼저 수행한 후 실제 KDE2 어플리케이션이 실행될 수
있는 것이다.</P> </FONT><FONT FACE="Arial Unicode MS" LANG="JA" COLOR="#000000"></FONT></BODY> </HTML>--잘 나올
까?