HotFoxy
불여우의 전직 이야기
게임 서버 개발자가 되어 보죠!
전체 방문자
오늘
어제
  • 분류 전체보기 (135)
    • 연구한 이야기 (26)
      • 깊게 공부해보기 (7)
      • 문제 해결 이야기 (12)
      • 맡은 업무 이야기 (6)
    • 전직 이야기 (0)
      • 1년이라는 시간 (5)
      • 프로카데미 이야기 (5)
    • 공부한 이야기 (87)
      • 알고리즘 (7)
      • 리눅스 (11)
      • 클라우드 (24)
      • 윈도우 OS (17)
      • 윈도우 소켓 프로그래밍 (11)
      • 네트워크 (16)
      • Docker & K8S (0)
      • 기타 (1)
    • 자격증 이야기 (12)
  • MSB : Mad Square's Brawl
  • GITHUB

인기 글

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
HotFoxy

불여우의 전직 이야기

리눅스 - X-Windows
공부한 이야기/리눅스

리눅스 - X-Windows

2022. 8. 24. 17:20

X-Windows

리눅스 환경의 각종 어플리케이션과 유틸리티에 대해 GUI를 제공한다

출현배경

  • Athena 프로젝트
    • IBM, MIT, DEC Athena 프로젝트를 통해서 X-윈도우를 처음으로 개발
    • X11 발표
  • x컨소시엄
    • 1988년 여러 컴퓨터 제조업체로 구성
    • x11r2에서 x11r6까지 발표
  • 오픈 그룹
    • 1996년 오픈소프트웨어 재단과 x/open 으로 형성된 그룹
    • x11r6.4 발표
  • X.org
    • 1999년 오픈 그룹을 기반으로 x.org 재단이 만들어짐
    • x11r6.8 발표

특징

  • 네트워크 기반의 그래픽 환경 지원
  • 이기종 시스템 사이에서도 사용 가능
  • 네트워크 프로토콜 기반의 클라이언트/서버 시스템
  • 서버는 클라이언트들간의 자원 공유, 메시지 전달, 입출력 기기와의 중계 담당

구성요소

이름 설명
XProtocol X서버와 클라이언트 사이의 메시지 타입, 메시지 교환 방법을 규정
request, response, error, event 로 구성된다.
Xlib C나 Lisp 언어로 만든 XProtocol 지원 클라이언트 라이브러리
XCB Xlib을 대체하기 위한 클라이언트 라이브러리
크기가 작고 단순하며 확장성이 뛰어나다.
Xtoolkit Xlib로 GUI 부품 개발 시의 비효율성 해결을 위한 구성요소
widget과 Xt Intrinsic을 포함한다.
XFree86 인텔 X86계열의 유닉스 운영체계에서 동작하는 X서버
XF86Config XFree86 설정 파일
/etc/X11 또는 /usr/X11R6/lib/X11 에 파일이 위치한다.

/etc/inittab

init 프로세스가 읽는 파일로서, init 프로세스가 무엇을 해야 할 것인가를 정의한다.

이름 : 런레벨 : 옵션 : process -옵션
  • 리눅스 사용 환경을 초기화한다
  • 파일 시스템을 점검한다
  • 서비스 프로세스를 관리한다
  • 가상 콘솔을 관리한다
  • 실행 level을 관리한다.
    • 3 : CUI에 의한 다중 사용자 모드
    • 5 : GUI에 의한 다중 사용자 모드

X-Window 실행

그래픽 환경이 아닌 터미널 윈도우로 로그인한 경우에는 몇 개의 프로그램을 실행해야 한다.

$ startx -- [인자값]
  • 리눅스 사용 환경을 초기화한다
  • 파일 시스템을 점검한다
  • 서비스 프로세스를 관리한다
  • 가상 콘솔을 관리한다
  • 실행 level을 관리한다.
    • 3 : CUI에 의한 다중 사용자 모드
    • 5 : GUI에 의한 다중 사용자 모드
기능 키조합

터미널 변경 : Ctrl + Alt + F1~F4

X-Windows 상태 전환 : Ctrl + Alt + F7

X-Windows 강제 종료 : Ctrl + Alt + BackSpace


환경변수 DISPLAY

이를 이용하면 현재 X-Window Display 위치를 지정할 수 있다.

$ export DISPLAY=IP주소:디스플레이번호.스크린번호

윈도우 매니저

윈도우 매니저는 X-Windows 상에서 창의 배치와 표현을 담당하는 시스템 프로그램이다.

라이브러리로 Xlib 와 XCM 을 사용한다.

윈도우 매니저 특성
fvwm twm 에서 파생됨
안정적이고 일반화됨
Virtual Window Manager 로서 실제로 가상 데스크톱을 지원
twm 초창기의 창 관리자
xlib을 사용하며 텍스트 형식
AfterStep fvwm을 기반으로 만들어짐
넥스트스텝의 GUI와 유사한 사용자 인터페이스를 제공
Window Maker 유닉스 계열 운영 체제에서 실행할 수 있음
GNU 데스크톱을 지원하며, GNOME과 KDE에 통합됨
BlackBox 넥스트스텝의 인터페이스를 기반으로 하는 윈도우 매니저
kwm KDE 1.x의 기본 윈도우 매니저
Enlightment GNOME의 기본 윈도우 매니저

