Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

Scenario

I'm on Linux and develop on a Windows 7 box virtualized via VirtualBox. My usual way of developing consists in editing source files from Linux via nautilus/SMB (smb://192.168.1.4/...) then when I'm done I switch to the Windows box where I have a cmd.exe shell open, run a command and read the output. Going back and forth between 2 windows like this, adjusting the focus, etc. is killing me.

What I'm looking for

A decent remote-terminal solution similar to SSH which lets me connect to the Windows box, submit a command, read the output and avoid using the mouse. I don't care about encryption.

What I've tried so far

  • telnet: it consists in installing the default Telnet server on the Windows box and connect with "telnet IP" from Linux. The window size is too small, it does not support auto completion and the buffer size is ridiculous (scrolling doesn't work at all). Basically it's unusable.

  • freesshd + powershell: it consists in installing freesshd on Windows and configure the powershell as described here, then connect from Linux via standard ssh client. It's better than telnet just because it has auto completion but it still sucks because of the little window size and buffering.

  • (EDIT) putty: same as above but using putty from Linux. Problems are the same.

Is there any saner solution?

share|improve this question

migrated from stackoverflow.com Apr 14 '13 at 16:57

This question came from our site for professional and enthusiast programmers.

4 Answers 4

I've used Putty for this before. It has some features which allow you to save keys/etc.

share|improve this answer
    
I also used Putty but from Windows to Linux. The other way around is also possible with my "freesshd + powershell" solution but it suffers the exact same problems. –  Giampaolo Rodolà Apr 12 '13 at 18:07
    
Ah, sorry, I missed: "I'm on Linux and develop on a Windows 7", putty no help there :-(. –  JohnnyCoder Apr 12 '13 at 18:12

Putty for Linux is adaptable to any windows size (configure at Windows --> Columns&Rows), easily supports a great scrollback buffer (2.000 lines default), and works with any font size and type. Autocompletion works, at least for directory names.

share|improve this answer

The problem is Windows doesn't really have the concept of a terminal, other than COM ports, and those aren't hooked into the Windows console facility on an operating-system level like Linux (i.e. Windows doesn't have anything like ptys that can be connected to ttys). So you are always going to experience some sort of weirdness.

That being said, I have used winexe to run a command from Linux on a remote Windows system, sort of like how Sysinternal's PsExec would work.

share|improve this answer

I'm making several assumptions here:

  • The source files are stored in the windows machine
  • "buffer size" refers to the scrollback buffer
  • "buffering" refers to network latency.

If these are correct, I should point out:

  • Scrollback buffer depends on the terminal you are using (locally/linux) and not the shell (remote).
  • Window size also depends only on the local terminal.

I recommend you use a decent linux terminal emulator that supports text reflow, such as urxvt.

With regards to windows, personally I've installed cygwin+sshd and use the bash shell. After several readline (~/.bashrc) and vim (~/.vimrc) tweaks I find it perfectly adequate and haven't run into the issues you describe. Furthermore once connected it is simple to run cmd.exe (and I assume powershell) from bash. You may want to create an alias to simplify launching powershell:

alias powershell="/cydrive/c/Windows/System32/WindowsPowerShell/v1.0/powershell.exe

Lastly, in the linux terminal, run:

ssh -t remote_user@remote_host powershell

With regard to the last issue, buffering and latency, you may want to switch from ssh to mosh, ie cygwin+ssh+mosh. You would have to compile mosh yourself in a cygwin environment since no package is provided. These instructions should suffice for starters: http://www.unixmen.com/feel-linux-in-windows-and-stay-connected-with-linux-machines-through-mosh/ (they are compiling the mosh client, not the server, however).

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.