# 6.4.Hikari 混成器

Hikari 合成器采用多个围绕生产力的概念，如工作区、工作表等。因此，它与平铺窗口管理器相似。具体来说，合成器从一个工作区开始，这类似于虚拟桌面。Hikari 使用单个工作区或虚拟桌面进行用户交互。工作区由多个视图组成，视图是合成器中以工作表或组的形式分组的工作窗口。工作表和组都由一组视图组成，也就是那些分组在一起的窗口。在切换工作表或组时，活动的工作表或组将被集体称为工作区。手册页将详细介绍每个功能的具体内容，但在本文中，我们将假设使用单个工作区和单个工作表。Hikari 安装由一个软件包组成：[x11-wm/hikari](https://cgit.freebsd.org/ports/tree/x11-wm/hikari/)，以及终端仿真器 `alacritty`：

```sh
# pkg install hikari alacritty
```

> **注意**
>
> 其他终端，如 `kitty` 或 Plasma `Terminal`，也能在 Wayland 下正常工作。用户可以尝试他们喜欢的终端编辑器来验证兼容性。

Hikari 使用配置文件 `hikari.conf`，该文件可以放置在 XDG\_RUNTIME\_DIR 中，或者通过 `-c` 参数在启动时指定。不需要自动启动配置文件，但可以使迁移到这个合成器的过程更轻松。配置开始时，创建 Hikari 配置目录并复制配置文件进行编辑：

```sh
% mkdir ~/.config/hikari
% cp /usr/local/etc/hikari/hikari.conf ~/.config/hikari
```

配置文件分为不同的部分，例如 ui、outputs、layouts 等。对于大多数用户来说，默认设置已足够；然而，应该做一些重要的更改。例如，$TERMINAL 变量通常不会在用户的环境中设置。可以修改该变量或将 hikari.conf 文件中的设置更改为：

```ini
terminal = "/usr/local/bin/alacritty"
```

这样，通过绑定的按键按下，就可以启动 `alacritty` 终端。在浏览配置文件时，请注意大写字母用于映射用户的按键。例如，<kbd>L</kbd> 键用于启动终端，按下 <kbd>L</kbd>+<kbd>Return</kbd> 键实际上是之前提到的超级键或 Windows 键。因此，按住 <kbd>L/super/Windows</kbd> 键并按 <kbd>Enter</kbd> 将打开指定的终端仿真器，使用默认配置。要将其他键映射到应用程序，需创建一个操作定义。为此，可以在 actions 部分列出该操作项，例如：

```ini
actions {
  terminal = "/usr/local/bin/alacritty"
  browser = "/usr/local/bin/firefox"
}
```

然后，可以在键盘绑定部分定义的 bindings 部分将操作映射到一个键：

```ini
bindings {
  keyboard {
SNIP
    "L+Return" = action-terminal
    "L+b" = action-browser
SNIP
```

重启 Hikari 后，按住 Windows 键并按下 <kbd>b</kbd> 键，浏览器将启动。合成器没有菜单栏，建议在迁移之前至少设置好一个终端仿真器。手册页包含了大量文档，在进行完整迁移之前应该阅读。Hikari 的另一个优点是，在迁移到合成器时，Hikari 可以在 Plasma 和 GNOME 桌面环境中启动，允许在完全迁移之前进行测试。

在 Hikari 中锁定屏幕非常简单，因为默认的 pam.d 配置文件和解锁工具已与软件包捆绑。锁定屏幕的键绑定是 <kbd>L</kbd>（Windows 键）+ <kbd>Shift</kbd> + <kbd>Backspace</kbd>。需要注意的是，所有未标记为公开的视图将被隐藏。这些视图在锁定时将无法接受输入，但要小心敏感信息暴露。对于某些用户，迁移到其他屏幕锁定工具（例如本节讨论的 swaylock-effects）可能会更容易。要启动 Hikari，可以使用以下命令：

```sh
% hikari -c ~/.config/hikari/hikari.conf
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://handbook.bsdcn.org/di-6-zhang-freebsd-zhong-de-wayland/6.4.hikari-hun-cheng-qi.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
