我无法启动我的电脑,因为 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 驱动程序。不是大黄蜂或新贵,因为它们的性能受到影响。
uname -a
:Linux ArchLinux 4.18.14-arch1-1-ARCH #1 SMP PREEMPT 10 月 13 日星期六 13:42:37 UTC 2018 x86_64 GNU/Linux
pacman -Q nvidia
: 英伟达 410.57-6
我启用了知识管理系统消除屏幕撕裂,但禁用它并没有帮助。我没有 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 上。是我的驱动程序有问题吗?难道是别的什么?
答案1
添加
xrandr --setprovideroutputsource modesetting NVIDIA-0
xrandr --auto
到我的~/.xinitrc
文件中,这使我能够在 BIOS 中启用 NVIDIA GPU 的情况下启动,并且无需 SDDM。
尚未添加的原因是因为在使用 SDDM 时我必须将其添加到/usr/share/sddm/scripts/Xsetup
而不是添加到~/.xinitrc
.我完全忘记了我没有~/.xinitrc
像它所说的那样将其添加到我的文件中这里。