Zorin cannot show desktop with regular or with Unity, only with Wayland

Hi there guys. I recently installed Zorin and I am having really good time with it.

However, I've reached a problem that I cannot solve. Up until yesterday I was working all fine. For a few days I didn't restart my computer, just put it to sleep during the night. Everything worked: Plank was working as a dock, Internet, gufw, WiFi etc. I even succeeded playing some games with POL/Wine.

What I did (and that I remember), though, is update the system and didn't restart during these days. But yesterday when I finally did the restart I was greeted with the standard Zorin login screen, beside which I cannot reach the desktop with Unity or with standard Zorin. It just shows a blank screen for a second, and then reverts me back to the login screen

Zorin on Wayland works, though. But a very weird thing I noticed now is that everything looks out of proportion i.e. too big, even though the scaling is still set to 100% (it was very tiny before).

Also, a week ago I did try to enable fractional scaling by using gnome tweaks etc. but it didn't work, so I reverted back to the default value (i.e. empty).

Now Plank doesn't start. When I try to start it from the terminal it says this:

[WARN 10:10:13.905259] [Environment:161] XDG_SESSION_CLASS not set in this environment!
[CRITICAL 10:10:13.905318] [AbstractMain:257] Only X11 environments are supported.

Gufw also doesn't start. When trying to start it from terminal it says:

\No protocol specified
Unable to init server: Could not connect: Connection refused
No protocol specified
Unable to init server: Could not connect: Connection refused

(gufw.py:3157): Gdk-CRITICAL **: 10:11:00.247: gdk_keymap_get_for_display: assertion 'GDK_IS_DISPLAY (display)' failed

(gufw.py:3157): Gdk-CRITICAL **: 10:11:00.247: gdk_keymap_get_modifier_mask: assertion 'GDK_IS_KEYMAP (keymap)' failed

(gufw.py:3157): Gdk-CRITICAL **: 10:11:00.247: gdk_keymap_get_for_display: assertion 'GDK_IS_DISPLAY (display)' failed

(gufw.py:3157): Gtk-CRITICAL **: 10:11:00.247: _gtk_replace_virtual_modifiers: assertion 'GDK_IS_KEYMAP (keymap)' failed

(gufw.py:3157): Gdk-CRITICAL **: 10:11:00.247: gdk_keymap_get_for_display: assertion 'GDK_IS_DISPLAY (display)' failed

(gufw.py:3157): Gdk-CRITICAL **: 10:11:00.247: gdk_keymap_get_modifier_mask: assertion 'GDK_IS_KEYMAP (keymap)' failed

(gufw.py:3157): Gdk-CRITICAL **: 10:11:00.247: gdk_keymap_get_for_display: assertion 'GDK_IS_DISPLAY (display)' failed

(gufw.py:3157): Gtk-CRITICAL **: 10:11:00.247: _gtk_replace_virtual_modifiers: assertion 'GDK_IS_KEYMAP (keymap)' failed

(gufw.py:3157): Gdk-CRITICAL **: 10:11:00.247: gdk_keymap_get_for_display: assertion 'GDK_IS_DISPLAY (display)' failed

(gufw.py:3157): Gdk-CRITICAL **: 10:11:00.247: gdk_keymap_get_modifier_mask: assertion 'GDK_IS_KEYMAP (keymap)' failed

(gufw.py:3157): Gdk-CRITICAL **: 10:11:00.247: gdk_keymap_get_for_display: assertion 'GDK_IS_DISPLAY (display)' failed

(gufw.py:3157): Gtk-CRITICAL **: 10:11:00.247: _gtk_replace_virtual_modifiers: assertion 'GDK_IS_KEYMAP (keymap)' failed

(gufw.py:3157): Gdk-CRITICAL **: 10:11:00.247: gdk_keymap_get_for_display: assertion 'GDK_IS_DISPLAY (display)' failed

(gufw.py:3157): Gdk-CRITICAL **: 10:11:00.247: gdk_keymap_get_modifier_mask: assertion 'GDK_IS_KEYMAP (keymap)' failed

(gufw.py:3157): Gdk-CRITICAL **: 10:11:00.247: gdk_keymap_get_for_display: assertion 'GDK_IS_DISPLAY (display)' failed

(gufw.py:3157): Gtk-CRITICAL **: 10:11:00.247: _gtk_replace_virtual_modifiers: assertion 'GDK_IS_KEYMAP (keymap)' failed

(gufw.py:3157): Gdk-CRITICAL **: 10:11:00.247: gdk_keymap_get_for_display: assertion 'GDK_IS_DISPLAY (display)' failed

(gufw.py:3157): Gdk-CRITICAL **: 10:11:00.247: gdk_keymap_get_modifier_mask: assertion 'GDK_IS_KEYMAP (keymap)' failed

(gufw.py:3157): Gdk-CRITICAL **: 10:11:00.247: gdk_keymap_get_for_display: assertion 'GDK_IS_DISPLAY (display)' failed

(gufw.py:3157): Gtk-CRITICAL **: 10:11:00.247: _gtk_replace_virtual_modifiers: assertion 'GDK_IS_KEYMAP (keymap)' failed

(gufw.py:3157): Gdk-CRITICAL **: 10:11:00.247: gdk_keymap_get_for_display: assertion 'GDK_IS_DISPLAY (display)' failed

