A display probliem on Jetson TK1

I will be happy so much if anyone of you can give some advice.
The problem is that I got my Jetson TK1 for cuda development several days ago,and I do not have an extra display monitor.So I want to use my labtop which runs Ubuntu 12.04 on VMware to access the Jetson TK1。 I wanna make the board display its graphic apps on my laptop such as 'gedit','nautilus' and so on.Of course if I can put the 'desktop' of Ubuntu14.04 on TK1 in front of me will be the best,but I do not how I can make it.
Now I have just managed to use 'sudo ssh ubuntu@tegra-ubunut' to access the TK1,but when I use the instruction like 'sudo ssh -X ubuntu@tegra-ubuntu nautilus',nothing happened. I will appreciate it so much if you can give me some advice with the operations and error codes I offer as follows:

samuelbai@samuel:~$ sudo ssh -X ubuntu@tegra-ubuntu
[sudo] password for samuelbai:
ubuntu@tegra-ubuntu’s password:
X11 forwarding request failed on channel 0
Last login: Tue Feb 1 00:00:18 UTC 2000 on ttyS0
Welcome to Ubuntu 14.04 LTS (GNU/Linux 3.10.24-g6a2d13a armv7l)

0 packages can be updated.
0 updates are security updates.

ubuntu@tegra-ubuntu:~$ gedit

(gedit:1609): Gtk-WARNING **: cannot open display:
ubuntu@tegra-ubuntu:~$ nautilus

(nautilus:1610): Gtk-WARNING **: cannot open display:
ubuntu@tegra-ubuntu:~$


Any information I will appreciate,please give me, a new man in the area of embedded sytems board, a hand,thanks!
And I am really sorry for my poor English.

1 Like

You can log in to Jetson with ssh and automatically have any GUI app run on your laptop quite easily. ssh has the option of running a single command, or logging in to a general shell. Either way, use “ssh -Y”, don’t bother with the less secure -X. Example:
ssh -Y ubuntu@tk1
…login stuff…
xterm
…should now have xterm on your laptop.

NOTE: Forwarding can require enabling in /etc/ssh/ssh_config and/or /etc/ssh/sshd_config. On your Jetson go to /etc/ssh/sshd_config and be sure “X11Forwarding” is set to “yes”. Been a while since I set this up, but I think on your display machine /etc/ssh/ssh_config “ForwardX11Trusted yes” is used…it depends on which side ssh is a client versus which side it is a server.

FYI, there is an ssh “-t” option if you need to do a remote command all by itself and require a password prompt for sudo.

Also, there is a bug in CUDA remote display you should be aware of. If the program you run on Jetson believes part of a program is video display, it will refer this part to your laptop to compute, rather than Jetson. When you use forwarding, you are telling the remote Jetson to do all the work except for video function…unfortunately, there are times when CUDA (being on a GPU type device) is mistaken for video. Should this happen and your laptop has the proper CUDA, the laptop will happily do this without telling you CUDA is running on laptop, not Jetson. Should this happen and the laptop does not have CUDA set up, then the program will fail telling you that you have no CUDA hardware (in reality this case is telling you the laptop does not have CUDA). I don’t know of a way to force CUDA on Jetson but graphics on laptop for these cases.

