跳到正文
Hacker News· FinalDestiny·· 2 天前AI 评分28

DEsk:采用拟物化设计的 Linux Wayland 桌面环境发布 v0.1.2 Beta

Wayland desktop for Linux with skeuomorphic design

AI 导读

DEsk 发布 v0.1.2 Beta,这是一个基于 Wayland 的 Linux 桌面环境,采用 iOS 6 式写实拟物设计:窗口是胡桃木桌上的纸张,dock 是抽屉,应用放在书架上,通知投进邮筒。房间由 GPU 光线追踪渲染(GLES 3,CPU 追踪兜底),提供 Debian、Ubuntu、Arch、Fedora 安装脚本,设置与数据可跨版本保留。

正文 · AI 翻译

English | 日本語

v0.1.2 (BETA) -- v0.1,首个公开发布版本,包含修复以及适用于 Fedora 的安装程序。参见 RELEASE-NOTES.md。

我创建了一个 Discord 服务器! 你也可以在这里报告 bug 并提交新功能的想法! 链接:https://discord.gg/xR5f7Xs49

DEsk 是 Desktop Environment 和 desk 合二为一的名字——这个名字来自 Reddit 社区。它以前叫 DeskWM:命令现在是 desk、desk-session、desk-settings 等等,而为 DeskWM 设置的内容(其设置、数据、DESKWM_* 变量)会自动沿用。

一个面向 Linux 的 Wayland 桌面,采用逼真的拟物化风格——就像 iOS 6 那样,屏幕上的一切都被绘制得看起来像真实事物。在这里,桌面就是一张书桌。

窗口是胡桃木书桌上的纸张。程序坞是一个抽屉,你的应用归档在书桌后方书架上的活页夹里,通知投递到信箱中,系统控制则是嵌入书桌背面的面板。房间经过光线追踪渲染,一盏台灯照亮整个空间。

The desk: two programs on paper, the clock, the Control Panel at the back left and the post box at the back right

状态:beta。 DEsk 已在其作者的机器上日常使用,并经过仔细检查(参见 docs/ARCHITECTURE.md 第 9 节),但这是它的首个发布版本:预计会有粗糙之处,也预计会有变化。你的设置和数据将被保留。

安装

从 Releases 页面 下载最新版本并解压(或克隆此仓库)。然后在其文件夹中,运行适用于你的系统的那一行命令:

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 则更久。之后便会立即启动。
  • 要更新,请获取新版本并再次运行同一行命令。你的设置会被保留。
  • 出了什么问题?参见 报告问题。

更多选项、手动构建以及在窗口中运行 DEsk 见 Build 和 Run。

书桌上有什么

