我无法启动我的电脑,因为 Xserver 没有启动。奇怪的是,当我使用 SDDM 时,它启动得很好。几个月前我也尝试使用 Lightdm,但它不想启动,我猜是因为这个问题。
我遇到这个问题已经有一年了,但它从来没有真正困扰过我,因为我一直使用 SDDM。我想停止使用它,所以我需要修复它。
系统信息
新取:
OS: Arch Linux x86_64
Host: 80WK Lenovo Y520-15IKBN
Kernel: 4.18.14-arch1-1-ARCH
Uptime: 10 mins
Packages: 1554 (pacman)
Shell: zsh 5.6.2
Resolution: 1920x1080, 1920x1080
DE: KDE
WM: KWin
WM Theme: Breezemite
Theme: Breeze [KDE], Adwaita [GTK2], X-Arc-Plus [GTK3]
Icons: Papirus-Light [KDE], Adwaita [GTK2], Papirus [GTK3]
Terminal: konsole
Terminal Font: DejaVu Sans Mono 10
CPU: Intel i7-7700HQ (8) @ 3.800GHz
GPU: Intel Device 591b
Memory: 1758MiB / 7851MiB
我正在使用专有的 Nvidia 驱动程序。不是 Bumblebee 或 nouveau,因为它们的性能受到打击。
uname -a
: Linux ArchLinux 4.18.14-arch1-1-ARCH #1 SMP PREEMPT 2018 年 10 月 13 日星期六 13:42:37 UTC x86_64 GNU/Linux
pacman -Q nvidia
: 英伟达 410.57-6
我启用了KMS以消除屏幕撕裂,但禁用它并没有帮助。我没有 xorg.conf 文件,因为当我这样做时,即使 SDDM 也不会启动。nvidia-xconfig
从来没有为我工作过。
日志:
/var/log/Xorg.0.log
:
这些都是在禁用 SDDM 的情况下执行的,所以我只登录到第一个 tty:
执行时startx
:https ://hastebin.com/zadepawiwo
执行时xinit
:https ://hastebin.com/muredinume
启用 SDDM 后,正常启动: https ://hastebin.com/anatocavur
(hastebin 是正确的地方还是我应该将它们上传到其他地方?)
编辑:这是我执行时在终端中看到的内容:
sudo startx
:(那个 d-bus 的东西可能很有趣,但我不知道它是什么意思)。
这是我的 .xinitrc:
#!/bin/sh
userresources=$HOME/.Xresources
usermodmap=$HOME/.Xmodmap
sysresources=/etc/X11/xinit/.Xresources
sysmodmap=/etc/X11/xinit/.Xmodmap
xsetroot -cursor_name left_ptr
xrandr --output eDP-1 --primary
xrandr --output HDMI-1 --above eDP-1
xrandr --dpi 96
# merge in defaults and keymaps
if [ -f $sysresources ]; then
xrdb -merge $sysresources
fi
if [ -f $sysmodmap ]; then
xmodmap $sysmodmap
fi
if [ -f "$userresources" ]; then
xrdb -merge "$userresources"
fi
if [ -f "$usermodmap" ]; then
xmodmap "$usermodmap"
fi
# start some nice programs
if [ -d /etc/X11/xinit/xinitrc.d ] ; then
for f in /etc/X11/xinit/xinitrc.d/?*.sh ; do
[ -x "$f" ] && . "$f"
done
unset f
fi
sxhkd &
statnot &
feh --bg-fill ~/Pictures/DnA7hZgU8AAxfxC.jpg:large.jpg
exec bspwm
至于此处的“可能重复” ,我尝试了他们的解决方案,但没有奏效。对我来说,SDDM 可以在我启用它时启动,但我想在没有 DM 的情况下使用 bspwm。
在我的 BIOS 设置中禁用 NVIDIA GPU 可以startx
正常工作,这表明问题出在 NVIDIA 上。我的司机有问题吗?是别的吗?
添加
到我的
~/.xinitrc
文件,这使我能够在 BIOS 中启用我的 NVIDIA GPU 启动,而无需 SDDM。尚未添加的原因是因为在使用 SDDM 时,我必须将其添加到
/usr/share/sddm/scripts/Xsetup
而不是 to~/.xinitrc
。我完全忘记了我没有像这里所说的那样将它添加到我的文件~/.xinitrc
中。