ssh jetson question

Hello! so I just ssh’d into my jetson from my laptop. I was using this video https://www.youtube.com/watch?v=D7lkth34rgM
to install it. Everything went perfect until I ssh’d into the board and tried to run the backend sample that is shown in the video at 8:54 I looked for the folder and I have the ones that are on my host computer but the readme file that the guy mentions in the video isnt the same as his. I know that the file he mentions is from the monitor that is directly connected to his jetson but mine isnt connected to a monitor or a keyboard, it is simply being controlled through ssh and my host computer. How can i access the files from the jetson using my computer and no monitor?

When a program with a GUI (or CUDA since it is GPU) launches it must be bound to a display. Something local knows its display, but you have to tell the program which display when you are using remote access. Basically it comes down to naming the environment variable “DISPLAY” such that the program knows where to forward X events to. Had the display been local, then “DISPLAY=:0”. If the ssh user logged in remotely to a computer where that same user had a local monitor attached and running in GUI mode, then ssh could display the program to that monitor after doing this:

export DISPLAY=:0
...run the program...

The easiest way to set up remote ssh GUI fowarding (since security is not trivial to manually set up) is:

ssh -Y name@host
...do whatever...
# OR:
ssh -X name@host
...do whatever...

Understand that if you do this then X events are forwarded to the X server on your machine with the monitor attached. This means the Jetson GPU is never used. It also means that whatever libraries are required for the program’s GUI/GPU part (such as OpenGL) must be supported on the machine with the monitor, not on the Jetson.

To get everything running on the Jetson, including use of the Jetson’s GPU for graphics and CUDA, you must install a virtual X server on the Jetson to run the application. Then on your other computer you would use desktop sharing software for remote access to the Jetson.

Thanks! which virtual x server would you recommend? I tried Xvfb, but since i had already ran the code

export DISPLAY=:0

I get an error that says: "Server is already active for display 0. If this server is no longer running, remove /tmp/.X0-lock and start again.

I haven’t set it up, but yu might be interested in this:
https://devtalk.nvidia.com/default/topic/828974/embedded-systems/-howto-install-virtualgl-and-turbovnc-to-jetson-tk1/

Setup is common to any Ubuntu installation, although package availability might depend on hardware.

NOTE: “DISPLAY” is for an application to know where to display. The X server itself runs the DISPLAY, so you don’t use this for startx or any other server. If you tried to run some sort of server and it gave that message, then it means it wasn’t set up yet (this would be a configuration issue of the real server conflicting with the virtual server).

Thanks i went to that link but thats for Jetson TK1 and I have a Jetson TX2, do you know if it would still work with the TX2?

X11 protocol and ssh have no differences across hardware. Sometimes a release version update might have a compatibility issue, but ssh, X11, and virtual desktops should all have uniform instructions on setup procedure. If a package available on a TK1 (armhf) exists for a TX2 (aarch64), then everything should apply equally.

Thanks i tried the one on the forum but i am unsure whether i am doing it right, i will post there asking for an update on the instructions and try again :) thanks!