这里没有任何东西是书桌上某物的符号。正如 iOS 6 的逼真拟物化风格,每一件都被绘制得看起来像摆放在那里的真实事物——它的材质、照在它上面的光、它的阴影以及使用留下的磨损。

  • 窗口是纸张。 每个窗口都位于一张带有真实纤维、厚度和卷角的奶油色纸张上。将指针停留在卷角上,它会掀起,露出背面印着的内容:Fold(最小化:像信件一样折叠起来留在书桌上,位于窗口之下,如同放下的纸张)、Unfold / Refold(最大化和还原),以及 Discard(关闭:揉成一团扔掉)。 拖动边缘会从纸张后面拉出更多纸。
  • 抽屉就是程序坞。 拉动黄铜把手(或按 Super+D)。它存放你放进去的东西:任何应用,或一个折叠的窗口。开箱即用时,它存放着 DEsk 的标准程序(见下文)以及一把打开 Shell Settings 的螺丝刀。
  • 书架承载你的应用(Super+A,或 ALL APPS 面板)。 每个类别是一个环形活页夹,其页面从单个环上展开。 取下一页,它会被带到书桌上,应用的窗口 就在上面打开。在这一排的末端立着一本 ALL APPS 索引簿: 从 A 到 Z 的每个程序,带有拇指标签,页面顶部有一行 可供输入(通过 IBus 的输入法可用)。
  • 邮筒是通知中心(Super+N)。信件显示 发件人和主题,取出的信件放在书桌上。
  • 控制面板(Super+C)是一台阀门时代的机器,嵌入 书桌背面:真实的仪表、音量旋钮、网络和蓝牙 拨杆、房间灯光的推子以及屏幕自身 背光的推子(在笔记本电脑上,通过 logind;亮度键也可用), 一个解锁电源按钮的钥匙,以及系统托盘作为其下的纸片 (多于能容纳的数量,滚轮可滑动这一排)。
  • 台历、桌面记事本和时钟立在架子上。 台历有一本计划和待办事项的笔记本,便条被撕下并 贴到当天上。记事本以同样的方式取下并书写 (IBus 在那里也可用);它的页面在线上翻转。时钟 在分钟旁边小字显示秒,位于两盏灯下,灯 仅在摄像头或麦克风使用时亮起。
  • 前门通向真实世界。锁屏的门有 小时的光线——太阳根据你时区的城市计算,门廊灯在黄昏时亮起—— 并且,如果你允许它向 open-meteo.com 请求 该城市的天气(仅发送其纬度和经度),还有 天气:雨使砖墙变暗并掠过灯,雪 落在朝上的物体上,雾,闪电。在一年中的某些日子, 门和时钟会为你准备更多东西——没有 设置项;它是什么,你会在那天看到(给 Shell 设置 你的生日,那就是其中之一)。Esc 可停止它。
  • 光。房间(书桌、架子、控制台、邮筒)在 GPU 上进行光线追踪(GLES 3),以 CPU 追踪器作为后备, 并按屏幕尺寸缓存。在其上绘制的一切都由同一盏灯照亮。登录时,房间 从黑暗开始,灯随着房间的构建而亮起,同时时钟 以发光的红色计算进度。
  • 尺寸以点为单位。更大的屏幕是更大的书桌,而不是更大的 东西。
  • 多个屏幕。书桌在一个屏幕上;其他每个屏幕显示 更多书桌的板面,从它延续,供窗口放置。 新窗口出现在指针所在的屏幕上,Unfold 和全屏 填满窗口所在的屏幕,书桌自身屏幕所做的任何事—— 抽屉、转向书架——都不会移动其他屏幕上的东西 或使其无法触及。被移除的屏幕会将其 窗口放到剩下的一个上。
  • X11 应用通过 Xwayland 运行,绘制自己边框的窗口 也坐在纸上。
  • 屏幕锁就是前门(Super+L,或 logind):夜里你走到它跟前,近得能摸到,用自带的灯光和柔和阴影以 3D 描摹出来。你的照片和名字挂在它上面的牌子上,密码从黄铜板上输入,钥匙就在旁边;按 Return(或点击钥匙)时,你俯身转动钥匙。获准进入,钥匙转动,门打开,你走进去,在书桌前坐下;被拒绝,它就不会转动。上锁就是同样的过程倒放——离开房间,关门,转动钥匙——从Super+L或控制面板上的蓝色 LOCK 按钮开始。像登录时一样,用 PAM 校验。
  • 七种语言。DEsk 自己打印的一切,以及程序名称,都用英语、日语、中文(简体)、韩语、西班牙语、法语或德语:即 locale 的语言,或~/.config/desk/shell.conf中的language = en | ja | zh | ko | es | fr | de(或 Shell Settings 应用),并可实时切换。日历按当地出售的样式打印,中文和韩文则用各自专属的 CJK 字体。

标准程序

DEsk 旨在作为一整个桌面安装,像 GNOME 或 KDE 那样,因此它为桌面上的每项工作挑选一个标准程序:终端、网页浏览器、文件管理器和文本编辑器。抽屉里的东西和Super+Enter可以打开它们。对于每项工作,取其中第一个存在的:

  1. shell.conf中的app.terminal、app.browser、app.files、app.editor(一个.desktop id),
  2. 按 freedesktop.org 顺序排列的默认应用列表:~/.config/desk-mimeapps.list(仅 DEsk)、~/.config/mimeapps.list(Shell Settings 的 Default programs、xfce4-mime-settings 所写入的),以及系统文件夹中同样的两个,最后是随 DEsk 安装的desk-mimeapps.list——与 xdg-open 和 GIO 给出的答案相同,
  3. 标准套装,经典 GTK 程序优先:Xfce Terminal、Firefox ESR、Thunar、Mousepad(然后是 MATE Terminal、Caja、Pluma,等等),
  4. 归在正确类别下的任何程序。

