프린터 인쇄 시스템
LPRng(Line Printer next gegeration)
- 리눅스 초기에 많이 사용됨
- 라인 프린터 데몬 프로토콜을 이용해서 프린터 스풀링과 네트워크 프린터 서버를 지원
- 설정 파일: /etc/printcap
CUPS(Common Unix Printing System)
- 애플이 개발한 오픈 소스 프린팅 시스템
- HTTP 기반 IPP(Internet Printing Procotol) → 인터넷을 통해 프린터를 지원
- 사용자 및 호스트 기반의 인증 제공
- 데몬 이름: cupsd
- 설정 파일 디렉터리: /etc/cups
프린터 설정
- 로컬 접속과 네트워크 프린터 설정 2가지 방법 존재
- 네트워크 프린터 설정 방법
사운드 카드 시스템
OSS(Open Sound System)
- 리눅스 및 유닉스 계열에서 사운드를 만들고 캡쳐하는 인터페이스
- 표준 유닉스 장치 시스템 콜(POSIX read, write, ioctl 등) 기반
- 현재는 OSS보다 ALSA로 대체
ALSA(Advanced Linux Sound Architecture)
- 사운드 장치 드라이버 제공을 위한 리눅스 커널 요소
- 사운드 카드를 자동으로 구성하고, 다수의 장치를 관리하는 것이 목적
- OSS를 기반으로 하여 하드웨어 기반 미디어 합성, 다중 채널 하드웨어 믹싱, 전이중 통신 등의 기능 제공
- 환경 설정 파일: /etc/asound.state
SANE(Scanner Access Now Easy)
- 스캐너, 비디오 캠 등 이미지 관련 하드웨어를 제어하는 API
- 멀티 OS 지원
- SCSI 스캐너: /dev/sg0, /dev/scanner
- USB 스캐너: /dev/usb/scanner, /dev/usbscanner
XSANE(X based Interface for the SANE)
- SANE 스캐너 기반의 X-윈도우 기반 스캔/이미지 수정 프로그램
- 스캔 작업 뿐 아니라 캡쳐한 이미지 수정 작업도 가능
- gpl 라이센스, 멀티 OS 지원
장치 활용 명령어
프린트 명령어
- lpr <옵션> [파일명]: 프린터 작업 요청
- lpq <옵션>: 프린터 큐의 작업 목록 출력
- lprm <옵션>: 큐에 대기 중인 작업 삭제
- lpc: 라인 프린터 컨트롤 프로그램
- 프린터 상태 확인
- 큐 활성화/비활성화
- 큐의 작업 순서 변경
System V 계열 프린트 명령어
- lp <옵션> [파일명]: 프린터 작업 요청
- cancal [ReqID]: 프린터 작업 취소
- -a: 모든 작업 취소
- lpstat <옵션>: 프린터 큐 상태 확인옵션 기능
사운드 카드 명령어
- alsactl <옵션> [명령]: ALSA 사운드 카드 제어
- alsamixer: ncurses 라이브러리 기반 오디오 프로그램
- cdparanoia <옵션>: 오디오 CD 음악 추출
스캐너 관련 명령어
- sane-find-scanner <옵션> [장치명]: SCSI 스캐너와 USB 스캐너 관련 장치 파일을 찾음
- scanimage <옵션>: 이미지 스캔
- scanadf <옵션>: 자동 문서 공급 장치가 장착된 스캐너에서 여러 개의 사진을 스캔
- xcom: GUI 기반으로 평판 스캐너나 카메라로부터 이미지를 스캔
X-윈도우 개요
개념
- 리눅스 환경의 각종 애플리케이션과 유틸리티에 대해 GUI를 제공
- 플랫폼과 독립적으로 작동하는 그래픽 시스템
- x-윈도우는 X11, X, X 윈도우 시스템이라고도 부름
- 오픈 데스크톱 환경: KDE, GNOME, XFCE
특징
- 네트워크 기반의 그래픽 환경을 지원
- 이기종 시스템 사이에서도 사용 가능
- 스크롤바, 아이콘, 색상 등 그래픽 환경 자원들이 통일되어 있지 않음
- 디스플레이 장치에 의존적이지 않으며 원하는 인터페이스 설정 가능
네트워크 기반 클라이언트/서버 시스템
- 서버: 클라이언트의 디스플레이 접근 제어, 클라이언트 간 자원 공유, 메세지 전달, 클라이언트와 입출력 장치의 중계
- 클라이언트: 어플리케이션을 이용하여 X 서버의 기능 이용
구성요소의 종류
- windows manager: 창 크기나 색상 조절 등 GUI 관련 처리 담당
- display server ↔ client libraries: 통신 데이터는 display server protocol로 제어
- client libraries는 다양한 toolkit을 활용해서 작업을 처리함
- Xfree86
- display 서버를 지원해주는 라이브러리/프로토콜의 일종
- X86 계열의 X서버 프로그램. 무료
- XF86Config
- XFree86 설정 파일 담당
- 폰트, 키보드, 마우스, 비디오 카드 등의 색상 정보를 설정 가능
- Xlib
- 저수준 클라이언트 라이브러리
- 윈도우 생성, 이벤트 처리, 창 조회, 키보드 처리 등의 기능 제공
- XCB: Xlib보다 향상된 쓰레드, 확장성 제공
- X 프로토콜: Xlib, Xtoolkit 인터페이스 사용
- Xtoolkit: 고급 레벨의 GUI 생성 가능, Widget과 Intrinsic 지원
X-윈도우의 설정과 실행
- 윈도우 설정
- init 프로세스 시 /etc/inittab 파일을 읽어 리눅스 환경 환경을 초기화함
- 파일 시스템 점검, 서비스 프로세스 관리, 가상 콘솔 관리, 런 레벨 관리
- 윈도우 실행(startx -- [인자값])
- 터미널 윈도우로 로그인하고 그래픽 환경으로 전환하고자 하는 경우 실행
- 인자값 입력 시 여러 개의 x윈도우 프로그램 구동 가능
- startx는 x윈도우를 실행하는 스크립트로, 시스템 환경을 초기화하고 xinit을 호출함
- DISPLAY 환경 변수
- X 윈도우의 display 위치 지정
- export DISPLAY=[IP]:[DISPLAY 번호],[스크린번호]
X-윈도우 매니저
x 윈도우 운영 시에는 다양한 관리자 프로그램들이 필요하다. 일반적으로 윈도우 매니저, 데스크톱 매니저, 디스플레이 매니저로 구분된다. 가장 핵심은 데스크톱 매니저이며, 데스크톱 매니저를 기반으로 윈도우와 디스플레이 매니저가 활성화되어 사용된다.
윈도우 매니저
- 창의 배치와 표현을 담당하는 프로그램
- XLib와 XCB 라이브러리를 사용
- 리눅스에서 사용 가능한 윈도우 매니저는 다양함
- 대표적인 윈도우 매니저
- Enlinghtment: GNOME의 기본 윈도우 매니저
- kwm: KDE v1.x의 기본 윈도우 매니저
- etc: fvwm, twm, mw, windowmaker, AfterStep
데스크톱 매니저
- Desktop Manager 또는 Desktop Environment
- GUI 사용자에게 제공하는 인터페이스 스타일
- 윈도우 매니저, 파일 관리자, 도움말, 제어판 등 다양한 도구를 제공하는 패키지 형태의 프로그램
- 드래그 앤 드롭으로 프로세스 간의 통보 기능 지원
- 대표적인 데스크톱 환경
- KDE(Kool Desktop Environment): QT 툴 기반(그래픽 라이브러리), FreeBSD
- GNOME(GNU Network Object Model Environment): QTK+이용, BSD 등에 포함
- LXDE: Raspbian, GTK2 사용, 가벼운 모델
- XFCE: GTK+2 사용, Xfwm 윈도우 매니저, 가벼운 모델
디스플레이 매니저
- X-윈도우 상에서 작동하는 프로그램
- X서버 접속 및 사용자 로그인 시 세션을 시작하기까지의 과정을 담당
- 대표적인 디스플레이 매니저
- kdm: KDE의 디스플레이 매니저
- gdm: GNOME의 디스플레이 매니저. GTK, GNU GPK
- etc: xdm, dtlogin
X-윈도우 활용 명령어
xhost
- X 서버에 접속할 수 있는 클라이언트 지정 혹은 해제
- 서버로의 요청 허용 여부를 호스트 단위로 제어
- xhost [+|-] [IP|도메인명]
xhost + # 모든 클라이언트 접속 허용
xhost + [IP] # 해당 IP로부터 접속 허용
xauth
- MMC 방식의 인증을 사용하기 위한 유틸리티
- x윈도우 실행 시 생성되는 키를 기반으로 인증을 진행함
- 쿠키 값으로 인증을 진행하기 때문에 xhost보다 더 강화됐다고 볼 수 있음
- .Xauthority 파일에 해당 쿠키(magic cookie) 내용을 추가, 삭제, 리스트를 출력함
- 당연히 $HOME/.Xauthority 파일에 대한 읽기/쓰기 권한 필요
- xauth <옵션>
- list: 모든 쿠키값 리스트 조회
X-윈도우 프로그램
References
'Etc' 카테고리의 다른 글
리눅스 마스터 2급 정리(8) - 에디터 활용과 프로그램 설치 (0) | 2025.05.10 |
---|---|
리눅스 마스터 2급 정리(7) - Shell과 환경 설정 (0) | 2025.05.06 |
리눅스 마스터 2급 정리(6) - 리눅스 파일 권한과 파일 시스템 (0) | 2025.05.06 |
리눅스 마스터 2급 정리(5) - 네트워크+기타 명령어 (0) | 2025.05.06 |
리눅스 마스터 2급 정리(4) - 디렉터리 및 파일 관련 명령어 (0) | 2025.05.02 |