Hi guys, I am teaching myself linux system for a lab work. I have used 13.1 for half a year, but not I am not quite familiar with the system. I really hope someone would help me figure out this.
I installed Leap 42.1 last week, and installed the proper Nvidia driver following the official instruction (I checked the video card and driver information after that). Everything was fine until I switched user account. The Genome graphic login screen does not show up. I have a text login screen and the “startx” command only works for root. But If I logout and login again, the screen is fine.
I have checked Yast service manager for what is going on. If I switch account and use startx as root, the X display manager is not active. The information I found there is:
C:\Users\Shiyun\Downloads
This is my first time trying to post a picture to a forum. Well it does show up. So I typed words of the error message here. Please help me!
Starting service gdm … done
Failed to give slave programs access to the display. Trying to proceed.
pam_unix(gdm-password:session): session opened for user test by (unknown)(uid=0)
Child process 896 was already dead.
GdmDisplay:display lasted 0.032916 seconds
gdm_display_finish: assertion ‘GDM_IS_DISPLAY (display)’ failed
GLib: Source ID 44 was not found when attempting to remove it
Failed to give slave programs access to the display. Trying to proceed.
pam_unix(gdm-password:session): session opened for user test by (unknown)(uid=0)
To your problem:
Is this maybe an Optimus system? (laptop with hybrid intel and nvidia graphics)
You cannot install the standard nvidia packages there, as the system normally runs on the intel chip. Installing the nvidia driver breaks the intel driver (OpenGL support in particular which is required by GNOME and GDM).
In that case, remove the nvidia packages again, and the repo. You can use yast in text mode too, or run:
Yes, startx doesn’t run the display manager, it starts an X session directly.
Try “init 5” to start the display manager, or “systemctl start display-manager”.
Does this work?
Then probably only the default boot target is wrong, i.e. set to boot to text mode.
But then you wouldn’t get those messages you posted…
Does it help if you disable Auto-Login?
YaST->Security and Users->User and Group Management->Expert Options->Login Settings.
Ok, then it should work.
And apparently it does work, otherwise you wouldn’t get a login screen after logging out…
Although you could still try to disable the intel graphics in the BIOS settings if possible.
I have heard of people having problems in the past when both are active.
Init 5 and systemctl both work. Do you think default run level is the problem? I could not find the runlevel setting in Yast for the new system, and I have tried tricks like creating a innitab file. Nothing worked. I guess the runlevl is 5 because I get the graphic screen whenever restart or log out.
I checked the BIOS setting, the active card is PCI express, which might be the NVIDIA card.
I could not find the runlevel setting in Yast for the new system
YaST->System->Services Manager, or use:
sudo systemctl set-default graphical.target
Run “systemctl get-default” to see what is set as default.
and I have tried tricks like creating a innitab file.
inittab is not used at all by systemd, which is the default init system since openSUSE 12.1.
Nothing worked. I guess the runlevl is 5 because I get the graphic screen whenever restart or log out.
I’m not sure I understand this correctly.
You run “startx”, and when you logout then the login screen appears?
GDM shouldn’t show up at all then…
Does it help when you switch to VT7 (i.e. press Ctrl+Alt+F7) instead of logging in and running “startx” when the system boots to text mode?
Did you try to disable Auto-Login already?
Since you said this only started to happen after switching to a new user account, this might be the case.
GDM itself is independent of your user accounts after all…
I checked the BIOS setting, the active card is PCI express, which might be the NVIDIA card.
Likely, yes.
Unless you have a third card as well…
Sorry for my late reply. I left for the holidays. Hope you had wonderful days.
I have checked my default run level with “systemctl set-default”, which is graphical.target.
Auto-login is disabled for all accounts.
When the system boots to text mode, I have tried “Ctrl+Alt+F7”, the screen shows one sentence:
[OK] Started X Display Manager. _
Then it just stops there. Is there something wrong?
The information I got when switching user account is (where I get text login):
Starting Account Service …
[OK] Started Account Service.
Welcome to openSUSE Leap 42.1 - Kernel 4.1.13-5-default (tty1).
I have checked my default run level with “systemctl set-default”, which is graphical.target.
Auto-login is disabled for all accounts.
Ok.
When the system boots to text mode, I have tried “Ctrl+Alt+F7”, the screen shows one sentence:
[OK] Started X Display Manager. _
Then it just stops there. Is there something wrong?
That means that X (the graphical session) fails to start.
As a first step, I’d suggest to try a different login manager.
Edit /etc/sysconfig/displaymanager and set a different one, xdm should be installed by default:
DISPLAYMANAGER="xdm"
(edit the existing line)
It might be a problem with gdm starting on boot (a timing related problem maybe).
Although I’m not aware of a general issue regarding this.
Or the output of “systemctl status display-manager” (run as root) when the graphical session fails to start at boot might show a clue.
I am sorry for your loss.
Thanks for your reply.
XDM does not produce error because it does not offer a “switch user” option.
The output of “systemctl status display-manager” for gdm is exactly the error message I posted initially.
I am going to suggest my boss to either stick with 13.2 or just ignore the bug. Thanks for all you help!
I found something new. After I restarted the computer, the 'switch user" option showed up. But there is no response, by which I mean there is nothing happened. I guess there is something wrong for Leap to handle multiple users…
I tried with sddm and Plasma5 though, not gdm/GNOME.
So there might be a bug in gdm.
I’m not sure whether user switching should work with xdm, but maybe switching to a different displaymanager (e.g. lightdm, sddm, kdm) would help. They do support switching users, and it should work (again, with sddm it works fine in my Leap VM, and I’m using kdm on my 13.2 systems where user switching works fine as well).
If not, this is may be a graphics driver issue.
I do remember a thread from 1 or 2 years ago where the graphics driver was crashing when opening a second X session.
What graphics card/driver is it?
Or another problem specific to your installation. polkit comes to mind, or logind.
Did you enable autofs? This is known to cause permission problems in 13.2 because of timing problems during boot. I don’t know whether Leap is still affected by this though.
And just for clarity: one part of your original problem was that gdm didn’t start on boot, right?
This is fixed with xdm, I suppose?
That is a problem that might be connected to Auto-Login, as I suggested already.
You replied that “Auto-Login” is “disabled for all accounts”, but one actually doesn’t enable/disable this per account. It is a system-wide setting, Auto-Login can be set to one particular user, or disabled.
So, just to be sure: you do have DISPLAYMANAGER_AUTOLOGIN=“” (i.e. no user account set) in /etc/sysconfig/displaymanager?
Corresponding settings in your Desktop Environment (GNOME?) will have no effect.
xdm doesn’t support Auto-Login, so even when it is enabled you’ll still get the xdm login screen.
If something goes wrong with Auto-Login (when it is supported), the system might drop back to text mode instead of the login screen.
Thanks for help.
My video card is NVidia GeForce 750X. I installed the driver by adding Nvidia repository and zypper inr (the official way). I have switched to Plasma and sddm.
I can switch session. But plasma crashed quite often. There is a small window poping out:
“we are sorry, Plasma closed unexpectedly.”
Then I get a black screen after closing the window.
I.e. try to set one of those things in /etc/default/grub:
GRUB_TERMINAL_OUTPUT=console
GRUB_GFXPAYLOAD_LINUX=text
Run “sudo grub2-mkconfig -o /boot/grub2/grub.cfg” afterwards to recreate the boot menu and “apply” the setting.
I can switch session. But plasma crashed quite often. There is a small window poping out:
“we are sorry, Plasma closed unexpectedly.”
Then I get a black screen after closing the window.
You should be able to get the desktop back by running “plasmashell” (e.g. via the Alt+F2 dialog).