(gufw.py:3157): Gdk-CRITICAL **: 10:11:00.247: gdk_keymap_get_modifier_mask: assertion 'GDK_IS_KEYMAP (keymap)' failed

(gufw.py:3157): Gdk-CRITICAL **: 10:11:00.247: gdk_keymap_get_for_display: assertion 'GDK_IS_DISPLAY (display)' failed

(gufw.py:3157): Gtk-CRITICAL **: 10:11:00.247: _gtk_replace_virtual_modifiers: assertion 'GDK_IS_KEYMAP (keymap)' failed

(gufw.py:3157): Gdk-CRITICAL **: 10:11:00.247: gdk_keymap_get_for_display: assertion 'GDK_IS_DISPLAY (display)' failed

(gufw.py:3157): Gdk-CRITICAL **: 10:11:00.247: gdk_keymap_get_modifier_mask: assertion 'GDK_IS_KEYMAP (keymap)' failed

(gufw.py:3157): Gdk-CRITICAL **: 10:11:00.247: gdk_keymap_get_for_display: assertion 'GDK_IS_DISPLAY (display)' failed

(gufw.py:3157): Gtk-CRITICAL **: 10:11:00.247: _gtk_replace_virtual_modifiers: assertion 'GDK_IS_KEYMAP (keymap)' failed

(gufw.py:3157): Gdk-CRITICAL **: 10:11:00.247: gdk_keymap_get_for_display: assertion 'GDK_IS_DISPLAY (display)' failed

(gufw.py:3157): Gdk-CRITICAL **: 10:11:00.247: gdk_keymap_get_modifier_mask: assertion 'GDK_IS_KEYMAP (keymap)' failed

(gufw.py:3157): Gdk-CRITICAL **: 10:11:00.247: gdk_keymap_get_for_display: assertion 'GDK_IS_DISPLAY (display)' failed

(gufw.py:3157): Gtk-CRITICAL **: 10:11:00.247: _gtk_replace_virtual_modifiers: assertion 'GDK_IS_KEYMAP (keymap)' failed

(gufw.py:3157): Gdk-CRITICAL **: 10:11:00.247: gdk_keymap_get_for_display: assertion 'GDK_IS_DISPLAY (display)' failed

(gufw.py:3157): Gdk-CRITICAL **: 10:11:00.247: gdk_keymap_get_modifier_mask: assertion 'GDK_IS_KEYMAP (keymap)' failed

(gufw.py:3157): Gdk-CRITICAL **: 10:11:00.247: gdk_keymap_get_for_display: assertion 'GDK_IS_DISPLAY (display)' failed

(gufw.py:3157): Gtk-CRITICAL **: 10:11:00.247: _gtk_replace_virtual_modifiers: assertion 'GDK_IS_KEYMAP (keymap)' failed

(gufw.py:3157): Gdk-CRITICAL **: 10:11:00.247: gdk_keymap_get_for_display: assertion 'GDK_IS_DISPLAY (display)' failed

(gufw.py:3157): Gdk-CRITICAL **: 10:11:00.247: gdk_keymap_get_modifier_mask: assertion 'GDK_IS_KEYMAP (keymap)' failed

(gufw.py:3157): Gdk-CRITICAL **: 10:11:00.247: gdk_keymap_get_for_display: assertion 'GDK_IS_DISPLAY (display)' failed

(gufw.py:3157): Gtk-CRITICAL **: 10:11:00.247: _gtk_replace_virtual_modifiers: assertion 'GDK_IS_KEYMAP (keymap)' failed
/usr/bin/gufw-pkexec: line 13: 3157 Segmentation fault python3 ${LOCATIONS[${i}]} $1

Help! I am a Linux newbie! How can I diagnose this, and what's the way to solve it!?

Thanks for input, I appreciate it.

Right off the bat, GUFW and Plank both do not work in Wayland and will spit out those errors.

Wayland is being pushed, since it cuts out a few middle men... But the sad fact is that it is nowhere near ready for distribution.

As to why your desktop does not start- You said Unity, but I suspect you meant Gnome.
The first thing I would try in that situation is

sudo apt-get install -y zorin-os-desktop

The update you were running may have been interrupted causing corruption.
During this time that you can access your machine using Wayland, I would encourage you to Back Up All personal Files... Just in case...

1 Like

Oh my, I can’t believe it. Running that simple command and reinstalling zorin-os-desktop worked. What the hell? How could zorin desktop be uninstalled?!

Anyways, thanks a lot for the solution. Seems it is working great. Plank works, Gufw works, everything is OK–except the oversized things.

BTW it did say Unity as an option at the login screen. Don’t know what it means, though (even though I know it is somehow connected to Ubuntu).

Unity was a Desktop Environment that Canonical developed as a replacement for Gnome Desktop. It was well liked and popular... But Canonical decided to drop the project some years back and go back to using Gnome.
How it is offered, I have no idea. Perhaps was included in something you installed?

Have you run the command in terminal:

sudo apt autoremove

Recently?

1 Like

Yes, I might have. You think that’s the potential culprit?

I also have no idea how Unity is offered, don’t really care now :smiley:

Yes, it is best to always check what autoremove is going to remove before confirming it.
As an aside, now that you have installed Zorin Desktop manually, it can no longer be autoremoved- so this will not happen again.
It’s a neat trick I often do after reinstalling Zorin OS, I “sudo apt install____” software that I know is already installed, just to set them to ‘manually installed’ so that they will not get included in an autoremove in future.

3 Likes