우분투 서버에서 로그인후 자동으로 GUI 데스크탑 환경(X윈도우) 시작하기 리눅스

우분투 서버에 GUI 데스크탑 환경을 설치했을 경우, 로그인했을 때 자동으로 GUI 데스크탑 환경을 시작하게 만드는 방법이다. (우분투 서버에서의 GUI 데스크탑 환경 설치는 이전 게시물을 참고하자.)

홈 디렉토리의 .profile 파일에 X윈도우 시작 명령을 추가하면 되는데, 원격에서 ssh 접속을 할 경우와 직접 로그인하는 경우를 구분해 주어야 한다. ssh 접속에서는 X윈도우가 실행되지 않아야 되기 때문이다.

.profile 파일을 편집하자.

vi ~/.profile

파일 맨 아래에 아래와 같은 내용을 추가한다.

if [[ -z $DISPLAY ]] && [[ `tty` = "/dev/tty1" ]]
then startx
fi

 
위의 내용을 간단하게 설명하자면 이렇다.

X윈도우가 구동되면 DISPLAY 변수값이 정의된다. X윈도우가 구동되지 않은 상태라면 해당 변수값이 정의되지 않았으므로, 변수값의 길이는 0이 될 것이다. if 구문에서 -z 옵션은 문자열의 길이가 0인 경우에 참(true) 이 된다.

# GUI 데스크탑의 터미널창에서 DISPLAY 변수 확인 예시 - :0.0 이런 식으로 출력된다.
echo $DISPLAY
:0.0

원격에서 ssh 접속한 것이 아니라 직접 로그인했다면 콘솔 ID가 tty1이다. 즉, tty 명령을 실행한 결과가 /dev/tty1이 된다.

# ssh 접속후  tty 확인 예시 - /dev/pts/번호  이런 식으로 출력된다
tty
/dev/pts/4

로그인했을 때 .profile 실행과정에서 $DISPLAY 변수가 정의되지 않았고 콘솔 ID가 /dev/tty1이면, 직접 로그인한 것이고 X윈도우가 구동되지 않은 상태인 것이므로 startx 명령으로 GUI 데스크탑 환경을 구동하게 된다.



덧글

  • jklin 2014/12/21 12:45 # 답글

    이런 깔끔한 방법이 있었군요.
  • 반달가면 2014/12/21 22:21 #

    네. .profile에 스크립트 세줄만 추가하면 됩니다.
댓글 입력 영역
* 비로그인 덧글의 IP 전체보기를 설정한 이글루입니다.

Google Analytics


B-Side


adsense(w160_h600)2

통계 위젯 (화이트)

1431045
3392
1828171

ad_widget_2