# &konsole; 手册

&Jonathan.Singer; &Jonathan.Singer.mail;
&Kurt.Hindenburg; &Kurt.Hindenburg.mail;
&Ahmad.Samir; &Ahmad.Samir.mail;
&Robert.Knight; &Robert.Knight.mail;
&Kurt.Hindenburg; &Kurt.Hindenburg.mail;
&Waldo.Bastian; &Waldo.Bastian.mail;
&Mike.McBride; &Mike.McBride.mail;
Funda Wang
Yunhe Guo
2000 2001 2002 &Jonathan.Singer;
2005 2008 2009 2010 2011 2014 2016 2017 2018 2020 &Kurt.Hindenburg;
2018 &Ahmad.Samir;
&FDLNotice;
2020-07-02
应用版本 20.08

&konsole; 是 &kde; 的终端模拟器。

KDE konsole kdebase 命令 行 终端 cli

## 介绍

### 什么是终端？

&konsole; 是一个 X 终端模拟器，通常称为终端或者 shell。它通过一个文本窗口来模拟命令行界面。

&konsole; 一般运行一个命令 shell，它执行您输入的命令。&konsole; 运行的 shell 取决于您的帐号设置。请查阅您的操作系统文档来了解什么是 shell，如何配置以及使用它。

### 回滚

&konsole; 使用回滚的概念来让用户查看之前显示的输出。默认情况下，回滚被打开，并且设置为保存在当前屏幕显示的内容之外额外显示 1000 行输出。

在文本行从上方滚动出屏幕之后，通过将滚动条上移可以再次查看它们。可以使用鼠标滚轮或者使用 &Shift;Page Up (往回滚)，&Shift;Page Down (往前滚)，&Shift;上箭头 (往上滚动一行) 以及 &Shift;下箭头 (向下滚动一行) 按键来完成。

使用 &Shift;Page Up/Down 滚动的距离可以在半页和一页之间切换，该设置位于配置方案窗口 (可用 设置编辑当前配置方案... 打开该窗口) 中的 回滚 页面。

### 配置方案

配置方案使得用户能够迅速且简单地自动化运行各种命令。样例包括：

- ssh 到另一台计算机

- 开始一个 irc 会话

- 使用 tail 来观察一个文件

所有新的和修改过的配置方案都保存在用户的本地主文件夹中，位于 `$`XDG_DATA_HOME`/konsole`。

建立新配置方案的步骤：

1. 点击菜单项 设置管理配置方案...

2. 切换到 配置文件 页面。

3. 点击按钮 新配置方案...。

4. 在第一个项目中填入名称。这个名称会出现在菜单中，并且在您新建一个这种类型的会话时会替代 Shell 作为默认标签显示。

5. 就像您平时打开一个新的 shell 并且输入命令那样，普通地输入您的命令。拿我们的第一个例子来说，您可以输入 ``ssh` administration`。

6. 在这个对话框的另一个页面中可以配置此会话的外观。您可以为每个会话配置不同字体，配色方案，$`TERM` 类型，以及许多其他设置。

7. 点击 确定 按钮。现在，新会话会出现在 管理配置方案... 对话框中。

所有选中了 在菜单中显示 的配置方案均会以它们的名称出现在 文件新标签页 菜单中。如果只有默认配置方案可显示，那此处不会有次级菜单。

### 鼠标按钮

本章节按照常见的右手持鼠标的按键顺序来介绍它们的功能。对于左手持鼠标的按键顺序，请在下文中互换左键和右键。