导览

The turned-down corner of a window, with Fold, Unfold and Discard on its back The drawer pulled out under the desk, with its five things on green felt
每个窗口的角落:Fold、Unfold、Discard。 抽屉:dock。
A window folded into a packet and left on the desk The bookcase: eight binders, the ALL APPS book, the calendar, memo pad, clock and post box
一个折叠的窗口,躺在桌面上其他窗口下面。 书桌后面的书柜。
The ALL APPS book open at A to D The ALL APPS book searching for "term"
ALL APPS,从 A 到 Z 的每个程序…… ……以及一行可输入的地方。
The Control Panel: meters, levers, the volume knob and the power keys The post box, open, with letters in it
控制面板。 邮筒:通知。
The desk calendar at October, beside its binder of sticky notes Shell Settings, System tab: each row names the program it opens
桌面日历及其便签。 Shell Settings。

文档

  • docs/ARCHITECTURE.md——DEsk 是如何构建的:程序、合成器、光线追踪房间、线程、文件。
  • docs/MODDING.md——修改 DEsk:文字和语言、设置、借用的程序、声音、房间、桌上的东西。
  • docs/CONFIGURATION.md——每一项设置、文件和 环境变量。
  • RELEASE-NOTES.md——v0.1.2 包含什么,以及已知 尚不能用的部分。
  • docs/design.md——完整的开发日志(日语)。

作为桌面

DEsk 绘制桌面;在桌面上完成的工作由已有的自由软件完成。它通过借用达到完整,并在自己制作和借用的东西之间保持明确界限:

DEsk 制作 两者:DEsk 绘制它,别的东西做工作 借用
什么 什么被绘制为房间并作为其物品处理;什么只有合成器能做 程序、系统设置面板、后台助手
示例 窗口如纸张、抽屉、书柜、时钟、控制面板、邮筒、前门、日历和记事本;键盘、指针及其按键(音量键和媒体键也是)、屏幕及其电源、记住它们的排列、进入空闲、锁;Shell Settings 音量旋钮和静音(PipeWire/PulseAudio)、亮度(logind)、Wi-Fi 和蓝牙开关、信箱(桌面就是通知守护进程)、托盘上的纸条(小程序自己的项目)、时钟的 MEDIA 页面(MPRIS)、截图(grim)、输入法(通往 IBus 的桥梁) 网络连接、蓝牙设备、声音设备、显示器排列、打印机、其他程序的外观、默认程序、磁盘、polkit 代理、密钥环、门户——以及程序本身

新情况的原则:只做被画成房间一部分的东西,或者只能在合成器内完成的东西;否则就找一个在 wlroots 合成器下能照常工作的现有程序,只有在万不得已时才自己做一个。KDE 的系统设置和 kcmshell(在 Plasma 之外无法工作)、Xfce 和 MATE 仅限 X11 的对话框,以及 Xfce 的显示和外观对话框(需要 xfsettingsd,而 xfsettingsd 在启动时会用 Xfce 的默认值覆盖 GSettings)都不使用。

sudo sh scripts/install_debian.sh     # DEsk and the whole set (install_ubuntu.sh, install_arch.sh, install_fedora.sh)
sh scripts/install-desktop.sh         # only the programs (shows them, then asks for sudo)
sh scripts/install-desktop.sh --extras   # and the office suite, mail...

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(Ubuntu 24.04 和 Fedora 上用 GNOME Tweaks)、Xfce 的 MIME 设置
打印 system-config-printer、CUPS
通知 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、emoji)、URW base 35、Klee One(Arch 或 Fedora 上没有)
--extras LibreOffice(用 GTK 绘制)、Thunderbird、Galculator、Xfce Task Manager、Simple Scan

Xfce 和 MATE 的经典 GTK 程序排在前面,因为桌面的纸张正是为这类窗口裁切的——一个菜单栏、朴素的工具和文档——而且它们轻量、启动快,并且能照原样在 Wayland 上运行。GTK 3 通过 KDE 的 server-decoration 协议向合成器请求其边框,所以它们躺在 DEsk 的纸张上,带着印刷的标题,没有 GTK 标题栏。带有标题栏的窗口(GNOME 的程序、Firefox)保留自己的边框,位于纸张边距之内。

