본문 바로가기

4.개발 및 운영 환경

Xming에서 Xwindow 설정과 eclipse 실행

여기서는 전체 설정을 다루지는 않고 Xwindow에서 창 모드로 실행하는 경우를 살펴보겠다. 즉, XDM이나 GDM 등으로 전체 윈도즈를 사용하는게 아니라 필요한 윈도우 하나만 뛰우기 위한 것이다.

설치하기

Xming을 설치한다.

설정하기

그리고 환경설정이 필요하다. 직접 접속해서 창 모드로 뛰우는 경우는 Xming에서는 접근 제한을 한다.
이때 설정하는 파일이 X0.hosts이다. 이 파일에 자신이 원격으로 실행되는 Xwindow 시스템의 ip 주소를 입력한다.
그리고 Xming이 실행되고 있다면 다시 재 실행한다.
Xwindows 시스템에서는 추가로 작업이 필요할 수 있다. XDM 등을 사용하는 경우 윈도우 시작할 때 자동으로 쿠키를 생성해서 암호화를 하지만 XDM을 사용하지 않은 경우 생성되지 않는다고 한다. 이를 위한 다음 명령이 필요하다.
먼저 DISPLAY을 설정한다. 이 값은 Xming이 동작 중인 시스템이다.
본인은 .bashrc라는 파일에 넣었다. 다른 분들은 자신의 시스템 환경에 맞춰서 설정하면 된다.

export DISPLAY=x.x.x.x:0.0

제가 사용하는 쉘이 본쉘이기에 위와 같이 설정했다. 이제 MAGIC-COOKIE을 생성할 차례이다.

xauth generate $DISPLAY .
xauth -i -f ~/.Xauthority list

"."은 MIT-MAGIC-COOKIE-1을 의미한다.
그리고 잘 되지 않는다면 Xming인 경우는 Xming아이콘에서 RMB을 누르면 "View Log" 메뉴를 선택하면 된다.
"client 3 rejected ..."라는 메시지가 보인다면 X0.hosts를 설정하지 않은 문제이다.
그리고 Xwidnow시스템에서는 쿠키까지 잘 생성되었는데 "no protocol specified"가 보이는 경우도 X0.hosts에 등록하지 않은 경우도 있다.

그냥 Eclipse 뛰우기

원격에서 eclipse으로 개발할 경우 굳이 xwindow을 설치하지 않고 xwindows용 프로그램만 뛰우고 싶을 경우가 있다. 그때 xming을 사용하는데, xwindow가 설치되지 않았다면 라이브러리 오류로 실행이 안된다.
eclipse을 실행하는 경우가 마찬가지. eclipse가 실행할 때 필요한 xwindow용 라이브러리가 libgtk이다.
데비안이면

apt-cache search libgtk*

라이브러리를 검색하면 "libgtk2.0-0"가 있을 것이다. 이를 설치하면 된다. 다른 플랫폼이라면 해당 라이브러리가 들어있는 패키지를 찾아서 설치하면 된다.
실행시 발생하는 오류는 configuration 디렉토리에 있는 *.log 파일을 살펴보기 바란다.

Network Issue

간혹 네트워크 문제로 오류가 발생할 가능성이 있다. 무슨 말이냐면, NAT환경에서 사용할 경우 접속이 불가하다.
이는 시스템이 NAT이 있고 로컬 PC가 다른 네트워크에 있다면 xming인 xwindow server로 접속하는 방향이기 때문에 NAT 환경에서 접속이 안될 가능성이 있다. 그때 eclipse가 실행할 경우 다음과 같은 에러 메시지가 보일 수 있다.

