OpenSuse "cannot connect X Server" error
-
To access a remote display, you need to set an environment variable. In you case, the display ":0.0" refers to a local X-Server.
For example, you connect a Linux computer with a running X-Server to the network, then on that computer execute the command "sudo xhost +". This allows other computers to access your display.
Then on the embedded system open a shell and enter "export DISPLAY=192.168.1.2:0.0" before you start the program in the same shell. Of yourse, you have to enter the IP-Address of the Linux computers that provides the X-Server.
-
I wrote "sudo xhost +" on ubuntu 14.04 which is my development machine then “export DISPLAY=192.168.14.129:0.0” on my opensuse JEOS Intel Atom machine but I doesnt work. On ubuntu qtcreator it returns :
"testGUI: cannot connect to X server :0.0
Application finished with exit code 1."When I working with Arm Board there is green screen is coming while Qt apps are working , why does it not coming now? On Arm I was using minimal linux and it was not better than OpenSuse I can not understand now. Do I install any package about qt, qtembedded or Gtk or QWS ?
-
I wrote simple console application It is working perfect but GUIs doesnt work.
-
Then the question here is do you have a frame buffer device ? Something like /dev/fb0 ?
@ Gianluca qws was designed to run on system without X. The minimal requirement was a functional linux frame buffer. There were several plugins like e.g. DirectFB. So it might be used here if the minimal conditions are present.
-
Yeah SGaist I can see /dev/fb0.
is this means I have frame buffer , how can I run it -
Build Qt with the -embedded option like you did for ARM but don't cross-compile it. Then use that version of Qt to build your program and copy it on your target so that it will also be used there
-
I realized something that while I can configuring qt elsewhere 4.8.6 I only used "./configure".But Actually I didnt add -embedded prefix to configuration and maybe gui codes are tying to connect X server instead of Virtual Frame Buffer.I will reconfigure qt and then I will turn.
thanks. -
Don't forget to clean before you call configure again, you can also build several plugins at once e.g. the VFB and the linux frame buffer/DirectFB/what you need. It will avoid you to build them again later when you want to run your application on your target.
-
Hi,
SGAist , Which one do you suggest ? I thought to configure like "./configure -embedded i386". -
I found something on net for "cannot connect X server "in below,
Solution:
- Place the correct QT libraries on the embedded platform and specify the path using LD_LIBRARY_PATH (I havent tried this)
- use -static switch in the QT library ./configure. This will pretent the executable from looking for the QT libraries. (I tried this and it works). However this will still ask for /lib/fonts, which i had to copy from the host environment.
I tried first one and problem still occurs.I couldnt understand second one how can I add "-static"?
-
It will only work when you will be using an embedded version of Qt.
It will depend on your target OS either x86 or x86_64
-
Hi,
Before I try -embedded configure :
If I write "xinit ./calculator -qws" it works but when I try "./calculator -qws" it doesnt work cannot connect X server.
After -mbedded configure
"xinit ./calculator -qws" doesnt work too. -
As long as you are working on your desktop use the standard Qt. Once you are ready to test it on your target, compile your application with the embedded version and start that version on your board, provided you also put the embedded Qt libs in the right place on the target