Runlevel 3 gives black screen, no response

I’m running OpenSUSE Leap 42.1 with GNOME. I’m trying to get my system into runlevel 3, but every time I try, I get a black screen and the system will no longer respond (Ctrl+Alt+Fx doesn’t work anymore). I am running NVIDIA video drivers if that matters.

Can anybody help me diagnose this problem?

Sounds like it’s still booting to the graphical target…

Boot from a rescue USB/CD and then mount / manually, then change the systemd link to runlevel 3;

mount /dev/sdNX /mnt
cd /mnt/etc/systemd/system
ln -s /usr/lib/systemd/system/
umount /mnt
systemctl reboot

Is the Nvidia driver an rpm install or via the run file? If rpm, then it’s probably not been rebuilt for your running kernel.

The other option at boot is to boot into the old kernel, select advanced options at grub.

Please tell how you try? Your way of doing it might be correct, but we can not check that when you keep it as a secret. :wink:

I’ve tried several way, and don’t remember them all. <sigh>

The last I tried was using Ctrl+Alt+Backspace to log out user. However, since I’m on GNOME, I can’t figure out how to log back in to CLI rather than into a GUI. After doing the Ctrl+Alt+Backspace, and getting to the login screen, I used Ctrl+Alt+F2 to get into a command line screen. I then logged in as root, then ran, telinit 3.

I installed it via rpm through YAST.

I’ll try your suggestions and let you know if they work.

I installed it via rpm through YAST.

I tried your suggestion of using advanced options at grub, and that worked.

I though there used to be a way to reboot and have the system restart in a predefined runlevel. Was that pre-GRUB only?

So, you running the older kernel, what you need to do is look at the download location for the nvidia driver and ensure it matches that newer kernel.

If your check does confirm the new driver (rpm) is present, if it does then you can set the system to runlevel 3 via;

systemctl set-default

Reboot the system and manually update the nvidia driver via zypper (it will boot to runlevel 3).

Then when updated, set the default back to via systemctl and reboot to the new kernel.

Does that make sense?

Yeah. I just did that and it’s working fine. Thanks for the help!