데스크톱 환경

GUI 사용자에게 제공하는 인터페이스 스타일로서 Desktop Manager 이다.

윈도우 매니저, 파일 관리자, 도움말, 제어판 등 다양한 도구를 제공하는 패키지 형태의 프로그램니다.

  • KDE
    • 노키아의 QT 툴 킷을 기반으로 한다.
    • UNIX/Linux, Solaris, IRIX, FreeBSD 등에서 실행된다.
    • kate, Konquerer, Kwin 등이 사용 툴이다.
  • GNOME
    • GNU Network Object Model Environment
    • GTK+ 라이브러리를 기반으로 한다.
    • BSD 와 GNU/리눅스에 포함하여 배포되고 있다.
    • gedit, Web, Nautilus, Mutter, Metacity 등이 사용 툴이다.
  • LXDE
    • Light X11 Desktop Environment
    • 창 관리자로 Openbox, 툴 킷으로 GTK 2 를 사용하고 있다.
    • 빠른 성능, 에너지 절약, 가벼운 데스크톱 환경이기에 모바일 디바이스에 특화되었다.
  • xfce
    • XForums Common Environment
    • 유닉스 계열을 위한 자유 소프트웨어 테스크톱 환경이다.
    • GTK+2 툴킷을 기반으로 한다.
    • Xfwm 윈도우 매니저를 사용한다.

디스플레이 매니저

X window system 상에서 작동하는 프로그램이다.

로컬 또는 리모트 컴퓨터의 X server 접속과 세션 시작을 담당한다.

사용자에게 그래픽 로그인 화면을 띄워주고 아이디 패스워드 기반의 인증을 진행한다.

디스플레이 매니저 기능
xdm X Display Manager
현재 거의 사용되지 않는다.
dtlogin 유닉스 테스크톱 환경인 CDE에서 디스플레이 매니저로 사용
호환성을 위해 motif 라이브러리만 유지보수된다.
kdm KDE Display Manager
gdm GNOME Display Manager

X-Window 활용

xhost

X 서버에 접속할 수 있는 클라이언트를 지정하거나 해제한다.

X 서버에게 디스플레이를 요청 시 해당 요청에 대해 허용 여부를 호스트 단위로 제어한다.

$ xhost [+|-] [IP|도메인명]
옵션

+ : 접속을 허용

- : 접속을 금지


xauth

.Xauthority 파일의 쿠키 내용을 추가, 삭제, 리스트를 출력하는 유틸리티이다.

xhost 는 호스트 기반의 인증 방식이며, xauth 는 MMC 방식의 인증 방식을 사용하기 위한 유틸리티이다.

  • .Xauthority 파일에는 응용 프로그램이 실행될 표시장치에 대한 매직 쿠키 가 있어야 한다.
  • 이 매직 쿠키는 MIT-MAGIC-COOKIE-1 이라는 쿠키값을 가진다.
$ xauth [옵션]
옵션

list [표시장치명] : 현재 사용되는 모든 쿠키값 리스트 확인

add : 지정된 프로토콜 및 키를 지정된 표시장치에 권한 부여


X-Window 응용 프로그램

프로그램 설명
LibreOffice 오피스 프로그램 패키지
- Writer : 문서 작성기
- Impress : 프레젠테이션
- Calc : 스프레드시트
- Draw : 드로잉 프로그램
gedit 텍스트 편집 프로그램
kwrite KDE 기반의 텍스트 편집기
GIMP 이미지 편집 프로그램
ImageMagick 이미지의 생성 및 편집을 지원하는 프로그램
eog GNOME의 이미지 뷰어
kolourpaint Ubuntu 이미지 편집 프로그램
gThumb GNOME 데스크톱 이미지 뷰어 프로그램
gwenview KDE의 기본 이미지 뷰어
Totem GNOME 기반의 사운드 및 비디오 재생 프로그램
RHYTHMBOX 통합형 음악 관리 프로그램
CHEESE GNOME 기반의 카메라 동영상 프로그램
Eclipse 통합 개발 환경 IDE
Dolphin KDE용 파일 괸리자
Konqueror가 웹 브라우저와 파일 관리자의 역할을 수행한다.
KSnapshot 스크린샷 프로그램

저작자표시 (새창열림)

'공부한 이야기 > 리눅스' 카테고리의 다른 글

리눅스 - 응용 분야  (0) 2022.08.24
리눅스 - 네트워킹  (0) 2022.08.24
리눅스 - 주변기기  (0) 2022.08.21
리눅스 - 소프트웨어 관리  (0) 2022.08.21
리눅스 - 에디터  (0) 2022.08.21
    '공부한 이야기/리눅스' 카테고리의 다른 글
    • 리눅스 - 응용 분야
    • 리눅스 - 네트워킹
    • 리눅스 - 주변기기
    • 리눅스 - 소프트웨어 관리
    HotFoxy
    HotFoxy
    1년 동안의 고군분투 전직 이야기! ..가 완료되어, 게임개발자로 살아남는 이야기!

    티스토리툴바