左键

  所有 &LMB; 点击会被发给 &konsole; 中运行的支持鼠标的应用程序。如果一个程序会对鼠标点击进行处理，&konsole; 会通过显示一个箭头鼠标来表示。否则的话，会显示一个工字型 (文字输入) 的鼠标。

  在一个不支持鼠标的应用程序中，在屏幕上按住 &LMB; 并拖拽鼠标会标记一块文字。拖动鼠标时，标记的文字会以反色显示，从而给予视觉反馈。从 编辑 菜单中选择 复制 可将标记的文字复制到剪贴板中，从而在 &konsole; 或者其他程序中使用。选中的文字也可被拖拽到兼容的程序中。按住 &Ctrl; 键，随后将文字拖到想要的位置。

  一般来说，在每个选中的行的末尾会插入换行符。对于剪切粘帖源代码或者某个命令的输出，这工作得很好。对于一般文本，换行符常常并不重要。人们可能会有另一种偏好：选中的文本会被以一串连续的字符保存，它们将在被粘帖到另一个应用程序中时被重新格式化。要以连续字符模式选择文本，在选择时按住 &Ctrl; 键。

  在使用 &LMB; 选择文本时同时按住 &Ctrl; 和 &Alt; 键可按照列选择文本。

  使用 &LMB; 双击来选择一个词语；三击可以选择整行。

  如果在标记过程中碰到了文本区域的上下边缘，&konsole; 会向上或向下滚动，显示出历史记录中的文字。当鼠标停止移动时，滚动也停止。

  松开鼠标后，&konsole; 会通过将选中部分高亮来标记出剪贴板中的文本内容。当剪贴板中的内容变化，或者选中区域的文字变化，或者 &LMB; 点击后，标记区域会变回正常显示。

  要在一个支持鼠标的程序中标记文字 (例如 Midnight Commander)，标记时可按住 &Shift; 键。

中键

  点击 &MMB; 会粘帖当前剪贴板中的文本。按住 &Ctrl; 键再按 &MMB; 时粘帖文本会附带一个换行符。对于快速粘帖命令来说这很方便，但是也有一定的危险性，请谨慎使用。

  如果您的鼠标只有两个按键，同时按下 &LMB; 与 &RMB; 会模拟三键鼠标的 &MMB; 键。

  如果您的鼠标有一个 滚轮 作为中键，那么在不支持鼠标的程序中滚动它会移动 &konsole; 的滚动条。

右键

  当按下 &RMB; 时，菜单中会有这些项目：

  - 复制

  - 粘贴

  - 选中文字时，子菜单 搜索，其中列出偏好的网络快捷方式，以及一个配置网络快捷方式的选项。

  - 打开文件管理器

  - 设置编码

  - 清除回滚

  - 调整回滚...

  - 显示菜单栏，当菜单栏隐藏时

  - 切换配置方案

  - 编辑当前配置方案...

  - 关闭标签页

  在一个支持鼠标的应用程序中，同时按下 &Shift; 键与 &RMB; 来弹出右键菜单。

### 拖放

如果您将一个文件、目录或 &URL; 拖放到 &konsole; 窗口中，会出现一个包含下列项目的右键菜单：

拖放右键菜单
拖放右键菜单

&Shift;移动到此处

  将拖放的项目移动到当前目录。仅当您有权限删除拖放的文件或目录时，该项才会出现。

&Ctrl;复制到此处

  复制拖放的项目到当前目录。

&Ctrl;&Shift;链接到此处

  在此处建立一个到拖放项目的符号链接。

粘帖位置

  将拖放项目的完整路径插入到光标处。

更换目录到

  如果您拖放了一个目录，右键菜单中的这个操作让您可以切换当前 &konsole; 会话的工作目录。

&Esc;取消

  取消拖放操作。

如果您在松开 &LMB; 前按下快捷键，那么不会有右键菜单出现，操作会被立即执行。

如果您想使用 &Ctrl; 键来进行拖放操作，或者禁用右键菜单来默认以文本方式插入 &URL;，在配置方案设置对话框的 鼠标页面中启用对应选项即可。

## 命令参考

### 菜单栏

菜单栏位于 &konsole; 窗口顶部。如果菜单栏被隐藏了，那么可以通过在窗口中 右键 点击来 显示菜单栏 (只要这时候窗口中没有运行全屏程序，例如 vi，minicom 等)。默认快捷键在每个菜单项后面显示。

另一方面，您也可以使用 &Ctrl;&Shift;M 来显示或隐藏菜单栏。

#### 文件菜单

&Ctrl;&Shift;N 文件新窗口

  用默认配置方案打开一个新 &konsole; 窗口

&Ctrl;&Shift;T 文件新标签

  用默认配置方案打开一个新标签

  &konsole; 自带一个默认配置方案。所有用户添加的新配置方案都会在子菜单中列出。如果只有默认配置方案需要显示，那就不会有子菜单。

文件 复制标签

  尝试在一个新标签中复制当前标签

&Ctrl;&Shift;S 文件 输出保存为...

  将当前的回滚内容保存为文本文件或 html 文件

