
DEsk는 창을 종이, 독을 서랍, 앱 목록을 책장으로 그리는 리눅스용 Wayland 데스크톱 환경이다. v0.1.2 베타는 첫 공개 버전인 v0.1에 수정 사항과 Fedora 설치 프로그램을 더했으며, Debian 13·Ubuntu 24.04/26.04·Arch Linux·Fedora 43/44용 설치 스크립트를 제공한다.
DEsk는 iOS 6의 사실적인 스큐어모피즘을 데스크톱에 적용한다. 창은 호두나무 책상 위의 종이, 독은 서랍, 앱 목록은 책장 속 바인더, 알림은 우편함, 시스템 조작부는 책상 뒤쪽의 제어판으로 표현한다. 방은 광선 추적으로 그리며 책상 램프 하나가 전체를 비춘다. 프로젝트 이름은 Desktop Environment와 desk를 합친 말이다. 이전 이름은 DeskWM이었으며, 기존 설정과 데이터, DESKWM_* 환경 변수는 자동으로 이어진다. 명령 이름은 desk, desk-session, desk-settings 등으로 바뀌었다.
DEsk는 베타 소프트웨어다. 제작자는 자신의 컴퓨터에서 일상적으로 사용하고 아키텍처 문서 9절에 설명한 검토를 했다고 밝히지만, 첫 공개 버전인 만큼 거친 부분이 있고 변경될 수 있다고 안내한다. 설정과 데이터는 이후 버전으로 옮겨진다.
설치와 기본 사용
최신 릴리스를 내려받아 압축을 풀거나 저장소를 복제한 뒤, 해당 배포판에 맞는 스크립트를 실행한다.
- Debian 13
sudo sh scripts/install_debian.sh
- Ubuntu 24.04/26.04와 Linux Mint, Pop!_OS
sudo sh scripts/install_ubuntu.sh
- Arch Linux와 EndeavourOS, Manjaro
sudo sh scripts/install_arch.sh
- Fedora 43/44와 Nobara
sudo sh scripts/install_fedora.sh
설치 후 로그아웃하고 로그인 화면에서 DEsk를 선택한다. 설치 프로그램은 설치할 항목을 보여준 뒤 확인을 요청한다. --yes는 제안된 답을 사용하고, --no-apps는 권장 프로그램 없이 DEsk를 설치한다. 첫 로그인에는 방을 한 번 그리는 데 GPU가 있으면 몇 초, GPU가 없으면 더 오래 걸린다. 이후에는 바로 시작한다. 업데이트할 때는 새 릴리스를 받아 같은 명령을 다시 실행하면 설정을 보존한다. 수동 빌드와 창 안에서 실행하는 방법은 Build와 Run에 설명돼 있다.
책상에 놓인 기능
창은 섬유 질감과 두께, 접힌 모서리가 있는 크림색 종이로 나타난다. 모서리에 포인터를 올리면 뒷면의 조작이 드러난다. 접기(Fold)는 창을 종이처럼 아래에 놓아 최소화하고, 펼치기·다시 접기(Unfold/Refold)는 최대화와 복원을 한다. 버리기(Discard)는 종이를 구겨 닫는다. 가장자리를 끌면 뒤에 숨은 종이가 더 나온다.
Super+D를 누르거나 황동 손잡이를 당기면 독인 서랍을 연다. 앱이나 접은 창을 넣을 수 있으며, 기본 프로그램과 Shell Settings를 여는 드라이버가 기본으로 들어 있다. Super+A 또는 ALL APPS 표지를 누르면 책장이 열린다. 카테고리별 바인더에서 종이를 꺼내 책상으로 가져오면 해당 앱 창이 열린다. A부터 Z까지 프로그램을 찾는 색인 책에는 검색 입력란도 있으며 IBus 입력기가 작동한다.
Super+N은 알림 우편함을 열며 편지에는 보낸 사람과 제목이 표시된다. 편지를 꺼내 책상에 놓을 수도 있다. Super+C는 책상 뒤에 붙은 진공관 시대 기계 모양의 제어판을 연다. 실제 계기판, 음량 조절기, 네트워크와 블루투스 레버, 방의 램프와 화면 백라이트 조절기가 있다. 노트북 밝기는 logind를 통해 조절하고 밝기 키도 사용할 수 있다. 전원 버튼 잠금 해제 키와 시스템 트레이도 제공한다. 트레이 항목이 한 줄에 다 들어가지 않으면 휠로 이동한다.
책장에는 달력·메모장·시계가 놓인다. 달력에는 계획과 할 일 노트가 있고, 메모를 떼어 날짜에 붙일 수 있다. 메모장은 내려서 작성하며 IBus 입력기를 지원하고 종이는 철사를 따라 넘긴다. 시계는 분 옆에 작은 초를 표시한다. 카메라나 마이크를 사용하는 동안에만 시계 아래의 두 램프가 켜진다.
잠금 화면은 현실 세계로 통하는 현관문이다. 시간대에 따른 도시의 햇빛을 표시하고 해 질 무렵에는 현관등을 켠다. 사용자가 open-meteo.com에 날씨를 요청하도록 허용하면 해당 도시의 위도와 경도만 전송해 날씨를 표시한다. 비는 벽돌을 어둡게 하고 램프 앞에 빗줄기를 그리며, 눈은 위를 향한 표면에 쌓이고 안개와 번개도 표현한다. 특정 날짜에는 문과 시계에 추가 요소가 나타나지만 설정으로 미리 고를 수 없다. Shell Settings에 생일을 입력하면 그날 중 하나가 된다. Esc로 중단할 수 있다.
방의 책상·책장·콘솔·우편함은 GPU의 GLES 3 광선 추적으로 그린다. GPU를 사용할 수 없으면 CPU 추적을 사용하며 화면 크기별로 결과를 저장한다. 방 위에 그려지는 요소는 모두 같은 램프의 빛을 받는다. 로그인할 때 방은 어둡게 시작하고 그리는 동안 램프가 켜진다. 시계는 진행 시간을 붉게 표시한다. 크기는 포인트 단위로 정해진다. 화면이 커지면 책상도 커지지만 물체 자체가 커지지는 않는다.
여러 화면을 지원한다. 책상은 한 화면에 나타나고 나머지 화면에는 책상 판이 이어져 창을 놓을 수 있다. 새 창은 포인터가 있는 화면에 나타나며, 펼치기와 전체 화면은 해당 창이 있는 화면을 채운다. 책상 화면에서 서랍을 열거나 책장을 보더라도 다른 화면의 창이 움직이거나 접근할 수 없게 되지 않는다. 화면을 제거하면 그 화면의 창은 남은 화면으로 옮겨진다. X11 앱은 Xwayland로 실행하고 자체 프레임을 그리는 창도 종이 위에 놓인다.
Super+L 또는 logind로 잠그면 3D 현관문이 나타난다. 문에는 사용자 사진과 이름이 걸리고 황동판에 비밀번호를 입력한 뒤 열쇠를 누르거나 Enter를 누르면 문을 연다. 인증은 로그인과 마찬가지로 PAM을 사용한다. 잠그는 과정은 Super+L 또는 제어판의 파란 LOCK 버튼으로 방에서 나와 문을 닫고 잠그는 동작으로 표현된다.
DEsk 자체의 문구와 프로그램 이름은 영어·일본어·중국어 간체·한국어·스페인어·프랑스어·독일어로 표시된다. 로케일을 따르거나 ~/.config/desk/shell.conf의 language = en | ja | zh | ko | es | fr | de 설정, 또는 Shell Settings 앱에서 바꿀 수 있으며 실행 중에도 적용된다. 달력은 해당 지역에서 쓰는 형식으로 인쇄되고 중국어와 한국어는 각각에 맞는 CJK 글꼴을 사용한다.
기본 프로그램과 데스크톱 구성
DEsk는 GNOME이나 KDE처럼 전체 데스크톱 환경으로 설치하도록 설계됐다. 따라서 터미널·웹 브라우저·파일 관리자·텍스트 편집기 같은 작업별 기본 프로그램을 정한다. 서랍의 항목이나 Super+Enter로 실행한다. 선택 우선순위는 다음과 같다.
shell.conf의app.terminal,app.browser,app.files,app.editor값(각각.desktopID)- freedesktop.org 순서의 기본 앱 목록: DEsk 전용
~/.config/desk-mimeapps.list, Shell Settings의 기본 프로그램 설정이나 xfce4-mime-settings가 쓰는~/.config/mimeapps.list, 그리고 시스템 폴더의 같은 두 파일. 마지막에는 DEsk가 설치하는desk-mimeapps.list가 온다. 이 설정은 xdg-open과 GIO가 선택하는 앱과 같다. - Xfce Terminal, Firefox ESR, Thunar, Mousepad 등 GTK 프로그램을 우선하는 기본 구성. 그다음은 MATE Terminal, Caja, Pluma 등이다.
- 해당 카테고리에 등록된 프로그램
DEsk는 책상과 그 위의 요소를 그리며, 실제 작업은 기존 자유 소프트웨어가 맡는다. 컴포지터만 할 수 있는 기능과 방의 표현은 직접 구현하고 나머지는 기존 프로그램을 사용한다. 직접 구현하는 항목에는 종이 창, 서랍, 책장, 시계, 제어판, 우편함, 현관문, 달력과 메모장, 키보드·포인터·화면 관리, 화면 배치 기억, 유휴 상태 처리, 잠금 화면, Shell Settings가 포함된다.
기존 프로그램이 맡는 항목에는 PipeWire/PulseAudio 음량·음소거, logind 밝기, NetworkManager 네트워크, 블루투스, 사운드 장치, 알림의 프로그램별 트레이 항목, MPRIS 미디어 정보, grim 스크린샷, IBus 입력기 연결, 프린터·디스크·polkit 에이전트·키링·포털, 다른 프로그램의 외관과 기본 앱 등이 있다. 새 기능도 방의 일부로 그려야 하거나 컴포지터 안에서만 할 수 있는 경우가 아니면, wlroots 컴포지터에서 작동하는 기존 프로그램을 우선 사용한다. KDE System Settings와 kcmshell, Xfce와 MATE의 X11 전용 대화상자, xfsettingsd가 필요한 Xfce 디스플레이·외관 대화상자는 사용하지 않는다. xfsettingsd는 시작할 때 GSettings 값을 Xfce 기본값으로 덮어쓰기 때문이다.
프로그램만 설치하려면 다음 명령을 사용한다. --extras는 오피스 프로그램과 메일 프로그램 등을 추가한다.
sudo sh scripts/install-desktop.sh # DEsk와 전체 구성 (install_ubuntu.sh, install_arch.sh, install_fedora.sh)
sh scripts/install-desktop.sh # 프로그램만 설치 (목록을 보여준 뒤 sudo 권한을 요청)
sh scripts/install-desktop.sh --extras # 오피스 제품군, 메일 프로그램 등도 설치
install-desktop.sh는 apt, dnf, pacman, zypper를 지원한다. Debian과 Ubuntu에서는 다음과 같이 하나의 패키지로 만들 수도 있다.
equivs-build packaging/debian/desk-desktop.equivs
기본 프로그램 구성에는 Xfce Terminal·Thunar(tumbler와 thunar-volman 포함)·Mousepad, Firefox( Debian에서는 Firefox ESR, Ubuntu에서는 snap), Ristretto·Atril·Parole, Engrampa·GNOME Disks, NetworkManager와 앱릿 및 편집기, Blueman, PipeWire, pavucontrol, wdisplays, nwg-look, Xfce MIME 설정 도구, system-config-printer와 CUPS가 포함된다. 외관 설정에는 Ubuntu 24.04와 Fedora에서 GNOME Tweaks를 쓴다.
알림에는 USB 메모리를 마운트해 편지로 알리는 udiskie, 배터리 부족을 알리는 poweralertd(Arch에서는 batsignal, Fedora에는 해당 프로그램 없음), 업데이트 알림용 package-update-indicator(Debian과 Ubuntu)가 포함된다. 관리 도구로는 QDirStat, LXQt 날짜·시간 및 사용자 도구, Mugshot, Seahorse, gnome-packagekit, Back In Time, Xfce Task Manager, hardinfo2가 들어간다. Arch에는 baobab과 Deja Dup도 포함되며 Fedora에는 Mugshot이 없다. 비밀번호 관련 프로그램은 MATE polkit 에이전트와 GNOME Keyring이다. 기반 도구에는 xdg-desktop-portal(wlr, gtk), Xwayland, xdg-user-dirs, xdg-utils, wl-clipboard, grim, curl이 포함된다. Qt 프로그램이 GTK 프로그램과 어울리도록 Qt GTK 플랫폼 테마를 설치하고, IBus(일본어용 Mozc 포함), Noto CJK·이모지 글꼴, URW base 35, Klee One(Arch와 Fedora 제외)도 제공한다. --extras는 GTK로 그려지는 LibreOffice, Thunderbird, Galculator, Xfce Task Manager, Simple Scan을 추가한다.
Xfce와 MATE의 고전적인 GTK 프로그램을 먼저 고르는 이유는 메뉴 막대와 간단한 도구, 문서로 구성된 창이 종이 디자인에 맞고 가볍고 빠르게 시작하며 Wayland에서 그대로 실행되기 때문이다. GTK 3 프로그램은 KDE 서버 장식 프로토콜을 통해 컴포지터에 프레임을 요청하므로 GTK 제목 막대 없이 인쇄된 제목이 있는 DEsk 종이 위에 놓인다. GNOME 프로그램과 Firefox처럼 헤더 막대가 있는 창은 종이 여백 안에 자체 프레임을 유지한다.
desk-settings의 Shell 탭에서는 창과 요소 크기, 그리는 정도, 언어, 시계, 생일과 날씨, 화면이 꺼지는 시점과 그때 책상을 잠글지 등을 설정한다. System 탭에서는 네트워크·블루투스·사운드·디스플레이·프린터·다른 프로그램의 외관·기본 앱·디스크·디스크 사용량·색상 프로필·입력기·날짜와 시간·사용자 사진과 이름·사용자 계정·비밀번호와 키·프로그램 설치와 제거·백업·컴퓨터 상태·Experience Index 설정을 여는 기존 프로그램을 실행한다. 각 항목에는 프로그램 아이콘과 이름이 표시되며, 설치되지 않은 프로그램은 해당 배포판의 패키지 이름과 함께 흐리게 표시된다.
DEsk 세션(desk-session)은 로그인 화면에서 시작된다. D-Bus와 systemd에 디스플레이 정보를 알리고, 다른 알림 데몬이나 X 화면 잠금 프로그램처럼 충돌할 항목은 제외한 XDG 자동 시작 프로그램을 실행한다. 인증 에이전트·키링·입력기·네트워크 앱릿은 설치된 자유 프로그램을 사용한다. 입력기 후보 창은 입력 중인 글 아래에 나타나며 키 입력 위치를 바꾸지 않는다. 기본적으로 먼저 잠근 뒤 사용자가 자리를 비우면 화면을 끄고, 동영상 재생 중에는 화면이 꺼지지 않게 한다. wdisplays, wlr-randr, kanshi가 사용하는 wlr-output-management를 지원하고, 디스플레이 도구별 배치를 화면 조합에 따라 기억한다. 로그아웃·재시작·전원 끄기 전에는 모든 창에 닫기를 요청해 저장하지 않은 작업을 저장할 기회를 준다. 닫히지 않는 창이 있으면 종료를 보류하고 그 창을 앞으로 가져온다.
Shell Settings는 Wayland 컴포지터만 설정할 수 있는 libinput 터치패드 탭 클릭, 자연 스크롤, 포인터 속도, 왼손잡이 버튼, 키보드 배열과 보조 배열, 배열 전환 키, 키 반복도 다룬다. 변경은 연결된 장치에 바로 적용된다.
그래픽 품질과 성능 조건
Graphics 설정은 Ultra·High(기본값)·Medium·Low·2D Fallback으로 구성된다. Ultra는 방을 더 세밀하게 추적하고 GPU가 지원하면 더 넓게 그리며, 움직이는 동안에도 그려지는 요소를 거칠게 낮추지 않는다. 2D Fallback은 GPU가 없거나 CPU로 렌더링하는 가상 머신용이다. 그림자·페이드·흐림·움직임을 끄고, 움직이는 요소에는 광선 추적을 적용하지 않으며 단순하고 작은 방을 한 번 그린다.
두 CPU 코어만 있고 GPU가 없는 환경에서는 첫 시작 시간이 거의 10분에서 약 15초로 줄고, 프레임 비용은 2ms에서 0.5ms로 줄었다고 DEsk 프로젝트는 제시한다. 설치 프로그램은 desk-index --suggest로 몇 초 동안 그래픽 또는 프로세서, 스레드 수와 메모리, 종이가 접히는 속도를 확인해 기본 그래픽 수준을 고른다. 기본값은 /etc/xdg/desk/shell.conf에 저장되며 사용자가 선택한 설정이 우선한다.
화면을 GPU 없이 CPU로 그려야 하는 경우(가상 머신의 3D 기능이 없거나 GPU 드라이버가 없는 경우 포함) DEsk는 사용자가 수준을 직접 지정하지 않았다면 2D Fallback으로 시작한다. 그래픽 드라이버나 가상 머신 설정을 확인하라는 편지를 우편함에 보내고 Shell Settings의 Graphics 옆에도 붉은 글씨로 알린다. 2D Fallback은 별도의 데스크톱이 아니라 효과를 끈 같은 책상이다. 방을 픽셀당 한 번 샘플링해 부드럽게 처리한다. 새 환경에서 처음 시작하면 방을 처음부터 그리며, 일부 컴퓨터에서는 1~2분 이상 걸릴 수 있지만 그동안 책상을 사용할 수 있다는 안내를 화면 중앙에 표시한다.
프로젝트가 제시한 저사양 측정은 2010년 무렵 노트북 수준으로 제한한 컴퓨터에서 이뤄졌다. 두 코어에 각각 1/4 코어의 처리량, 메모리 2GB, 방을 그릴 GPU가 없는 조건이다. 방을 한 번 그린 뒤에는 GPU 없이 코어 하나만 써도 프레임을 놓치지 않았고 프레임 비용은 약 2ms였다. 이후 로그인에서는 0.5초 이내에 책상이 나타나고 1.4초 만에 조명이 켜졌다. 방을 CPU로 처음 그리는 로그인은 1분 30초 동안 어두운 화면을 보이는 대신 7초 안에 흐릿한 첫 화면과 조명을 보여줬다. Low에서 종이 접기는 프레임당 5ms가 걸렸다. 추적한 방은 업데이트 후에도 유지되며 움직이는 종이는 High에서 전체 해상도, Low에서 절반 해상도로 그린다.
최소·권장 사양은 다음과 같다. 측정은 systemd-run의 CPUQuota와 MemoryMax, taskset으로 CPU·GPU·메모리를 제한하고 1440x900 중첩 환경에서 매번 같은 손 동작을 재생해 진행했다. GPU에서는 첫 방 추적이 6~9초, GPU 없는 두 코어에서는 약 10분 걸린 뒤 캐시된다.
| 항목 | 최소 | 권장 |
|---|---|---|
| CPU | x86-64 2코어(1코어도 작동) | 4코어 이상 |
| 메모리 | 4GB(DEsk 자체는 200~450MB) | 8GB 이상 |
| GPU | 불필요(첫 로그인은 오래 걸림) | GBM을 지원하는 OpenGL ES 3.0(Mesa Intel·AMD·Nouveau, VMware SVGA3D) |
| 화면 | 1366x768 | 1440x900 이상 |
| 디스크 | 약 1GB(--bare; --no-apps는 Shell Settings가 여는 프로그램을 추가) | 전체 구성은 2~2.7GB |
| 시스템 | Debian 13, Ubuntu 24.04/26.04 LTS, Arch Linux, Fedora 43/44 | 동일 |
설정, 빌드와 실행
DEsk의 아이콘은 마닐라지 파일철, 모서리가 접힌 타자 문서, 파란 잉크 서명이 있는 편지, 장부, 액자에 든 슬라이드, 즉석 사진, 소매에서 나오는 레코드, 영화 슬레이트, 테이프로 봉한 상자, 펀치 카드, 나무 활자, 철망 휴지통, 황동 지구본, 알루미늄 케이스의 드라이브처럼 실제 물건을 닮았다. 종이·판지·나무·금속의 결감과 그림자를 표현하고, 종이·잉크·황동 테마도 제공한다. 설정은 사용자의 dconf보다 별도 우선순위 계층에 저장하므로 같은 컴퓨터의 다른 데스크톱 외관에는 영향을 주지 않는다.
책상이 멈추면 Ctrl+Alt+Del을 두 번 눌러 창은 그대로 둔 채 DEsk 요소를 다시 그릴 수 있고, 세 번 누르면 로그아웃한다. 터미널이나 다른 VT에서는 desk-ctl reset, desk-ctl logout을 사용할 수 있다.
desk-index는 Windows Experience Index처럼 컴퓨터가 책상 작업을 얼마나 감당하는지 평가한다. 프로세서·메모리·2D 그래픽(DEsk 자체 그리기)·3D 그래픽(방 셰이더를 CPU와 비교)·디스크를 각각 1.0~9.9로 표시하며, 기본 점수는 가장 낮은 값이다. 점수는 황동 테두리 계기판으로 보이고 desk-index --text는 터미널에 같은 정보를 출력한다.
직접 빌드할 때 필요한 주요 라이브러리는 wlroots 0.18, wayland, wayland-protocols, xkbcommon, cairo, pixman, fontconfig, libdrm, PAM이다. Debian 13과 Fedora 43 이상은 wlroots 0.18을 제공한다. Ubuntu 24.04는 0.17, Ubuntu 26.04는 0.19, Arch는 0.20만 제공하므로 설치 프로그램은 0.18.3을 빌드해 /opt/desk-wlroots에 두고 DEsk만 사용하도록 실행 경로를 설정한다. libsystemd(알림 데몬과 시스템 트레이, 제외하려면 -Dpost=disabled), libpulse(소리, 제외하려면 -Dsound=disabled), libinput(터치패드·마우스 설정), EGL·GLES·gbm(GPU 광선 추적, 없으면 CPU 사용), Xwayland·xcb(X11 앱)는 선택 사항이다. 글꼴로 URW base 35(fonts-urw-base35), Noto CJK(fonts-noto-cjk), 메모장용 fonts-klee가 필요하다. 실행 중 스크린샷에는 grim, 현관 날씨에는 curl을 사용한다.
meson setup build
meson compile -C build
현재 세션에서 창으로 실행하려면 다음과 같이 한다.
./build/desk -s foot
GDM·SDDM·LightDM 로그인 화면에서 독립 세션으로 실행하려면 배포판 설치 프로그램을 쓴다. 설치 프로그램은 같은 옵션을 지원한다.
sudo sh scripts/install_debian.sh # 또는 install_ubuntu.sh, install_arch.sh, install_fedora.sh
sudo sh scripts/install_debian.sh --no-apps # DEsk, 필요한 구성요소와 Shell Settings가 여는 프로그램
sudo sh scripts/install_debian.sh --bare # DEsk와 필수 구성요소만, 프로그램은 제외(컨테이너용)
sudo sh scripts/install_debian.sh --prefix /opt/desk
sh scripts/install_session.sh는 배포판을 자동으로 골라 설치하고 진행 내용을 ~/.local/state/desk/install.log에 남긴다. Mint·Pop!_OS·EndeavourOS·Manjaro·Nobara 같은 파생판도 인식한다. 설치 과정에는 패키지 설치, build-install에서 릴리스 빌드, PAM 파일과 로그인 항목 설정, 이전 이름 DeskWM이 남긴 파일 제거(확인 후)가 포함된다. --no-apps를 지정해도 Shell Settings의 System 탭에서 여는 프로그램은 설치되며, 마지막에 desk-settings --check가 각 항목이 여는 프로그램이나 필요한 패키지를 보여준다. 다른 배포판에서는 의존성을 설치한 뒤 scripts/install.sh를 실행하거나 TTY에서 desk-session을 실행한다.
업데이트는 새 버전을 받아 같은 방식으로 설치 프로그램을 실행한다. 설치된 파일을 교체하고 기존 빌드를 재사용하며, 재사용할 수 없으면 새로 빌드한다. 설정과 추적한 방은 보존된다. 설치 프로그램의 출력은 마지막 실행 기록인 ~/.local/state/desk/install.log에도 남으며, 설치가 중단되면 확인하거나 전달할 수 있다. 배포용 사본에는 SHA256SUMS가 들어 있고 빌드 전에 모든 파일을 검사한다. 손상된 파일이 있으면 이름을 표시하고 중단한다. 다시 받은 사본도 손상됐다면 메모리나 디스크 문제일 수 있으며 memtest86+로 확인할 수 있다. 일본어 로케일에는 Mozc 변환기가 권장 프로그램으로 포함된다. IBus는 모든 사용자에게 설치되지만 입력기가 필요한 언어를 사용하거나 직접 설정했을 때만 실행된다.
새 화면 크기에서 처음 시작하면 GPU로 방을 다시 추적한다. 책상, 책장, 제어판, 우편함을 순서대로 만들며 각 부분은 완성되는 즉시 사용할 수 있다. 카메라 이동 애니메이션은 마지막에 생성되므로 완성 전에는 해당 화면으로 이동할 때 장면이 전환된다. 각 부분은 작업 중 저장되며 시작이 중단돼도 이어서 만든다. 실행 기록은 ~/.local/state/desk/session.log에, 이전 기록은 session.log.old에 남는다. desk: room: 줄에는 방을 어느 장치로 그렸는지와 각 부분에 걸린 시간이 기록돼 느린 시작 문제를 전달할 때 참고할 수 있다. GPU는 방을 그리기 전에 자식 프로세스에서 한 번 시험한다. 실패하면 이유를 failed its trial: ...로 알리고 CPU로 대신 그린다. CPU 렌더링은 Ultra가 선택돼 있어도 High 품질로 이뤄진다. Ultra는 GPU 추적에만 사용한다.
주요 키는 Super+Enter(터미널), Super+Q 또는 Alt+F4(현재 창 닫기), Super+M(종이 접기·펴기), Super+D(서랍), Super+A(책장), Super+C(제어판), Super+N(우편함), Super+Tab 또는 Alt+F1(창 전환), Esc(책상으로 돌아가기)다. 밝기 키는 화면 백라이트를 조절하며 백라이트가 없으면 램프를 조절한다. 음량·음소거·미디어 키는 믹서와 재생 중인 플레이어를 제어한다. Print와 Alt+Print는 각각 화면과 앞에 있는 창을 캡처한다. Super+L은 잠금 화면을 열고, Super+Esc 또는 Alt+Esc는 창을 먼저 닫으려 한 뒤 로그아웃한다.
문제를 보고할 때는 DEsk가 실행되지 않아도 다른 데스크톱이나 콘솔의 터미널에서 다음 명령을 실행하고 생성된 ~/desk-report.txt를 첨부할 수 있다.
desk-report
보고서에는 DEsk 버전, Linux 정보, 그래픽 카드와 드라이버, 마지막 세션 로그, DEsk 충돌 여부가 담긴다. 사용자 이름·홈 폴더·컴퓨터 이름·네트워크 주소는 제거되지만, 보내기 전에 내용을 읽어야 한다. 재현을 위해 한 행동과 발생한 일을 함께 적는다. 보고서 도구를 쓸 수 없는 구버전이나 미설치 환경에서는 세션 로그 ~/.local/state/desk/session.log(이전 세션에서 생긴 문제라면 session.log.old)를 첨부한다. 설치가 중단된 문제는 터미널의 마지막 출력이나 install_session.sh로 실행한 경우 ~/.local/state/desk/install.log를 첨부한다. 두 파일 모두 일반 텍스트이므로 보내기 전에 확인한다. 책상이 멈췄다면 터미널이나 다른 VT에서 desk-ctl reset을 실행해 창을 닫지 않고 다시 그릴 수 있다.
자세한 내용은 아키텍처 문서, 수정 안내, 설정 문서, 릴리스 노트, 개발 기록에서 확인할 수 있다. 개발 기록은 일본어다.
DEsk는 AI의 도움을 받아 만들었다. 제작자는 Anthropic의 AI 모델 Claude가 자신의 지휘 아래 코드와 문서의 상당 부분을 작성했으며, 자신이 DEsk의 방향과 외관을 정하고 실제 컴퓨터에서 시험한 뒤 반영 내용을 검토했다고 설명한다. 프로젝트는 버그 보고와 패치를 받고 있다. 라이선스는 MIT다.
댓글 (0)
로그인하면 이 기사에 내 생각을 남길 수 있어요