android@android:~$ gufw
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:21126): Gdk-CRITICAL **: gdk_keymap_get_for_display: assertion 'GDK_IS_DISPLAY (display)' failed
(gufw.py:21126): Gdk-CRITICAL **: gdk_keymap_get_modifier_mask: assertion 'GDK_IS_KEYMAP (keymap)' failed
(gufw.py:21126): Gdk-CRITICAL **: gdk_keymap_get_for_display: assertion 'GDK_IS_DISPLAY (display)' failed
(gufw.py:21126): Gtk-CRITICAL **: _gtk_replace_virtual_modifiers: assertion 'GDK_IS_KEYMAP (keymap)' failed
(gufw.py:21126): Gdk-CRITICAL **: gdk_keymap_get_for_display: assertion 'GDK_IS_DISPLAY (display)' failed
(gufw.py:21126): Gdk-CRITICAL **: gdk_keymap_get_modifier_mask: assertion 'GDK_IS_KEYMAP (keymap)' failed
(gufw.py:21126): Gdk-CRITICAL **: gdk_keymap_get_for_display: assertion 'GDK_IS_DISPLAY (display)' failed
(gufw.py:21126): Gtk-CRITICAL **: _gtk_replace_virtual_modifiers: assertion 'GDK_IS_KEYMAP (keymap)' failed
(gufw.py:21126): Gdk-CRITICAL **: gdk_keymap_get_for_display: assertion 'GDK_IS_DISPLAY (display)' failed
(gufw.py:21126): Gdk-CRITICAL **: gdk_keymap_get_modifier_mask: assertion 'GDK_IS_KEYMAP (keymap)' failed
(gufw.py:21126): Gdk-CRITICAL **: gdk_keymap_get_for_display: assertion 'GDK_IS_DISPLAY (display)' failed
(gufw.py:21126): Gtk-CRITICAL **: _gtk_replace_virtual_modifiers: assertion 'GDK_IS_KEYMAP (keymap)' failed
(gufw.py:21126): Gdk-CRITICAL **: gdk_keymap_get_for_display: assertion 'GDK_IS_DISPLAY (display)' failed
(gufw.py:21126): Gdk-CRITICAL **: gdk_keymap_get_modifier_mask: assertion 'GDK_IS_KEYMAP (keymap)' failed
(gufw.py:21126): Gdk-CRITICAL **: gdk_keymap_get_for_display: assertion 'GDK_IS_DISPLAY (display)' failed
(gufw.py:21126): Gtk-CRITICAL **: _gtk_replace_virtual_modifiers: assertion 'GDK_IS_KEYMAP (keymap)' failed
(gufw.py:21126): Gdk-CRITICAL **: gdk_keymap_get_for_display: assertion 'GDK_IS_DISPLAY (display)' failed
(gufw.py:21126): Gdk-CRITICAL **: gdk_keymap_get_modifier_mask: assertion 'GDK_IS_KEYMAP (keymap)' failed
(gufw.py:21126): Gdk-CRITICAL **: gdk_keymap_get_for_display: assertion 'GDK_IS_DISPLAY (display)' failed
(gufw.py:21126): Gtk-CRITICAL **: _gtk_replace_virtual_modifiers: assertion 'GDK_IS_KEYMAP (keymap)' failed
(gufw.py:21126): Gdk-CRITICAL **: gdk_keymap_get_for_display: assertion 'GDK_IS_DISPLAY (display)' failed
(gufw.py:21126): Gdk-CRITICAL **: gdk_keymap_get_modifier_mask: assertion 'GDK_IS_KEYMAP (keymap)' failed
(gufw.py:21126): Gdk-CRITICAL **: gdk_keymap_get_for_display: assertion 'GDK_IS_DISPLAY (display)' failed
(gufw.py:21126): Gtk-CRITICAL **: _gtk_replace_virtual_modifiers: assertion 'GDK_IS_KEYMAP (keymap)' failed
(gufw.py:21126): Gdk-CRITICAL **: gdk_keymap_get_for_display: assertion 'GDK_IS_DISPLAY (display)' failed
(gufw.py:21126): Gdk-CRITICAL **: gdk_keymap_get_modifier_mask: assertion 'GDK_IS_KEYMAP (keymap)' failed
(gufw.py:21126): Gdk-CRITICAL **: gdk_keymap_get_for_display: assertion 'GDK_IS_DISPLAY (display)' failed
(gufw.py:21126): Gtk-CRITICAL **: _gtk_replace_virtual_modifiers: assertion 'GDK_IS_KEYMAP (keymap)' failed
(gufw.py:21126): Gdk-CRITICAL **: gdk_keymap_get_for_display: assertion 'GDK_IS_DISPLAY (display)' failed
(gufw.py:21126): Gdk-CRITICAL **: gdk_keymap_get_modifier_mask: assertion 'GDK_IS_KEYMAP (keymap)' failed
(gufw.py:21126): Gdk-CRITICAL **: gdk_keymap_get_for_display: assertion 'GDK_IS_DISPLAY (display)' failed
(gufw.py:21126): Gtk-CRITICAL **: _gtk_replace_virtual_modifiers: assertion 'GDK_IS_KEYMAP (keymap)' failed
(gufw.py:21126): Gdk-CRITICAL **: gdk_keymap_get_for_display: assertion 'GDK_IS_DISPLAY (display)' failed
(gufw.py:21126): Gdk-CRITICAL **: gdk_keymap_get_modifier_mask: assertion 'GDK_IS_KEYMAP (keymap)' failed
(gufw.py:21126): Gdk-CRITICAL **: gdk_keymap_get_for_display: assertion 'GDK_IS_DISPLAY (display)' failed
(gufw.py:21126): Gtk-CRITICAL **: _gtk_replace_virtual_modifiers: assertion 'GDK_IS_KEYMAP (keymap)' failed
(gufw.py:21126): Gdk-CRITICAL **: gdk_keymap_get_for_display: assertion 'GDK_IS_DISPLAY (display)' failed
(gufw.py:21126): Gdk-CRITICAL **: gdk_keymap_get_modifier_mask: assertion 'GDK_IS_KEYMAP (keymap)' failed
(gufw.py:21126): Gdk-CRITICAL **: gdk_keymap_get_for_display: assertion 'GDK_IS_DISPLAY (display)' failed
(gufw.py:21126): Gtk-CRITICAL **: _gtk_replace_virtual_modifiers: assertion 'GDK_IS_KEYMAP (keymap)' failed
/usr/bin/gufw-pkexec: line 13: 21126 Segmentation fault (core dumped) python3 ${LOCATIONS[${i}]} $1