Along with what linuxdev has said, you can also use Xming’s X Server (http://sourceforge.net/projects/xming/) for X forwarding on Windows (if you would rather not have to use a VM)

So if you decide to use this, you will also need to use putty for ssh. To enable the X forwarding on putty, its located under Connection |-> SSH |-> X11, Then just check the box that says “Enable X11 forwarding”
http://i.imgur.com/j1P8CCX.png
(no img tags for now i guess)

Thanks to linuxdev&Turpinator,and I will try it tomorrow.
Thank you very much!

Samuel

sorry to bother you all,I took the advice from linuxdev with ‘-Y’ to accesss the Jetson,but it did not work as usual.
the code information is as follows:


samuelbai@samuel:/etc/ssh$ sudo ssh -Y ubuntu@tegra-ubuntu
[sudo] password for samuelbai:
Sorry, try again.
[sudo] password for samuelbai:
ubuntu@tegra-ubuntu’s password:
X11 forwarding request failed on channel 0
Last login: Tue Feb 1 00:48:59 UTC 2000 from 192.168.1.100 on pts/7
Welcome to Ubuntu 14.04 LTS (GNU/Linux 3.10.24-g6a2d13a armv7l)

0 packages can be updated.
0 updates are security updates.

ubuntu@tegra-ubuntu:~$ gedit

(gedit:2083): Gtk-WARNING **: cannot open display:
ubuntu@tegra-ubuntu:~ xterm xterm: Xt error: Can't open display: xterm: DISPLAY is not set ubuntu@tegra-ubuntu:~


And I have try Xming+Putty,but it showed that ‘networkerror:connection refused’ when I used Putty to access the Jetson,now I am really confused.
In fact, I managed to access the Jetson with ‘-X’,and open gedit and nautilus successfully,but the next day,I turned up my VM and accessed to the Jetson ,everything went wrong,it display nothing,so I did not how to solve the problem at all

The -X means passwords are in the clear along with all X11 traffic. Snoop gives 100% of any data. The -Y uses encryption. Both sides require /etc/ssh/ssh-something to have forwarding enabled. I forget which and would give the exact file name but I’m not near linux or Jetson at the moment. One thing which always sticks out (or hides) is that your linux may have firewalling enabled and blocking a port…check if firewall is involved.

Thanks to linuxdev,I have ‘sudo ufw disable’,but the result came out no different.
so I guess it is not a problem wtih firewall.

Serial port might be necessary (it’s set to 115200 8n1) to figure out the issue (doesn’t require a monitor). You could simply monitor logs from both sides while attempting login. For Jetson and Ubuntu, it should be tail -f /var/log/auth.log while attempting the network login.

In addition, Jetson default is to use DHCP. What is the connection between your host machine and the Jetson? Is it direct via switch on a private network? Does it go through a router? Was it configured for static address?

Thanks for linuxdev’s suggestion
I use a router to access the jetson,
and now what I want most is to open grahpical apps with my host ubuntu on VMware,but never success.

Does ping work? Is Jetson able to ping the IP address of your linux VMware guest? Is the VMware guest linux able to ping Jetson? It sounds like ping and basic ssh work, but I want to verify.

Second, ssh can be used as a shell which runs a single command and then exit…this is probably not the way to start a remote graphics app. Be sure you log in with ssh -Y (works for as many commands as you want) if you can, and then use command line to start graphics with forward to your host (don’t name the command on the ssh command line).

The biggest issue I see is that VMware will probably need some kind of configuration to allow X11 forwarding…this is in addition to making sure ssh forwarding is enabled in /etc/ssh/ for both ends. You essentially have two routers…one is the router you use as a network device, the second is the VMware routing between host and guest.

I’m not sure what network issues are involved with forwarding through a router. It is possible that your router would require knowing forwarding ports are dedicated to the VMware guest. Normally any connection through a router means the response back is a known communication pair…but there are times when routers do not understand the actual destination of indirect triggers of new ports. At this point it seems likely to be a network routing issue via either the router or VMware.

Hi, I just finished flashing my nvidia jetson tk1 and am trying to ssh(ssh -X ubuntu@tegra-ubuntu/ ssh -Y ubuntu@tegra-ubuntu)/ ping but it is not connecting the output am getting is:
ssh:could not resolve host name tegra-ubuntu: Name or service not known
ping: unknown host ubuntu@tegra-ubuntu

Try connecting directly by IP address. There are numerous ‘ip scanners’ out there, or you can simply look at your router’s web interface as they generally provide a client list (or if not, a DHCP client list at the minimum).

You need to login using the IP or the network name of the Jetson and that’s depending on your network. “tegra-ubuntu” is the hostname of the Jetson but that’s visible only inside the Jetson.

You probably have a DHCP server (e.g. a WiFi box) and you may be able to check the IP from there. Or you can connect a keyboard, mouse and a display to Jetson, login locally and type “ifconfig eth0”. Or you can login through the serial cable to check the same.

Could you tell me how to access Jetson board using it’s IP address?
Thanks you so much

I tried with following command:
ssh -X 10.42.0.89 natuilus” 10.42.0.89 is IP address of my Jetson TK1 board
It required me to type password. I typed password is “ubuntu”.
However, I always received the error “Permission denied, please try again”.
Please help me solve my situation.
Thanks

You need to specify the user name too because by default ssh uses the same account name on both ends.

So this should work:

ssh -X ubuntu@10.42.0.89 natuilus