Ubuntu 16.04 自定义 xsession gnome-session 挂起

Ubuntu 16.04 自定义 xsession gnome-session 挂起

我正在尝试在 Ubuntu 16.04 上设置自定义 xsession。我需要在启动 gnome-session 之前运行一些自定义设置。我已在 Ubuntu 12 上成功完成此操作,但移植到 16.04 会导致登录时出现空白屏幕。在跟踪发生的情况后,我发现当从中的子句gnome-session --session=ubuntu以外的任何地方调用它时,它都会挂起。Exec=/usr/share/xsessions/ubuntu.desktop

这可以通过创建脚本轻松演示

/usr/share/xsessions/start.sh:

gnome-session --session=ubuntu

并将Exec=行改为/usr/share/xsessions/ubuntu.desktop

Exec=/usr/share/xsessions/start.sh

结果是,当您尝试登录时会话将挂起。gnome-session --session=ubuntu正在启动,但它在某处挂起。

我是否遗漏了一些可能会妨碍这里的“apparmor”或其他安全魔法?

我不知道发生了什么。即使只是/usr/share/xsessions/ubuntu.desktop将的名称更改为/usr/share/xsessions/my.desktop(原始名称Exec=gnome-session --session=ubuntu保持不变),也会导致 gnome-session 挂起。

非常感谢您的指点。

理查德

- - 更新

进一步挖掘表明,至少症状是,当使用工作配置时,以下进程正在运行,但在start.sh使用脚本时不存在:

 1 14628 14628 14546 ?           -1 S     1000   0:00 /sbin/upstart --user
14628 14639 14638 14638 ?           -1 S     1000   0:00  \_ upstart-udev-bridge --daemon --user
14628 14650 14650 14650 ?           -1 Ss    1000   0:00  \_ dbus-daemon --fork --session --address=unix:abstract=/tmp/dbus-pVN8SJdGnw
14628 14662 14662 14662 ?           -1 Ss    1000   0:00  \_ /usr/lib/x86_64-linux-gnu/hud/window-stack-bridge
14628 14691 14690 14690 ?           -1 S     1000   0:00  \_ upstart-dbus-bridge --daemon --session --user --bus-name session
14628 14694 14693 14693 ?           -1 S     1000   0:00  \_ upstart-file-bridge --daemon --user
14628 14695 14692 14692 ?           -1 S     1000   0:00  \_ upstart-dbus-bridge --daemon --system --user --bus-name system
14628 14701 14650 14650 ?           -1 Sl    1000   0:00  \_ /usr/lib/gvfs/gvfsd

我猜这指向了 systemd -> upstart 魔法中的一些东西。

相关内容