맨위로가기

I3 (창 관리자)

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

I3는 타일링 윈도우 매니저로, 사용자가 창의 위치와 크기를 직접 제어하는 대신, 자동으로 창을 배열하여 화면 공간을 효율적으로 활용한다. Xlib 대신 XCB를 사용하고, 텍스트 편집기 Vim과 유사한 모드를 지원하며, 창 관리를 위한 트리 구조를 사용한다. 설정은 텍스트 파일로 이루어져 사용자가 쉽게 사용자 정의할 수 있으며, 다중 모니터 환경을 지원한다.

2. 설계 목적

i3의 주요 설계 목표는 다음과 같다.[3]


  • 사용자 기여를 장려하기 위해 잘 작성되고 문서화된 코드를 제공한다.
  • Xlib 대신 XCB를 사용한다.
  • 다중 모니터 기능을 올바르게 구현하여, 각 작업 공간이 특정 모니터에 고정되지 않고 가상 화면처럼 동작하게 한다. 이를 통해 모니터를 추가하거나 제거해도 창이 유지되도록 한다.
  • 텍스트 편집기 vi 및 vim과 유사한 모드 개념을 도입한다.
  • 창 관리를 위해 트리 구조를 기본 데이터 구조로 사용한다.
  • UTF-8 문자 인코딩을 완전하게 지원한다.


이러한 핵심 목표 외에도 i3는 사용자 편의성과 효율성을 높이기 위한 몇 가지 중요한 설계 원칙을 따른다.

첫째, 설정은 순수한 텍스트 파일 (일반적으로 `~/.i3/config` 또는 `~/.config/i3/config`)을 통해 이루어진다. 이는 프로그래밍 지식이 없어도 사용자가 쉽게 설정을 변경할 수 있게 하며, OS나 X를 재시작하지 않고도 변경 사항을 바로 적용할 수 있다.

둘째, dwm, awesome, xmonad와 같은 다른 타일형 윈도우 매니저와는 달리 창 관리를 사용자에게 맡긴다. 창은 '컨테이너'라는 단위로 관리되며, 사용자는 이 컨테이너를 수직 또는 수평으로 분할하거나 크기를 조절할 수 있다. 또한 여러 창을 쌓아두거나(스태킹), 웹 브라우저의 탭처럼 묶어서(태빙) 관리할 수도 있다.

셋째, 다중 모니터 환경을 효율적으로 지원한다. 작업 공간은 특정 모니터에 종속되지 않고 모든 모니터에 걸쳐 공유된다. 따라서 사용자는 창을 여러 모니터 사이에서 자유롭게 이동시킬 수 있다.

이러한 설계는 XCB 라이브러리 채택과 9P 프로토콜 제거 등을 통해 프로그램과의 호환성을 높이고 빠르고 효율적인 창 배치를 가능하게 한다.

3. 특징

i3는 여러 독특한 특징을 가지고 있다.
설정 및 사용성:


  • 설정은 일반 텍스트 파일(일반적으로 `~/.config/i3/config`에 위치)을 통해 이루어지므로, 복잡한 프로그래밍 지식 없이도 사용자 정의가 가능하다[7][6]. 설정을 적용하기 위해 OS나 X를 재시작할 필요가 없다.
  • 최초 실행 시에는 자세한 주석이 달린 설정 파일을 생성하는 옵션을 제공하여 사용자가 쉽게 설정을 이해하고 수정할 수 있도록 돕는다[17].
  • 사용자는 "Mod 키"(일반적으로 Win 키 또는 Alt 키)와 다른 키 조합을 사용하여 창의 배치, 생성, 삭제 등을 조작한다.
  • Vim과 유사한 "모드" 개념을 가지고 있어, 특정 작업을 위한 전용 모드(예: 크기 변경 모드)로 전환할 수 있다[17]. 설정 파일을 수정하여 프로그램별로 창 동작을 다르게 설정하는 것도 가능하다.
  • 기본 프로그램 실행기로 dmenu를 사용하지만, 다른 실행기로 변경할 수 있다[6][11].
  • 화면 하단에 시스템 정보를 표시하는 i3bar라는 자체 상태 표시줄을 제공한다[8].