Shell Settings(desk-settings)在它的 Shell 标签页中保存 DEsk 自己的设置——窗口、事物的大小、绘制多少、语言、时钟、你的生日和天气、屏幕何时关闭以及那时桌面是否锁定——在它的 System 标签页中,则是一行行打开借用程序的条目(网络、蓝牙、声音、显示器、打印机、其他程序的外观、默认程序、磁盘、磁盘使用情况、颜色配置文件、输入法、日期和时间、你的姓名和图片、用户、密码和密钥、添加和删除程序、备份、计算机正在做什么,以及体验指数),经典外观的程序排在前面,每个都带有程序自己的图标和名称——“Displays (wdisplays)”——这样你就能看到是什么在做这项设置。程序未安装的行会以浅色打印,并附上要安装的软件包,按此发行版的名称。这两个标签页像文件夹的索引标签一样位于表单上,每个口袋里都有一本线圈装订的便笺本,表单的每一部分各有一页,每页边缘都有一张便利贴;抓住一张便笺就能把纸页翻到它所在的线圈处,就像桌面日历一样(Page Up 和 Down 也可以)。切换标签页(点击、Ctrl+Tab 或 Ctrl+Page Up/Down)会把另一本便笺本从下方抽出文件夹,窗口打开时便笺本也以同样的方式升起。

作为会话启动时(desk-session,从登录屏幕),DEsk 告诉 D-Bus 和 systemd 它的显示在哪里,运行 XDG 自启动条目(略去那些会与它冲突的,例如另一个通知守护进程或 X 屏幕锁定器),并启动一个认证代理、密钥环、输入法以及网络小程序,各自使用已安装的任意免费程序。输入法的候选词出现在正在书写的文字下方——在程序窗口中就像在桌面自己的页面上一样——并且让按键保持原位。当无人在桌前时它会关闭屏幕(默认先锁定),让视频播放器保持屏幕开启,并支持 wlr-output-management(wdisplays、wlr-randr、kanshi),为每组屏幕记住显示工具的排列方式。注销、重启和关机都会先请求每个窗口关闭,这样有未保存工作的程序可以询问;不关闭的窗口会阻碍操作并被置于前面。

Shell Settings 还设置只有 Wayland 合成器才能设置的内容:点按即点击、自然滚动、指针速度和左手按钮(通过 libinput)、键盘布局、第二布局以及切换到它的按键,还有按键重复——立即应用于已插入的设备。

桌面绘制多少也是一个设置,Graphics:Ultra(房间追踪得更精细,在 GPU 允许的地方更宽,移动时不会绘制得更粗糙)、High(原样制作,默认)、Medium、Low,以及 2D Fallback——用于没有 GPU 的机器或在 CPU 上渲染的虚拟机:没有阴影,没有淡入淡出、模糊或移动,移动时没有光线追踪,房间只追踪一次,小而朴素。在没有 GPU 的双 CPU 核心上,首次启动从近十分钟缩短到约四分之一分钟,一帧从 2 毫秒缩短到 0.5 毫秒。安装程序会快速查看机器(desk-index --suggest:图形,或处理器,持续几秒钟,线程和内存,以及处理器绘制一张折纸需要多长时间)并为其选择级别,作为机器的默认值(/etc/xdg/desk/shell.conf);每个用户自己的选择优先。

当屏幕由处理器绘制时——没有 GPU、没有 3D 的虚拟机、没有驱动的 GPU——桌面会以 2D Fallback 运行,除非你自己选择一个级别,并且会说明这一点:邮箱里有一封信(检查图形驱动或虚拟机的设置),Shell 设置中 Graphics 旁边有一行红字。2D Fallback 是同一个桌面关闭了效果,而不是第二个桌面,它的房间以每像素一个采样点描绘并柔化。而首次启动会从无到有地描绘房间,在桌面中央留下一封信,说可能需要一两分钟,某些机器上更久,并且在此期间可以使用桌面。

