반달가면 이글루에서 백업 - http://bahndal.egloos.com/531413
우분투 서버에 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 데스크탑 환경을 구동하게 된다.
'리눅스' 카테고리의 다른 글
리눅스에서 실수에 의한 파일/디렉토리 삭제를 예방하기 위한 간단한 조치 (0) | 2023.04.19 |
---|---|
리눅스 X11 포워딩(X11 Forwarding) - ssh 접속으로 GUI 프로그램 실행하기 (0) | 2023.04.18 |
리눅스에서 현재 실행중인 프로그램을 유지한 채로 ssh 로그아웃하기 (0) | 2023.04.18 |
우분투 서버에서 최소한의 GUI 환경 구성(OpenBox) (0) | 2023.04.18 |
xdotool - 리눅스 X윈도우(X11) 기반 데스크탑에서 작업 자동화 (2) | 2023.04.18 |