- 1,335
5 Answers
I'm a Gufw developer.
You can not run any root UI (Gparted, Synaptic, Gufw...) because of Wayland.
Related bug: https://bugs.launchpad.net/ubuntu/+source/gui-ufw/+bug/1713238
All info here: https://bugs.launchpad.net/ubuntu/+source/backintime/+bug/1713313/comments/44
As you can read in that link, I'm afraid that it will be not fixed, because it was closed as won't fix :/
https://bugzilla.redhat.com/show_bug.cgi?id=1274451
A hug and I'm so sorry.

- 2,278
-
-
@GunnarHjalmarsson is not related to Ubuntu, it's related to Wayland. Any root UI in a distro with Wayland will not work :( – Costales Oct 24 '17 at 21:47
-
1Right, but I have the impression that they plan to implement some kind of fix/workaround. Maybe I'm wrong. Also, please see the answer I just posted. – Gunnar Hjalmarsson Oct 24 '17 at 22:31
-
1why doesn't wayland allow those apps to work? seems like a serious downside to using wayland – Eman Jan 13 '18 at 02:26
-
@GunnarHjalmarsson I think what needs to happen is that apps like Gufw need to use PolicyKit? – Ads20000 May 04 '18 at 11:17
A dirty workaround, but this is one way to make gufw work on Ubuntu 17.10 with Wayland:
Create the file
~/bin/gufw
and give it this contents:#!/bin/sh xhost SI:localuser:root /usr/bin/gufw xhost -SI:localuser:root
Make the file executable:
chmod +x ~/bin/gufw
Edit:
A more step by step explanation would be:
- Press Ctrl+Alt+T to open a terminal window.
Run the command:
mkdir -p bin
(i.e. type it and press Enter)
Open the gedit text editor with this command:
gedit bin/gufw
Copy the contents as above and paste it into the gedit window.
Save and quit gedit.
Run the command:
chmod +x bin/gufw
Quit the terminal window by running the command:
exit

- 33,540
- 3
- 64
- 94
-
Thanks! Entering
xhost +SI:localuser:root
in the command line was enough to run it, but I'm not sure it's gonna survive restarting my computer. – Joe Eifert Mar 01 '18 at 07:29 -
@Johannes: It won't, but the above suggested solution survives a reboot. – Gunnar Hjalmarsson Mar 01 '18 at 16:24
Re-installation not really required;
After a quick search, I found that Gufw is missing a python dependency. It appears that the python-gi package needs to be added as a dependency.
Steps to fix:
- sudo apt install python-gi
- gufw
- Type in password

- 33,355
- 17
- 105
- 120

- 31
-
-
Does not fix it for me (running
Mint 18.2 Sonya
based on16.04.1-Ubuntu
) – DBX12 Apr 15 '18 at 09:25
I had the same issue. Accidentally found the solution for gparted over SSH here.
sudo -E gufw
This should work - assuming /etc/ssh/sshd_config
is properly configured.

- 19,615
- 55
- 79
- 83

- 1
xhost si:localuser:root
pip3 install ufw
sudo apt-get install python-gobject
sudo apt-get install --reinstall gufw
sudo gufw
worked for me on Ubuntu 18.04! I had the same issue! I hope I'm not forgetting any cmd as I tried a lot of things...
sudo apt-get install python-gobject && sudo apt-get install --reinstall gufw
– lcipriani Apr 27 '16 at 09:06