我有一个 Debian Gnome 的副本,从 live media 安装然后升级到测试。出于生产力的考虑,我决定将我的默认 X 环境从 GDM 更改为 i3。这导致我想要将默认运行级别从 5 更改为 3,然后配置运行级别 3 来运行 i3,以防我出于某种原因想要再次运行 GNOME3。
我还不太清楚如何做到这一点。 Systemd 手册建议更改graphical.target
为其他内容。因此,我在 systemd 文件夹中搜索了一个名为 的文件graphical.target
,以便我可以配置自己的自定义目标,例如i3.target
,但我找不到它。然后我发现在Debian中,Systemd的大部分启动脚本实际上只是从/etc/init.d中作为sysvinit脚本调用。也调用了一些 Upstart 脚本。但现在我不知道graphical.target
调用什么,所以我无法创建自定义启动脚本来启动 i3。
所以,我认为我的问题是如何在 Systemd 中创建自定义目标。但它比这更笼统一些,我对整个 Systemd/Sysvinit/Upstart 情况感到非常困惑。
答案1
您正在寻找错误的解决方案。您真的想知道如何使用不同的窗口管理器。运行级别不是答案。
当您启动计算机并看到图形登录屏幕时,这称为显示管理器。对于 gnome,该显示管理器称为gdm
。这个 DM 和其他主要的 DM 知道如何启动几乎任何桌面环境或窗口管理器。
如果您安装了 gnome 和 i3,则登录屏幕上应该有一个选项,用于选择登录时启动哪一个。
无需搞乱运行级别或初始化系统,只需安装您想要的图形环境(您可以同时安装它们)并在登录时选择您想要的环境。
在这个 gdm 示例中,如果单击屏幕底部的“会话”,您可以选择该登录会话使用的图形环境(默认为您最后使用的图形环境)。如果您没有看到此选项,您可以从 gnome 中配置 gdm 来显示它。
答案2
在以前版本的 Debian 中,您可以安装三个主要 init 系统中的任何一个,但您的默认设置是 system v。对于 jessie,默认设置已更改为 systemd,这是根本性的更改,您可以同时安装所有这些系统,并且在启动时在它们之间进行选择。不幸的是,我必须同意凯西的观点,这不一定能解决您的问题,因为这与窗口管理器和显示管理器关系更密切。
首先让我们介绍一下会话管理器的想法。如果您希望在登录时打开注销时打开的窗口,这是会话管理器的责任。会话管理器还运行您的窗口管理器以及您登录时想要运行的任何其他内容。会话管理器通常与您的窗口系统相关联,gnome 和 kde 都有自己的会话管理器。如果您选择的窗口系统不使用会话管理器,则窗口管理器将充当会话管理器。
会话管理器由显示管理器启动的会话脚本启动,显示管理器由系统启动系统启动。大多数显示管理器允许用户通过在多个会话脚本之间进行选择或将选项传递给会话脚本来选择会话管理器,并让会话脚本关心细节。
如果这听起来比您想要的复杂一点,有一个名为 Choosewm 的包可以真正简单地完成您想要的事情。它是一个元会话管理器,也就是说,当您登录时,您可以选择要运行的会话管理器。