프린터 인쇄 시스템

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-윈도우의 설정과 실행

  1. 윈도우 설정
    • init 프로세스 시 /etc/inittab 파일을 읽어 리눅스 환경 환경을 초기화함
    • 파일 시스템 점검, 서비스 프로세스 관리, 가상 콘솔 관리, 런 레벨 관리
  2. 윈도우 실행(startx -- [인자값])
    • 터미널 윈도우로 로그인하고 그래픽 환경으로 전환하고자 하는 경우 실행
    • 인자값 입력 시 여러 개의 x윈도우 프로그램 구동 가능
    • startx는 x윈도우를 실행하는 스크립트로, 시스템 환경을 초기화하고 xinit을 호출함
  3. 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

+ Recent posts