(eclipse:13808): GLib-GObject-WARNING **: invalid (NULL) pointer instance
(eclipse:13808): GLib-GObject-CRITICAL **: g_signal_connect_data: assertion `G_TYPE_CHECK_INSTANCE (instance)' failed

이때에는 네크워크 관리자에게 요청을 해야 한다.

Too large dialog

xming + eclipse 조합으로 사용할 경우 갑자기 Search dialog, Find/Replace dialog, Debug Configurations dialog 등이 갑자기 화면 가득 보이는 경우가 발생한다.
이 원인은 물론 버그로 인한 문제로 근본적인 해결은 힘들 듯 하다. 구글링해도 명확한 답변이 없고 제대로 수정하려면 XMing에 기부하여 수정하도록 만들수 밖에 없다는 듯 하다.
그래도, 임시방편으로 해결할 수 있는 방법이 다음과 같다.

http://superuser.com/questions/300555/problem-with-resizing-subwindows-in-eclipse-xming-combination에서 참조한 내용으로 직접 eclipse의 실행 환경에서 dialog 크기를 조절하는 옵션을 수정하는 것이다.
일단 eclipse을 종료하고 작업할 workspace로 이동한다. workspace 안에 .metadata라는 디렉토리 안에 .plugins 디렉토리로 이동한다. 그 밑에 각종 dialog에 대한 설정 정보가 저장되어 있다. 우리가 원하는 것은 dialog의 크기이다.
grep을 이용하여 WIDTH나 HEIGHT로 검색을 한다. 그러면 해당 xml파일이 검색될 것이다. 해당 파일에서 WIDTH와 HEIGHT로 검색하여 적당한 값을 수정하면 된다.

$ cd workspace/.metadata/.plugins
$ grep WIDTH */*.xml
.....

내가 수정한 값은 다음과 같다.

Debug Configurations dialog

  • 파일명: org.eclipse.debug.ui/dialog_settings.xml
  • 항목: org.eclipse.debug.ui.LAUNCH_CONFIGURATIONS_DIALOG_SECTION
  • 설정값:
    • "DIALOG_WIDTH": 800
    • "DIALOG_HEIGHT": 600

Search dialog

  • 파일명: org.eclipse.search/dialog_settings.xml
  • 항목: DialogBounds_SearchDialog
  • 설정값:
    • "DIALOG_WIDTH": 800
    • "DIALOG_HEIGHT": 600

크기는 자신의 해상도에 맞게 적당히 수정하면 된다. 그리고 위의 파일이나 항목은 없을 수도 있다. grep을 이용한 정보를 바탕으로 수정해야한다.
다른 방법으로 간단하게 현재 .metadata 디렉토리를 삭제하거나 이동하여 다시 eclipse을 실행한다.
당연히 .metadata가 삭제되었기 때문에 project 정보나 기타 eclipse에서 설정한 정보는 모두 사라지게 된다.
eclipse을 잘 알고 있다면 이전 .metadata에서 원하는 설정정보만 가져다가 사용할 수도 있지만, 필자는 포기하고 걍 쓰려고 한다. ㅡ.ㅡ;

Change font

eclipse의 기본 폰트는 한글을 보기에 적합하지 않다. 그럼 폰트를 설치하고 설정해보자. 본인은 2가지 폰트를 사용한다. 일반 다이얼로그용 폰트와 개발용 폰트이다. 개발용 폰트는 입맞에 딱맞는게 없다. 그러나 네이버 개발자 폰트가 무난하기에 이를 추천한다. 다이얼로그용 폰트는 네이버 사전체이다. 가장 글꼴이 많고 풍부해서 대부분의 글자는 무난하게 표새한다. 모양은 그냥 볼만하다. D2Coding 체도 추가했다. 영문과 한글 조화가 부드럽다.

네이버 사전체: http://cndic.naver.com/static/fontInstall (http://cdn.naver.com/naver/dic/naverdic.tgz)

네이버 개발자 폰트: http://dev.naver.com/projects/nanumfont (http://dev.naver.com/projects/nanumfont/download/441?filename=NanumGothicCoding-2.0.zip)

네이버 D2 Coding: http://dev.naver.com/project/d2coding

설치순서

  1. 먼저 truetype 디렉토리에 포트 저장할 적당한 디렉토리(korea)를 만들어서 복사한다.

    mkdir /usr/share/fonts/truetype/korea
    cp \*.ttf /usr/share/fonts/truetype/korea/
  2. 복사한 폰트를 다시 읽어들인다.

    fc-cache -r

eclipse에 폰트 설정

  1. eclispe의 기본 폰트 설정
    1. Window > Preferences > General > Apperance > Colors and Fonts 에서
    2. "Dialog Font"를 네이버 사전체로 설정한다. 크기는 11pt가 적당하다.
    3. "Test Font"는 나눔 고딕 코딩체로 설정한다. 역시 11pt가 적당하다.
  2. Menu 폰트를 변경위해 gtk 관련 설정(~/.gtkrc-2.0) 파일에 아래 설정 추가.
    1. gtk-font-name="Naver Dictionary 11"
  3. eclipse 재시작

eclipse의 메뉴는 gtk를 사용하는 경우 gtk에 대한 환경설정을 변경해야 한다. 이는 전체 gtk 어플리케이션에 적용되는 내용이다. 간혹 메뉴의 글꼴이 깨지는 경우가 있다. 이럴 때에는 .gtkrc-2.0에서 "Naver Dictionary 10"으로 폰트 크기를 변경해줘야 한다.

History

  • 2013.12.24 eclipse에 폰트 설정 관련 내용 추가.

2012-01-09 ospace.

반응형