창 관리:

  • dwm, awesome, xmonad와 같은 다른 타일형 윈도우 매니저와 달리, i3는 창 관리를 사용자에게 맡긴다. 창은 컨테이너 안에 배치되며, 이 컨테이너는 수직 또는 수평으로 분할하고 크기를 조절할 수 있다[6].
  • 창을 쌓아 올리거나(스태킹) 웹 브라우저처럼 탭 형태로 묶어서 관리할 수도 있다[6]. 스태킹 및 탭 모드에서는 창 제목 표시줄을 통해 창을 전환할 수 있다[17].
  • 트리 구조를 사용하여 창을 관리하므로, 다른 창 관리자보다 더 유연한 레이아웃 구성이 가능하다[17].
  • 비밀번호 입력 창과 같은 특정 팝업 창은 기본적으로 타일링되지 않고 다른 창 위에 뜨는 플로팅 창으로 나타난다[10][22]. 이 플로팅 창은 GNOME이나 KDE Plasma 환경에서처럼 자유롭게 이동하거나 크기를 조절할 수 있으며[11], 개발자는 플로팅 창을 주로 팝업 창 용도로 사용하도록 의도했다[12][23].

기술적 특징:

  • 다중 모니터 환경을 잘 지원하며[9], 작업 공간이 모니터 간에 공유되어 창을 쉽게 이동시킬 수 있다. 화면 구성을 빠르게 변경해야 하는 상황(예: 프로젝터 연결)에 유연하게 대응한다[17].
  • Xlib 대신 XCB 라이브러리를 사용하여 더 빠른 성능을 추구한다[17].
  • UTF-8 인코딩을 완벽하게 지원하며, Pango 라이브러리를 통해 다양한 언어의 문자를 올바르게 표시할 수 있다[17].
  • 9P 프로토콜을 사용하지 않아 wmii보다 유연한 프로세스 간 통신(IPC)이 가능하며, i3 실행 중에도 다른 프로그램과의 명령 수수가 용이하다[17].
  • 소스 코드가 읽기 쉽게 작성되어 있고 문서화가 잘 되어 있다[17].
  • 컴포지팅 윈도우 매니저와 비교하여 민첩한 동작을 기대할 수 있다[17].
  • 2017년 기준으로도 활발하게 개발이 진행되고 있으며, 개발은 GitHub의 i3/i3 저장소에서 이루어진다.

3. 1. 개발 언어

i3-wm은 거의 완전히 C 언어로 작성되었다. 소스 코드 단독으로는 총 약 900 KiB의 크기이다[16](최신 4.13 버전에서는 896 KiB).

4. 갤러리

참조

[1] Github GitHub releases https://github.com/i[...]
[2] 웹사이트 i3 download page https://i3wm.org/dow[...]
[3] 웹사이트 i3 home page https://i3wm.org/
[4] Youtube i3 - An Improved Tiling Window Manager https://www.youtube.[...]
[5] 웹사이트 i3: IPC interface (interprocess communication) https://i3wm.org/doc[...]
[6] 웹사이트 Install and Use i3 Window Manager on Ubuntu https://www.maketech[...] Uqnic Network Pte 2017-05-23
[7] 문서 In Unix filesystems, "~" refers to the user's [[home directory]].
[8] 웹사이트 Getting started with the i3 tiling window manager https://fedoramagazi[...] 2016-02-24
[9] 웹사이트 Using i3 with multiple monitors https://fedoramagazi[...] 2019-06-24
[10] 웹사이트 Forcing windows as always floating https://faq.i3wm.org[...]
[11] 웹사이트 How to customise your Linux desktop: i3 Window Manager https://www.zdnet.co[...] ZDNet 2016-01-07
[12] 웹사이트 "floating" workspace https://faq.i3wm.org[...]
[13] Github https://github.com/i[...]
[14] 웹사이트 i3-wm公式サイト/ダウンロード https://i3wm.org/dow[...]
[15] 웹사이트 i3 home page https://i3wm.org/
[16] Github https://github.com/i[...]
[17] 웹사이트 公式サイト https://i3wm.org/
[18] 웹사이트 i3 download page https://i3wm.org/dow[...]
[19] 웹사이트 i3 홈페이지 http://i3wm.org/
[20] 웹사이트 Arch Linux Wiki 타일링 창 관리자 비교 https://wiki.archlin[...]
[21] 웹인용 http://i3wm.org/docs[...]
[22] 웹인용 http://faq.i3wm.org/[...]
[23] 웹인용 http://faq.i3wm.org/[...]



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com