我用Manjaro Linux更新后,当我启动时,journalctl
说系统达到了图形目标,但它启动了tty1
,我需要输入startx
才能启动凯德。然后我在弹出窗口中再次输入密码kdewallet
,以连接到 wifi。
之后,一切正常。在曼扎罗,GUI 开始于tty1
,而在其他发行版中,它通常开始于tty7
。
graphical.target
我尝试使用命令将默认设置设置为systemctl
,并通过将 quit 参数替换为 来编辑 grub 菜单systemd.unit=graphical.target
,但它仍然在会话中启动tty1
。
我还尝试在 grub 菜单中添加自定义条目,但这也没有帮助。
要将其添加到 grub 菜单:
将第一个 grub 菜单项复制到
/boot/grub/grub.cfg
文件中/etc/grub.d/40_custom
用以下命令替换 quit 命令
systemd.unit=graphical.target
更改
menuentry
标题并运行sudo update-grub
关于如何让系统再次正常启动的任何想法。我在中提出了这个问题曼扎罗一周前论坛,但还没有回复。
我想重新安装会更快,但我很好奇为什么会发生这种情况,以及如何纠正它。
感谢您的提示。我发现ssdm
已安装但未激活,它被屏蔽了。
当我尝试重新安装它时,出现以下错误:
sudo pacman -S sddm
warning: sddm-0.19.0-2.2 is up to date -- reinstalling
...
error: sddm: signature from "Philip Müller (Called Little)<[email protected]>" is invalid
:: File /var/cache/pacman/pkg/sddm-0.19.0-2.2-x86_64.pkg.tar.zst is corrupted (invalid or corrupted package (PGP signature)).
Do you want to delete it? [Y/n]
error: failed to commit transaction (invalid or corrupted package (PGP signature))
Errors occurred, no packages were upgraded.
[marc@ass ~]$ systemctl enable sddm.service
Failed to enable unit: Unit file /usr/lib/systemd/system/sddm.service is masked.
当我寻找时/usr/lib/systemd/system/sddm.service
,我发现它是空的。
我是否正确地认为存在某种打包错误,并且由于包损坏,系统阻止了它启动?如果包被损坏,不应该有更多的人遇到这个问题吗?
我应该等待一段时间让软件包得到修复,还是应该卸载它并安装另一个欢迎程序,例如lightdm
?
答案1
/etc/systemd/system/default.target
指向/usr/lib/systemd/system/graphical.target
必须包含:
Wants=display-manager.service
要检查您的默认 systemd 目标:
systemctl get-default
graphical.target
# ls -l /etc/systemd/system/default.target
lrwxrwxrwx. 1 root root 40 Jan 1 2020 /etc/systemd/system/default.target -> /usr/lib/systemd/system/graphical.target
/etc/systemd/system/display-manager.service
指向实际显示管理器单元的符号链接必须存在,在我的例子中它是/usr/lib/systemd/system/lxdm.service
.
要检查它:
ls -l /etc/systemd/system/display-manager.service
lrwxrwxrwx. 1 root root 36 Jan 1 2020 /etc/systemd/system/display-manager.service -> /usr/lib/systemd/system/lxdm.service
# cat /usr/lib/systemd/system/lxdm.service
[Unit]
Description=LXDM (Lightweight X11 Display Manager)
#Documentation=man:lxdm(8)
[email protected]
After=systemd-user-sessions.service [email protected] plymouth-quit.service livesys-late.service
#Conflicts=plymouth-quit.service
[Service]
ExecStart=/usr/sbin/lxdm
Restart=always
IgnoreSIGPIPE=no
#BusName=org.freedesktop.lxdm
[Install]
Alias=display-manager.service
如果满足这两个要求,则启动时必须有一个图形显示管理器。
您很可能希望安装 SDDM,因为它是 KDE 的首选 DM。这是安装/重新启用它的方法。
答案2
设置graphical.target
不会自动将您置于图形会话中。它的作用是确保当您启动系统时,所有预期在graphical.target
目标中运行的程序/服务都会运行。
当您启用某项服务时,您正在将该服务添加到某个目标(multi-user
、graphical
等)。具体目标取决于该单元的配置。
您需要启用某些程序,以便当系统进入目标时graphical
它将负责启动图形会话。
通常,该程序是显示管理器。确保您的系统上安装了一些。如果您使用 KDE,您可能更喜欢使用sddm
.在我的 Arch 系统中,我将通过运行以下命令来安装它:
sudo pacman -S sddm
然后您需要启用该单元。为此,请运行
systemctl enable sddm.service