I am currently trying to make an autonomous drone using the Robot Operating System (ROS). To do this, I have installed Raspbian Lite (Jessie) on a Rasperry Pi 3 and am currently using ROS Kinetic on it. Because it is Raspbian Lite, there were no window managers or desktop environments that came along with the installation. I decided to go with Openbox Window Manager and installed a terminal onto it for convenience. I can just call sudo startx, and the window manager opens up, which can be accesed by Ctrl + alt + F2. Since it is a system-wide terminal, I have also installed tmux for convenience. I am running the xserver on a particular pane and conduct my ROS work on other panes. Now when I try to run commands that call on a GUI application from my system-wide terminal, I get the error:QxcbConnection: Could not connect to displayAbortedNow there are two ways to approach this problem: Since there is a terminal installed in my Window Manager, I should get ROS working on this? However, I do not know how to change the environment of the terminal emulator inside the window manager so that it is the same as the one on the system-wide terminal. Is it as easy as changing shells? Actually find a way to send my GUI applications to the tmux pane that is currently running the command sudo startx. How do I switch the parent of a process with another parent? NOTE: I definitely would prefer the second solution, as it is more elegant and efficient for my workflow. 
How to connect to a xserver from my system-wide terminal?
tmux;raspbian;gui;openbox;x server
In a terminal in your GUI environment, type:xhost +In the non-GUI environment, type:export DISPLAY=localhost:0Then, graphical applications that you launch from the non-GUI environment will be displayed in the GUI environment.You can read more in man xhostSee also this answer from: What does this xhost  command do?