Any suggestions on a netbook/desktop setup to run Python for scientific computing?

1

This may seem like an inappropriate question that should be relegated to some hardware forum, but I love StackExchange for other things and thought perhaps you could help! I had my laptop stolen a couple of days ago and need to get up and running again.

I use Python on a daily basis and need a solution for fast scientific computing. My thought was to buy a desktop running linux and access it remotely using a netbook. From what I've read online, it seems that VNC would be very slow, but I only need to access the terminal from outside the appartment, so perhaps there is another way?

If anyone uses this type of set-up, any suggestions or advice would be much appreciated!

pdevar

Posted 2014-11-23T11:10:39.440

Reputation: 13

Answers

0

VNC is possibly a bit slow but ssh gives just the command line and won't be slow.. and ssh -X can potentially give a GUI at a reasonable speed. I have a friend that is a scientist that has a macbook laptop he uses ssh to go to the terminal on his computer at work, and ssh -X when he wants to access some GUI app. (i'm not quite sure how ssh -X works) but ssh easily accesses the command line fine). ssh is THE program for accessing a terminal remotely. It has long since taken over from telnet which was THE program.

Added

Regarding what if the work firewall doesn't "play nice". I'm not sure what my friend (the scientist) did, and it's worth checking out if the university have any methods e.g. VPN.. But, that university's suggestions aside. Firewalls tend to be quite allowing for outgoing connections. e.g. web browsing being an outgoing connection on port 80 or port 443 - outgoing means initiated out from work to home and then packets flowing in and out associated with that connection.

What you can do is something called a reverse ssh tunnel. Tunneling is encapsulating (or one could say, smuggling) one protocol within another, so as to provide for something not otherwise supported.

Say your home is H and your work is W. If you sit at W, you can connect out to H. If you sit at H you can't connect to W, because W is behind a restrictive firewall. Set up an SSH server on W. Now putting aside that ssh server you just set up, you sit at W, and connect out to an SSH server on H. So, H runs an SSH server. But this is not so that you can connect to a shell at H.. I know you want a shell at W. What you do is you sit at W and connect to an SSH server at H in a special way (SSH reverse tunnel) which instructs H such that (another) server opens up on H(this server is not an SSH server it's something that listens and forwards). This server could be set to only accept local connections and send them to W, then at W, they should be forwarded to an SSH server on W. Now at H, you then connect an ssh client to yourself (H), then that then gets forwarded to W, which then gets forwarded to the SSH server on W. So you have two connections going different directions, one within the other. It is done in two commands. One ssh -R, creates the reverse tunnel (a local tunnel would be ssh -L). Then the second command would in your case be ssh user@127.0.0.1 or could be vnc in another person's case. Maybe you won't have to do that. But just so you know..an SSH reverse tunnel would be what you'd want to look into if your firewall was restrictive. Personally if I was to do that not having done it before, i'd try (for the sake of learning) doing VNC through a local tunnel then a reverse tunnel, then what you want- SSH through a reverse SSH tunnel.

barlop

Posted 2014-11-23T11:10:39.440

Reputation: 18 677

Thanks @barlop, I have decided to go with just this set-up. I've purchased a chrome-book and plan to install Crouton (Ubuntu Linux) on an SD card so that I can run an X-server to the desktop workstation. Now the only question is whether my university's firewall will play nice! – pdevar – 2014-12-01T12:04:34.700

@pdevar I just added something re a restrictive firewall. By the way, see what other techies at the uni have done.. you could look for linux fanatics there as they might have some ways. Though I agree with my friend(the scientist) that the only linux with a good GUI is Mac. The ssh -X might only apply to linux.. But ssh tunneling and the ssh shell you can do regardless of OS. – barlop – 2014-12-01T13:41:17.390