Terminator not starting

Hi,

I’m trying opensuse for the first time an I would like to use it as my daily distribution.
The only thing that’s not working is termiantor, it complains about $DISPLAY:

5006415:~ #terminator
You need to run terminator in an X environment. Make sure $DISPLAY is properly set

I read about problems when the hostname, /etc/hosts or the $DISPALY is not properly set so I tried different setups:

Here is the actual:
5006415:~ # echo $DISPLAY
:0
5006415:~ # cat /etc/hostname
5006415
5006415:~ # cat /etc/hosts

hosts This file describes a number of hostname-to-address

mappings for the TCP/IP subsystem. It is mostly

used at boot time, when no name servers are running.

On small systems, this file can be used instead of a

“named” name server.

Syntax:

IP-Address Full-Qualified-Hostname Short-Hostname

127.0.0.1 localhost

special IPv6 addresses

::1 localhost ipv6-localhost ipv6-loopback

fe00::0 ipv6-localnet

ff00::0 ipv6-mcastprefix
ff02::1 ipv6-allnodes
ff02::2 ipv6-allrouters
ff02::3 ipv6-allhosts

I also searched for the corresponding line in /usr/bin/terminator and commented it out:

Check we have simple basics like Gtk+ and a valid $DISPLAY

#try:

import gi

gi.require_version(‘Gtk’,‘3.0’)

# pylint: disable-msg=W0611

from gi.repository import Gtk, Gdk

if Gdk.Display.get_default() == None:

print('You need to run terminator in an X environment. ’ \

‘Make sure $DISPLAY is properly set’)

sys.exit(1)

Then this error comes up when stating terminator:

5006415:~> terminator
/usr/lib/python2.7/site-packages/terminatorlib/util.py:19: PyGIWarning: Gtk was imported without specifying a version first. Use gi.require_version(‘Gtk’, ‘3.0’) before import to ensure that the right version gets loaded.
from gi.repository import Gtk, Gdk

(process:17581): Gdk-CRITICAL **: gdk_display_get_name: assertion ‘GDK_IS_DISPLAY (display)’ failed

(process:17581): Gdk-CRITICAL **: gdk_keymap_get_for_display: assertion ‘GDK_IS_DISPLAY (display)’ failed

(process:17581): Gdk-CRITICAL **: gdk_keymap_get_for_display: assertion ‘GDK_IS_DISPLAY (display)’ failed

(process:17581): Gdk-CRITICAL **: gdk_screen_get_root_window: assertion ‘GDK_IS_SCREEN (screen)’ failed

(process:17581): Gdk-CRITICAL **: gdk_keymap_have_bidi_layouts: assertion ‘GDK_IS_KEYMAP (keymap)’ failed
/usr/lib/python2.7/site-packages/terminatorlib/window.py:24: Warning: invalid (NULL) pointer instance
Keybinder.init()
/usr/lib/python2.7/site-packages/terminatorlib/window.py:24: Warning: g_signal_connect_data: assertion ‘G_TYPE_CHECK_INSTANCE (instance)’ failed
Keybinder.init()
Segmentation fault (core dumped)

any advice how to continue?

br
Daniel

Hello and welcome here.

We have a difficult to find, but important feature on the forums.

Please in the future use CODE tags (not QUOTE tags) around copied/pasted computer text in a post. It is the # button in the tool bar of the post editor. When applicable copy/paste complete, that is including the prompt, the command, the output and the next prompt.

That said, it looks as if you try to run that program (II do not knoe it, but it seems to be a graphical X-windows program) from a root terminal session. I do not know if you have any X-session (GUI) running at that moment in time, but when no, there is no X screen to display it on, and thus it can not do anything useful.

When yes, that GUI session is most probably from some end-user, and that end-user has not allowed the user that tries to start terminator (root) access to his session. Imagine that every user could open windows on your session at will and thus being able to see exactly what you are doing!

BTW, as said, I do not know that program, but should it really being run by user root??

Thanks for the hint with the quotes!

I stated terminator as root as well as my normal user, without any difference.
X-Server must be running, I installed xclock and it it working fine…

br

You say you start it as end-user and as root, but I explaned that I do not know the application, thus I have no idea if it is a good idea to start it as root.

As long as you do not explain …

You can find the Homepage here https://gnometerminator.blogspot.co.at/p/introduction.html

It can be run as normal user as well as root.
I’m also running it without any problem on LEAP.

Hi
So is this a local machine or a remote one? If remote, how are you connecting?

What desktop environment?

FWIW, it runs fine on a local machine and a remote ssh -X session with GNOME desktop.

System all up to date (snapshot 20170830)?

Working fine for me, too.
Did a “zypper dup” and then installed Terminator.
Running an XFCE Desktop, found the menu item under “System”
Launched.
Then, split the screen with a CTL-SHFT- followed by another split CTL-SHFT-O.

TSU

I’m using KDE on my laptop and start terminator local.

After upgrading with zypper dup, reboot and reinstall terminator, the error persists.

…and if I connect to my server using ssh -X
start terminator there, the window is opening fine on my laptop.

NAME=“openSUSE Tumbleweed”

VERSION=“20170830”

The Terminator home page you referenced contains numerous references to gnome, perhaps the most revealing one of the mail lists for discussig problems gnome-terminator@lists.launchpad.net which perhaps reveals the real and original name of the application. Although just because “gnome” may be in the name of the application doesn’t necessarily mean it is built on gnome components, it’s still a reasonable assumption.

So, there are various ways you can install a gnome subsystem, one is by installing the pattern using YaST Software Management or zypper.
Perhaps the easiest is to install XFCE (or any other Desktop which in almost all cases will be built on gnome subsysterms), then perhaps update your system afterwards. Note that you should not need to be running a Desktop like XFCE, just install it so the components can be used.

HTH,
TSU

For some reason there’s a missing dependency. After installing

python2-gobject-Gdk

(and/or maybe python3-gobject-Gdk) the app started working.