它的设计目标是在旧机器上保持轻量。在一台性能约相当于 2010 年笔记本电脑的机器上测量(两个核心各四分之一核、2 GB 内存、房间无 GPU):后续登录在不到半秒内显示桌面,1.4 秒内点亮灯光;而第一次启动必须在处理器上描绘房间,会先显示一个柔和的初步画面,并在七秒内点亮灯光,而不是在黑暗中等待一分半钟。在 Low 级别下,折叠一张纸每帧耗时 5 毫秒。描绘出的房间会在更新之间保留,运动中的纸张会根据级别绘制得更精细或更粗糙(High 为完整,Low 为一半)。

桌面上的程序也为此精心装扮:DEsk 自己的图标,绘制得像是放在桌面上的真实物品,就像 iOS 6 绘制它们那样——装着纸张的马尼拉卡片文件夹、折角打印页、蓝色墨水签名的信件、账本、装在片夹里的幻灯片、拍立得照片、从封套中滑出的唱片、电影场记板、用于归档的胶带纸箱、用于程序的打孔卡片叠、用于字体的木活字块、能看穿的铁丝废纸篓、用于网络的黄铜地球仪、装在铝制外壳里的硬盘——带有纸张、卡片、木材和拉丝金属的纹理以及它们投下的阴影;还有一个由纸张、墨水和黄铜构成的 GTK 主题。它们被设置在 DEsk 自己的 dconf 层中,覆盖在用户的层之上,因此同一台机器上的另一个桌面会保留其外观。

当桌面上的某些东西卡住时:按两次 Ctrl+Alt+Del 会收起桌面自身的一切并重新绘制全部内容(窗口保持原样);按三次则注销。desk-ctl reset 和 desk-ctl logout 可以从终端或另一个 VT 执行相同操作。

DEsk 体验指数

desk-index 按照桌面对其的要求来评定机器,就像 Windows 体验指数那样:处理器、内存、2D 图形(桌面自身的绘制)、3D 图形(房间的着色器,与 CPU 对照检查)和磁盘,每项 1.0-9.9,显示在黄铜边框的仪表上;基础分数取最低值。desk-index --text 在终端中打印相同内容。

要求

最简单的方式是使用你的发行版的安装程序(见下文),它会带来一切。要自行构建:

  • wlroots 0.18(Debian 13 有它,Fedora 43 及更高版本中为 wlroots0.18;Ubuntu 24.04 有 0.17,Ubuntu 26.04 只有 0.19,而 Arch 只有 0.20,因此安装程序会从其发布版构建 0.18.3 到 /opt/desk-wlroots,仅由 DEsk 通过其运行路径使用)
  • wayland、wayland-protocols、xkbcommon、cairo、pixman、fontconfig、libdrm、PAM
  • 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 用于门口的天气。

最低配置与推荐配置

在削减 CPU、GPU 和内存的情况下测量(systemd-run CPUQuota 和 MemoryMax,taskset;嵌套,1440x900,每次运行都是同一只手移动)。 一旦房间被追踪完成,即使一个没有 GPU 的核心也不会掉帧; 一帧大约花费 2 毫秒。只有首次登录会追踪房间:在 GPU 上需要 6-9 秒,在没有 GPU 的两个核心上大约需要 10 分钟(之后会被缓存)。

最低配置 推荐配置
CPU 2 个 x86-64 核心(1 个即可运行) 4 个或更多核心
内存 4 GB(DEsk 本身 200-450 MB) 8 GB 或更多
GPU 无需(首次登录时间较长) 支持 GBM 的 OpenGL ES 3.0(Mesa Intel、AMD、Nouveau;VMware 的 SVGA3D)
屏幕 1366x768 1440x900 或更高
磁盘 约 1 GB(--bare;--no-apps 加上 Shell 设置打开的内容) 完整套件为 2-2.7 GB
系统 Debian 13、Ubuntu 24.04 / 26.04 LTS、Arch Linux、Fedora 43 / 44 相同

构建

meson setup build
meson compile -C build

运行

在你当前的会话中,作为一个窗口:

./build/desk -s foot