&Ctrl;&Shift;P 文件 打印屏幕 ...

  打印当前屏幕。 默认情况下，输出会缩放到打印用的纸张大小，文字为黑色，没有背景。在打印对话框中，这些选项均可在 输出选项 页面中改变。

文件 打开文件管理器

  在当前目录打开 &kde; 的文件管理器。默认情况下，会使用 &dolphin;。

&Ctrl;&Shift;W 文件 关闭标签

  关闭当前标签

&Ctrl;&Shift;Q 文件 关闭窗口

  退出 &konsole;

  如果打开了超过一个标签，&konsole; 会显示一个确认窗口。通过点击 不再询问 复选框可以禁用此对话框。

  如果您想要再次启用这个确认对话框，删除 `$`XDG_CONFIG_HOME`/konsolerc` 中的

      [Notification Messages] CloseAllTabs=true

  项目。

#### 编辑菜单

&Ctrl;&Shift;C 编辑 复制

  将选中文字复制到剪贴板

&Ctrl;&Shift;V 编辑粘帖

  从剪贴板中将文字粘帖到当前光标位置

编辑全部选择

  选中所有 当前窗口中的文本

编辑输入复制到当前窗口内的全部标签

  将当前会话中的输入同时发送给当前窗口中的所有会话

&Ctrl;&Shift;. 编辑输入复制到选择标签...

  将当前会话中的输入同时发送给用户选择的其他会话

&Ctrl;&Shift;/ 编辑输入复制到无

  不将当前会话的输入发送到其他会话

编辑 发送信号

  将指定信号发送给新会话建立时创建的 shell 进程或者其他进程。

  目前支持的信号有：

  STOP | 暂停进程
  CONT | 恢复，如果已暂停
  HUP | 在控制终端中检测到了挂起事件，或者控制进程已死亡
  INT | 来自键盘的中断
  TERM | 终止信号
  KILL | 杀信号
  USR1 | 用户信号1
  USR2 | 用户信号2

  您可通过使用命令 ``man` `7 signal`` 来参照系统的手册页，获得详细信息。

&Ctrl;&Alt;S 编辑配置标签页设置...

  打开对话框，更改名称格式，远程标签页标题格式以及当前标签页颜色 (更多信息)

&Ctrl;&Alt;U 编辑 ZModem 上传...

  如果安装了必需的软件的话，打开一个对话框，其中可以选择一个文件进行上传

&Ctrl;&Shift;F 编辑查找...

  在 &konsole; 窗口的底端显示一个搜索条

  用它可以进行各种搜索，例如大小写敏感的，向前或向后的，以及使用正则表达式的。

F3 编辑查找下一个

  移动到下一个搜索结果。如果焦点在搜索框，您也可以使用快捷键 &Enter;。

&Shift;F3 编辑查找上一个

  移动到上一个搜索结果。如果焦点在搜索条，您也可以使用快捷键 &Shift;&Enter;。

#### 视图菜单

&Ctrl;( 查看拆分视图左右拆分标签

  将所有标签拆分为左右视图

  在一个视图中的所有输出会被重现于另一个视图。

&Ctrl;) 查看拆分视图上下拆分标签

  将所有标签拆分为上下视图

  在一个视图中的所有输出会被重现于另一个视图。

&Ctrl;&Shift;X 视图拆分视图关闭活动

  关闭当前视图

&Ctrl;&Shift;O 查看拆分视图关闭其它标签

  关闭所有其他视图

&Ctrl;&Shift;] 查看拆分视图展开标签

  使当前的视图扩大

