

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 调查在 Linux 上创建虚拟会话失败的问题
<a name="investigating-linux-virtual-session-creation-failure"></a>

使用以下命令在 Linux 上[创建](managing-sessions-start.md#managing-sessions-start-manual)一个虚拟会话：

```
$ dcv create-session {{session}}
```

只有在会话创建失败时，该命令才会返回错误。不过，可能会出现以下情况：最初成功创建会话，但会话在用户连接之前终止。您可能会注意到这一点，因为在您检查现有会话时（例如，使用 `dcv list-sessions` 命令或 `dcv describe-session {{session}}`），您可能找不到列出的会话。

大多数情况下，发生这种情况是因为已创建桌面会话，但会话立即失败，例如，由初始化脚本启动的应用程序之一崩溃或失败，或者缺少所需的工具之一。

 如果会话创建失败，请检查以下内容：
+ 检查 `/var/log/dcv/sessionlauncher.log` 文件，其中包含与创建新会话进程的 dcv 组件相关的日志。
+ 检查 `/var/log/dcv/dcv-session.{{user}}.{{session.log}}` 文件，其中包含与 dcv 初始化脚本相关的日志。
+ 检查与会话所有者对应的主目录中的 `$HOME/.xsession-errors` 文件。该文件包含系统 X 会话初始化脚本生成的日志，通常包含桌面 Session Manager 或脚本调用的其他应用程序生成的日志。
+ 检查系统日志以获取有关故障系统和组件的更多信息。首先，检查 `dmesg` 输出（例如，如果进程失败）和 `journalctl -xe` 输出。
+ [使用故障防护会话进行测试](creating-linux-failsafe-virtual-session-creation.md)，以确认该问题与使用的 Session Manager 无关。

**如果仅特定用户发生故障**，您也可以尝试执行以下操作：
+ 检查用户配置，特别是删除或重命名用户配置时发生什么情况。

  根据桌面环境和版本，配置目录可能是用户目录中的 `.gnome`、`.kde` 或 `.config`。
+ 检查影响用户 `PATH` 或环境的特定用户配置。通常，特定用户的会话启动失败是由于框架（例如 `anaconda`）覆盖某些标准本机命令造成的，这可能会导致会话初始化中的 `dbus` 连接失败。
+ 检查权限问题。为本地 `~/.dbus` 或 `~/.Xauthority` 设置的错误权限（例如，它们可能由 `root` 而不是用户拥有）可能导致桌面会话立即终止。