作为独立会话,从登录屏幕(GDM、SDDM、LightDM)中选择, 使用适合你系统的安装程序(安装)。四者都接受 相同的选项:

sudo sh scripts/install_debian.sh              # or install_ubuntu.sh, install_arch.sh, install_fedora.sh
sudo sh scripts/install_debian.sh --no-apps    # DEsk, what it needs and what Shell Settings opens
sudo sh scripts/install_debian.sh --bare       # DEsk and what it needs, no programs (containers)
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 留下的内容(会先询问)。 Shell 设置的“系统”选项卡打开的每个程序都会被安装,无论是否 --no-apps,最后 desk-settings --check 会列出每一行打开的内容(或 哪个软件包会带来它)。 在其他发行版上,安装依赖项并运行 scripts/install.sh。 或者从 TTY:desk-session。

要更新,获取新副本并以相同方式再次运行安装程序 (它会说“这会更新它”):已安装的内容被替换,上次构建 被重用(或在无法重用时重新构建),你的设置和已追踪的 房间保持不变。安装程序所说的所有内容也保存在 ~/.local/state/desk/install.log 中(上次运行的)——如果中途停止,这是要查看或 发送的内容。用于分发的副本带有 SHA256SUMS, 安装程序在构建前会对照它检查每个文件:传输途中损坏的副本 会指出哪些文件有误并停止(重新复制;如果新副本 也损坏了,怀疑机器的内存或磁盘——memtest86+)。日语 区域设置在建议的程序中会获得 Mozc 转换器;IBus 本身 为所有人安装,但仅对通过输入法输入的语言运行, 或在设置了一个输入法时运行。

在新的屏幕尺寸下首次启动会花一点时间对 房间进行光线追踪,在绘制屏幕所用的 GPU 上:先是书桌,然后是书架、 控制面板和邮筒,每个都在其图像完成后即可转向, 最后是摄像机移动到它们的影片(在影片完成之前,移动到其视图是切换)。 每个部分在完成时都会被缓存,因此中断的首次启动会从停止处继续。 DEsk 运行时的输出保存在 ~/.local/state/desk/session.log 中(上一次会话在 session.log.old 中);其 desk: room: 行说明房间是在什么上追踪的 以及每个部分花费了多长时间——如果启动缓慢,这是要发送的内容。在房间 在其上追踪之前,会先在子进程中尝试一次 GPU;失败的会说明原因 (failed its trial: ...),然后由处理器追踪房间——即使在选择 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 回到书桌
亮度键 屏幕的背光(或者,如果没有,则是台灯)
音量、静音和媒体键 混音器和播放器播放(作为时钟的 MEDIA 页面)
Print / Alt+Print 屏幕/前方窗口的截图
Super+L 锁定屏幕:前门;输入密码,Enter(或点击按键)
Super+Esc / Alt+Esc 注销(先请求关闭窗口)

报告问题

最快的方法:在终端中运行以下命令(任何桌面环境,或控制台——无需启动 DEsk),并附上它写出的文件 ~/desk-report.txt:

desk-report

它会收集 DEsk 的版本、你的 Linux、你的显卡和驱动、上次会话的日志以及 DEsk 是否崩溃,并移除你的用户名、主文件夹、机器名和网络地址。发送前请通读一遍。还要说明你做了什么以及发生了什么。

如果没有它(较旧的 DEsk,或未安装的 DEsk),请手动附上:

  • ~/.local/state/desk/session.log(如果问题出在上一次会话,还有 session.log.old)——DEsk 运行时说了什么;
  • 如果安装程序停止了,附上它在终端中的最后几行(或通过 install_session.sh 运行时的 ~/.local/state/desk/install.log)。

两者都是纯文本;发送前请检查一遍。如果桌面卡住了,从终端(或另一个 VT)运行 desk-ctl reset 会重新绘制一切,而不会关闭你的窗口。

它是如何制作的

DEsk 是在 AI 的帮助下构建的。大部分代码和文档由 Claude(Anthropic 的 AI 模型)在作者的指导下编写:作者决定了 DEsk 应该是什么样以及应该如何呈现,在真实机器上进行了测试,并审查了所纳入的内容。同样欢迎报告和补丁。

许可证

MIT

来源:Hacker News · github.com