&Ctrl;&Shift;[ 查看拆分视图卷起标签

  使当前的视图缩小

&Ctrl;&Shift;L 视图拆分当前标签

  在一个新窗口中打开当前标签

  退出上一个 &konsole; 窗口不会影响新创建的窗口。

&Ctrl;&Shift;H 视图拆分当前视图

  在单独的窗口中打开当前的拆分视图

&Ctrl;&Shift;I 查看静止状态监视器

  切换是否监视当前标签缺乏活动的状态

  默认来说，在10秒钟没有活动之后，一个信息图标会显示在这个会话的标签上。警告类型可以通过 设置配置通知被监视会话中的缄默 改变。

&Ctrl;&Shift;A 查看活动状态监视器

  切换是否监视当前标签有活动

  只要有任何活动，一个信息图标会显示在这个会话的标签上。警告类型可以通过 设置配置通知被监视会话中的活动 改变。

视图监视进程完成

  打开/关闭当前标签页进程完成的监视。

  如果选中，当前进程完成时，&konsole;会显示通知进程“进程名称”已完成于会话“会话名称”。

视图只读

  将会话切换为只读：不接受任何输入，禁用拖放。

&Ctrl;+ 查看放大字体

  增大字体大小

&Ctrl;0 视图重置字体大小

  将文本字体大小重置为配置方案默认值

&Ctrl;- 查看缩小字体

  减小字体大小

查看 设定编码

  设置字符编码

查看清除回滚

  清除回滚中的文字

&Ctrl;&Shift;K 查看清除回滚并重置

  清除回滚中的文字，并且重置终端

#### 书签菜单

&Ctrl;&Shift;B 书签添加书签

  添加当前位置

书签将标签添加为书签文件夹...

  将所有标签添加为一个书签文件夹

  会出现一个对话框来请求文件夹名。

书签新建书签文件夹...

  在书签列表中添加一个新文件夹

  会出现一个对话框来请求文件夹名。

书签编辑书签

  打开书签编辑器

  必须安装 keditbookmarks 程序，此菜单项才能显示。

  您可以使用书签编辑器来手动添加 URL。目前，&konsole; 接受以下这些：

  - ssh://user@host:port

  - telnet://user@host:port

#### 设置菜单

设置编辑当前方案...

  打开一个可编辑当前配置方案的对话框

设置切换配置方案

  将当前配置方案切换为列出的配置方案之一

设置管理配置方案...

  打开一个管理配置方案的对话框

&Ctrl;&Shift;M 设置显示菜单栏

  切换菜单栏是否可见

F11 设置全屏模式

  切换 &konsole; 是否占满整个屏幕

设置配置快捷键...

  打开键盘快捷键编辑器。 关于快捷键配置的更多信息可参见 &kde; 基础.

  另外，&konsole; 还有一些特别的快捷方式，它们没有对应的菜单项：

  快捷键 | 说明
  --- | ---
  &Shift;右 | 下一个标签
  &Shift;左 | 上一个标签
  &Ctrl;&Shift;左 | 向左移动标签
  &Ctrl;&Shift;右 | 向右移动标签
  &Ctrl;&Shift;插入 | 粘贴选中内容
  &Shift; | 下一视图容器

设置配置通知...

  打开通知编辑器

设置配置 &konsole;...

  打开 &konsole; 设置编辑器

  此对话框控制 &konsole; 窗口的外观和行为。

  - 常规页面配置菜单栏可见性，记住 &konsole; 窗口大小，单进程运行所有 &konsole; 窗口，启用菜单加速器，在标题栏显示窗口标题，移除窗口标题栏和边框。您也可以配置搜索大小写敏感，正则表达式用法，高亮所有匹配项，和搜索方向 (默认向后搜索)。常规页面也是您重新启用所有“不再询问”消息的地方。

  - 配置方案页面用于创建和管理配置方案。

  - 标签栏/分割器页面可以配置标签栏的可见性和位置，定义标签页行为并调整标签页按钮选项。您可以配置显示“新建标签页”按钮和扩展单个标签页宽度到整个窗口，或使用用户自定义样式表。行为标签页可以定义新建标签页的位置 (末尾或当前标签页之后) 以及&MMB;点击关闭标签页。

    您也可以用此配置页中的拆分标签页来配置分离头的可见性 (需要时 (默认), 总是 或 从不)以及定义拖动柄大小 (小 (默认), 中 或 大)。

  - 临时文件页面定义回滚文件保存位置。

  - 缩略图页面定义缩略图尺寸和激活选项 (您可以选择 &Shift;, &Alt; 和 &Ctrl; 作为激活键)。

    要使用缩略图功能在鼠标悬停于图像文件时显示弹出缩略图，您需要在当前配置文件中启用文件下划线：设置编辑当前配置文件...鼠标杂项文件下划线。

#### 帮助菜单

&konsole; 具有一些常见的 &kde; 帮助 菜单项，有关详细信息，请参阅 &kde; 基础知识的 帮助菜单 一节。

### &konsole; 对话框

#### 配置标签页对话框

当前标签页的名称格式，远程标签页标题格式和颜色，都可以在对话框中更改。可以通过菜单、快捷键 &Ctrl;&Alt;S 或者双击标签栏中的一个标签来打开这个对话框。这些改动是临时的，但通过编辑当前配置方案，可以成为永久改动。

对本地标签，&konsole; 会替换这些变量：

- %n : 程序名称

- %d : 当前目录 (短)

- %D : 当前目录 (长)

- %h : 本地主机 (短)

- %u : 用户名

- %B：用户的 Bourne 提示符签名($=普通用户，#=超级用户)

- %w : shell 设置的窗口标题

- %#：会话编号

对远程标签，&konsole; 会替换这些变量：

- %c︰当前程序

- %h︰远程主机 (短)

- %H︰远程主机 (长)

- %u : 用户名

- %U：用户名@ (如果给定的话)

- %w : shell 设置的窗口标题

- %#：会话编号

样例：

- `%d : %n` 如果 /usr/src 是当前目录，并且正在运行 bash，那会显示 src : bash

- `%D : %n` 如果 /usr/src 是当前目录，并且正在运行top，那会显示 /usr/src : top

- `%w (%#)` 如果当前目录是 ~ ，并且正在第一个标签运行 vim，那会显示 [No Name] (~) - VIM(1)

#### 复制输入对话框

在一个标签中输入的文字可以同时发送给其他标签。这个对话框使您可以选择哪些标签应该接受这些输入。当前标签会被标记为灰色。

#### 调整回滚对话框

回滚 的历史大小可在此对话框修改。所有改动仅对当前标签有效，并且不会被保存到配置方案中。

## 命令行选项

当从命令行启动 &konsole; 时，可以指定各种选项来改变它的行为。

`--帮助`

  列出各种选项。

`--profile` 文件

  使用指定配置方案 启动 &konsole;，而不是默认配置方案。

`--fallback-profile`

  使用内部的 FALLBACK (默认) 配置方案。这个选项是 `--profile` FALLBACK/ 的一个缩略版。

`--workdir` 目录

  启动时使用 目录 作为初始工作目录。

`--hold, --noclose`

  在其结束时不要关闭初始会话。

`--new-tab`

  在现有窗口中 建立一个新标签，而不是建立一个新窗口。

`--tabs-from-file` 文件

  根据给定的标签配置文件 建立标签。

  这个文件每行指定一个标签，格式为：

  每行指定一个需要打开的标签，最多用4个域来指定如何打开它。域之间使用 `;;` 分隔，每个域名后面必须附带有一个 `:`。空行以及用 `#` 开头的行会被忽略，因此您可以通过使用 `#` 开头的行来添加注释。

  - `title:` 标签名字，如果没指定或者为空的话会使用默认值
  - `workdir:` 工作目录，如果为空或没指定那会使用 `~`
  - `profile:` 要使用的 &konsole; 配置方案，如果为空或者未指定那会使用默认值
  - `command:` 要运行的命令

  每行应至少包含 `command` 或 `profile` 域的其中之一。

  例如：`title: %n;; command: /usr/bin/top ;; profile: Shell`

`--background-mode`

  在后台启动 &konsole;，并在&Ctrl;&Shift;F12 (默认设置) 按下时将其移到前台。

`--separate`
`--nofork`

  在一个独立进程中运行 &konsole; 的新实例。

`--show-menubar`

  显示菜单栏，覆盖默认行为。

`--hide-menubar`

  隐藏菜单栏，覆盖默认行为。

`--show-tabbar`

  显示标签栏，覆盖默认行为。

`--hide-tabbar`

  隐藏标签栏，覆盖默认行为。

`--fullscreen`

  以全屏模式启动 &konsole;。

`--notransparency`

  禁用半透明背景，即使系统支持它。

`--list-profiles`

  列出所有可用配置方案。

`--list-profile-properties`

  列出所有可用属性的名字和类型。参见选项 `-p`。

  详情请访问 &konsole; 接口参考。

`-p` 属性=值

  改变一个配置方案属性的值。

`-e` 命令

  执行 命令而不是默认 shell。

  这个选项会捕获所有在它之后传给 &konsole; 的参数，并且将它们作为一个 命令 执行。因此，该参数应作为最后一个参数指定。

&konsole; 也接受一般的 &Qt; 和 &kf5-full; 选项，参见手册页面 qt5options 和 kf5options。

## &konsole; 脚本编程

&konsole; 支持若干可以通过 &DBus; 进行的操作。

有两种使用 &DBus; 接口的方法：&Qt; 的 &GUI; 工具 qdbusviewer 以及命令行的 qdbus。

样例：

- % `qdbus` 会显示所有可用服务。

- % `qdbus` `org.kde.konsole` 会显示 &konsole; 的 &DBus; 接口。

- % `qdbus` `org.kde.konsole /Windows/1` 会显示可用于控制窗口1的方法。

- % `qdbus` `org.kde.konsole $KONSOLE_DBUS_WINDOW` 会显示可用于控制当前窗口的方法。

- % `qdbus` `org.kde.konsole /Sessions/1` 会显示可用于控制会话1的方法。

- % `qdbus` `org.kde.konsole $KONSOLE_DBUS_SESSION` 会显示可用于控制当前会话的方法。

- % `qdbus` `$KONSOLE_DBUS_SERVICE $KONSOLE_DBUS_SESSION` 会显示可用于控制当前 &konsole; 会话的方法。

如果以上任意一个命令输出：Service 'org.kde.konsole' does not exist，将 `org.kde.konsole` 改为以下某个：

- `org.kde.konsole-`pidof -s konsole`` (会选择第一个进程号)

- `$KONSOLE_DBUS_SERVICE` (这可以在当前 &konsole; 使用)

- `从 'qdbus | grep konsole' 的输出中选择一个`

如需更多信息，请访问 &DBus; 向导。

## 终端按键绑定

### &konsole; 如何使用按键绑定

#### 介绍

&konsole; 使用 *.keytab 文件将组合键转换为控制字符和转义序列，这些字符和转义序列将发送到 shell 或在 shell 中运行的交互式程序(通常是使用备用屏幕缓冲区的程序，例如：vim、less、screen)。

用户可以使用按键绑定编辑器自定义 &konsole; 中的按键绑定设置。可以将组合键配置为向终端发送特定的控制或转义序列。

您可以从菜单项 设置编辑当前配置方案 打开按键绑定编辑器，然后转到 键盘 选项卡。列出了 &konsole; 默认情况下附带的按键绑定模式。

#### 组合键和模式

组合键遵循以下模式：

    按键(+|-)模式

例如：

    Up+Shift+AppScreen
    Down+Shift-AppScreen
    Space+Ctrl

按键名在 qnampace.h 头文件中定义，删除了 qt::KEY_ 前缀，有关键名的列表，请查看 &Qt; 文档中的 Qt::Key 枚举。

模式名称前面的 + 表示模式是 设置；对于修改键，这意味着按下了它，而对于所有其他模式，它意味着特定模式正在生效(&ie; 活动)。例如：+Ctrl 表示组合键只有在按下&Ctrl; 键时才起作用。

模式名称前面的 - 表示模式是 重置；基本上这与将 + 放在模式名称之前是相反的，因此对于修饰键而言，这意味着该键没有被按下，而对于所有其他模式，这意味着特定模式处于非活动状态。例如：-Ctrl 表示只有在未按下 &Ctrl; 键 not 时，组合键才有效。

如果组合键中不存在模式名称，则忽略其状态。

下面列出了支持的按键绑定模式：

Alt, Ctrl, Shift

  可以在组合键中使用这些模式中的一个或多个，如果设置了其中任何一个，则组合键将分别使用该修改键；如果重置，则反之亦然

任意修饰符

  如果设置了此模式，则组合键使用任何修改键(前三个修改键中的任意一个)；如果重置，则反之亦然

Ansi

  如果设置了此模式，&konsole; 将发送 ANSI 转义和控制序列

  如果重置此模式，&konsole; 将发送 VT52 转义和控制序列

应用程序屏幕

  如果设置了此模式，则组合键将仅影响使用备用屏幕缓冲区的交互式程序

  如果重置此模式，则组合键只会在终端使用正常屏幕缓冲区时影响终端

  &konsole; 使用两个屏幕缓冲区：

  - 正常屏幕缓冲区(默认)：允许您向后滚动以查看前面的输出行，这是您通常用来执行命令的默认缓冲区... &etc;

  - 备用屏幕缓冲区：当您运行交互程序时，终端切换到此缓冲区(例如：less、vim、screen、tmux.&etc;)

键盘

  如果设置了此模式，则组合键使用键盘(数字键盘)上的键。此模式对于区分键盘上的键和小键盘上的键很有用。例如，当 Num Lock 设置为 on 时，您可以配置两个单独的键组合，一个使用键盘上标记为 1 的键(通常在 F1 键下)，另一个使用键盘上标记为 1 的键。同样的概念也适用当键盘上的 End、Home、光标键...等的 Num Lock OFF 时，

应用程序光标按键

  此模式实现 VT100 光标按键模式(DECCKM)。它控制每个光标键(上、下、右、左)发送的转义序列，具体取决于此模式是设置还是重置

  默认情况下，&konsole; 遵循 XTerm 行为，将 Home 和 End 键视为相对于 DECCKM 的光标键

应用程序键盘

  如果设置了此模式，则组合键仅在键盘处于应用程序模式(DECKPAM)时才起作用

  如果重置此模式，则组合键仅在键盘处于数字模式(DECKPNM)时有效

换行

  如果设置了此模式，键盘上的 Return (Enter)键将同时发送回车符 "\r" 和换行符 "\n"

  如果重置此模式，Return 键将仅发送回车符 "\r"

  这同样适用于键盘上的 Enter 键

  此模式模拟 LNM - 换行/新建行模式

请注意，键和模式(设置/重置)的每个组合必须是唯一的。例如，考虑以下两条规则：

- A+Shift : A

- a : a

&konsole; 如果 not 接受小写字母 a 规则，则必须向该规则添加 -Shift 才能使其工作。

#### 输出字段

在输出字段中，您可以添加您希望 &konsole; 在相关组合键被按下时发送到终端的转义序列或控制字符。

您还可以使用以下任意关键字，每个关键字在 &konsole; 中都有特殊含义：

- 向上滚动行：在 shell 历史回滚缓冲区中向上滚动一行

- 向上滚动页面：在 shell 历史回滚缓冲区中向上滚动一页

- 向下滚动行：向下滚动 shell 历史回滚缓冲区中的一行

- 向下滚动页面：在 shell 历史回滚缓冲区中向下滚动一页

- 向上滚动到顶部：向上滚动到 shell 历史回滚缓冲区的开头

- 向下滚动到底部：向下滚动到 shell 历史回滚缓冲区的末尾

您还可以将字符串与 C 字符串语法一起使用；您可以使用以下转义序列：

- \E ：转义

- \\ : 反斜线

- \" : 双引号

- \t ：制表符

- \r ：回车

- \n ：换行

- \b ：退格键

- \xHH ：其中 HH 是两个十六进制数字

  这可用于发送 &ASCII; 控制字符，⪚ \x00 它是 NUL 字符

#### 其他系统资源

还有其他可能影响终端按键绑定的系统资源：

- 有关每个键组合应该发送的预期转义序列和控制字符，请查阅 终端信息 或 termcap 数据库。

- 您的系统可能还有其他也必须同步的键盘数据库(⪚ /etc/inputrc 和 readline 对于 BASH shell)，因为它们会影响绑定到组合键的操作(交互)。

#### 进一步阅读

有关转义序列和控制字符的详细信息，请查看以下文档：

- VT100 用户指南

- VT102 用户指南

- 全面且不可或缺的 XTerm 控件序列 文档

## 在标签栏使用样式表

标签栏的默认样式表设定了标签的最小和最大宽度。用户可以建立一个 `.css` 文件，并且让 &konsole; 用它作为标签栏的样式表。在这个 `.css` 文件中，应指定 `QTabBar::tab` 控件。

如需了解更多信息，您可阅读 &Qt; 样式表

样例：

- 将选择标签的背景色改为亮灰色

      QTabBar::tab:selected {
          background: #999999
      }

- 改变选中标签的文字颜色为红色

      QTabBar::tab:selected {
          color: red
      }

- 所有标签都至少有 200 像素宽

      QTabBar::tab {
          min-width: 200px
      }

- 仅当前标签会有至少 200 像素宽

      QTabBar::tab::selected {
          min-width: 200px
      }

- 任意这些都可以被合并到一个文件中

      QTabBar::tab::selected {
          background: #999999;
          color: red;
          min-width: 200px;
      }
      QTabBar::tab {
          min-width: 100px
      }

## 您知道吗？，常见问题及其他

### 您知道吗？

- 选择文本时按住 &Ctrl;，可使换行符在粘帖时被转化为空格。

- 选择文本时按住 &Ctrl;&Alt; 会以列来选择。

- &Ctrl;滚轮 的组合会缩放文字大小，就像 konqueror 和 firefox 中一样。

- 如果一个程序会处理任意鼠标操作，按住 &Shift; 键可让您有机会打开弹出菜单。

- 快捷键 &Ctrl;&Shift;F10 会激活菜单。

- 快捷键 &Shift;Insert 会粘帖剪贴板内容。

- 双击会选择一整个单词。持续按住鼠标按键并且拖动鼠标可扩大选择区域。

- 三击会选择一整行。持续按住鼠标按键并且拖动鼠标可扩大选择区域。

- 标签标题中的 “%d” 格式符有个隐藏的功能。您可以让 &konsole; 将一个目录名称缩略为它的第一个字符。例如，“/path/to/konsole/src” 可以缩略为 “konsole/s”。如果您想要启用并且控制这个隐藏功能，打开 ``qtpaths` `--paths GenericConfigLocation`` 位置中的 `konsolerc` 文件并添加下列行：

      [ProcessInfo]
      CommonDirNames=名字1，名字2，名字3...

  如果您使用 Yakuake，您需要转而编辑 ``qtpaths` `--paths GenericConfigLocation`` 中的 `yakuakerc`。

### 常见问题

- 某些字体无法在 &konsole; 中使用，虽然它们在其他应用程序中可用。这并不说明 &konsole; 有问题。&konsole; 需要等宽字体来达到最好的显示效果，因此它会让 &Qt; 仅列出等宽字体。

  从版本 16.08 (2016年8月) 开始，&konsole; 可以被配置为允许选择任何字体，但是这可能会有显示上出错的问题。

- 从 KDE4 开始所有的标签使用相同的进程 ID。作为一个副作用，如果一个标签的进程有问题，所有其他标签可能都会遇到问题。

  在某个会连接到外部设备或者系统 (ssh，nfs) 的命令出问题时，这最明显。

- &konsole; 将 `-e` 选项后的参数作为一整个命令对待，它并不会解析它们并将其分割为多个子命令执行，而会将其直接执行。这和 xterm 不同。

  - `konsole -e "命令1 ; 命令2"` 是不行的

  - `konsole -e $SHELL -c "命令1 ; 命令2"` 可以

- &konsole; 并不提供运行登录 shell 的便利功能，因为开发者并不喜欢在终端模拟器中运行登录 shell 的想法。

  当然，用户依旧可以在 &konsole; 中运行登录 shell，如果他们真的需要的话。编辑要使用的配置方案，将命令改为显式启动登录 shell 的形式，例如“`bash -l`” 以及“`zsh -l`”。

- `--new-tab` 选项有时候会有奇怪的行为。他可能会建立一个新窗口，也可能在另一个已有的 &konsole; 窗口中建立一个新标签，而不是当前 &konsole; 窗口。

  这些行为看上去很奇怪，但是那并不一定有问题。`--new-tab` 选项尝试重用现有的 &konsole; 窗口，但是并不是所有的 &konsole; 窗口都能被重用。所有使用 &krunner; 打开的 &konsole; 窗口都可被重用，但是多数通过命令行打开的 &konsole; 窗口不行。

## 贡献与版权

&konsole; 目前由 &Kurt.Hindenburg; &Kurt.Hindenburg.mail; 维护

之前的 &konsole; 维护者包括：&Robert.Knight; &Robert.Knight.mail; 与 &Waldo.Bastian; &Waldo.Bastian.mail;

应用程序 &konsole; 版权 © 1997-2008 &Lars.Doelle; &Lars.Doelle.mail;

本文档最初由 &Jonathan.Singer; &Jonathan.Singer.mail; 编写

本文档由 &Kurt.Hindenburg; &Kurt.Hindenburg.mail; 更新到 &kde; 4.x

本文档由 &Kurt.Hindenburg; &Kurt.Hindenburg.mail; 更新到 &kde; 3.4

由 &Mike.McBride; 和 &Lauri.Watts; 转换为 DocBook SGML

开源软件国际化之简体中文组

&underFDL; &underGPL;

## 链接

如需更多信息，请访问这些网站：

- &konsole; 在 &kde; 的 UserBase 的主页

- &konsole; 的主页

- &konsole; 的邮件列表

- FreeBSD 上的 &kde;

- &Solaris; 上的 &kde;

&documentation.index;