X11 Forwarding under Windows? - windows

Which X11 forwarding under Windows solution do you recommmend ?
I'd like to get the X11 display (lxde) from my dedicated hosting Ubuntu Server
on my Windows home computer so I can remote administrate (I'm a linux newbie).

On Linux there are 2 main protocols that you can use to forward a whole desktop (more options if you just want a single app):
NX: as available from FreeNX, neatx, x2go, and nomachine
VNC: TigerVNC, TightVNC, RealVNC, etc - generally available with the OS
(Windows has RDP built-in, but I wouldn't recommend a newbie to try to install xrdp on Linux, not even non-newbies!)
You can find a comparison here under "Full Desktop Mode". Sorry, I am only allowed to post one link, so I posted a meta-link.
There are other proprietary options too, not mentioned here.

Use FreeNX ( http://freenx.berlios.de/ ). Ten minutes for tuning and you can run your X11-session through ssh.
If you want forward single X11-application, use mingw and putty.

You don't need the whole desktop. Use PuTTY's X forwarding and run the appropriate command via SSH.

Related

OS X 10.10.5 and Windows 7 file sharing

So what I want to do is share files between windows 7 pc and Macbook Pro Yosemite 10.10.5 using ethernet.
I managed to make it work really easily in the past but now it doesn't.
I have looked a bunch of tutorial online,I changed sharing settings,I have changed the settings of the ethernet adapters infinite times(manual ip,same subnet mask).I have restarted both computer a dozens times each, I have modified the register LmCompatibilityLevel with the values 1-4 with no luck.
After my fresh install of Windows 7 I managed to connect to windows PC from the macbook with the Go to Server tool over WiFi on the other hand the windows pc still can't see my macbook and on the network settings the LAN connection is displayed as "Unidentified".
I have no clue what I should do.At this point I just look at forums,tutorials and follow them blindly.
Maybe there is a third party program that could help me?
[ Windows 7 32 & 64bit(I tried both) , MacBook Pro (13-inch, Mid 2009) ]
I run Yosemite 10.10.5 on a 2013 Macbook. I got here researching a floating-point calculation issues I seem to be having with the Mac, running some machine-learning software.
I have to share files among various Windows machines, the Macbook (running 10.10.5), and a bunch of different Linux boxes. To make it seemless and simple, I've put ssh and scp on all of them, and just use "scp" to copy files between any pair if machines or devices. "scp" stands for "secure copy". You can also use "ssh" (secure shell) to log into one machine from another.
The syntax for scp looks like this:
scp myfile_here.txt MyUserID#SYSTEMname:/home/MyUser/filedir/.
The above command, which you enter in "cli" (command line interface) mode (basically just a terminal window or a Windows CMD shell), will securely copy "myfile_here.txt" over to the machine called "SYSTEMname", and put it into directory "/home/Myuser/filedir/". The little dot just means give it the same name. Instead of SYSTEMname, you can also use the numeric address of the machine (in either IPv4 or IPv6). On a windows machine, you can go to CMD shell, and type: "ipconfig /all" to get the machine's IP address. On the Macbook, you can click the little wifi indicator, then select "Open Network Preferences", click "Advanced", click "TCP/IP", and get the IPv4 address of you Macbook. OR, start up a "Terminal" window, and enter "ifconfig", and look at what is says for "en1". So then, the 'scp' command becomes:
scp myfile_here.txt MyUserID#nnn.nnn.nnn.nnn:/home/MyUser/filedir/.
where nnn.nnn.nnn.nnn might be something like 192.168.112.170
or whatever number you need to use (this example is an IPv4 style number)
I think scp and ssh might be included on the Macbook. If not, then maybe you have to download the "command line utilities" from Apple, which you can do, if you install the "Xcode7.2.1" C language compiler from them (it is free.) Google around and you can find a link.
To get ssh and scp on a Windows-7 machine, you need to install the Cygwin stuff. (See link below). You will also need to have the OpenSSH package, which may be installed as part of Cygwin. I put a link to a site that explains this. Check lots of sites. Don't just blindly install stuff without understanding exactly what it is doing. There is a real learning curve here, but it is worth spending the time to climb it.
If you get a Raspberry PI or jailbreak an old iPad, you can put the same ssh and scp programs on them, and then share files (including big video and music files) using these same programs. You will need to spend some time learning Linux stuff (the programs and the various utilities), but it will be time well spent, if you plan to do any work with computers and modern devices. Just google-search "ssh and scp" and read.
If you are using an older windows box (maybe you need to get some files off it), you can try "putty", which is just a graphic interface for the scp and ssh utility programs. Here are some URLS:
Putty: http://www.math.utah.edu/~beebe/software/ieee/
SSH: https://support.suso.com/supki/SSH_Tutorial_for_Windows
Linux ssh and scp: https://linuxacademy.com/blog/linux/ssh-and-scp-howto-tips-tricks/
SSH and SCP on Windows-7: https://www.question-defense.com/2010/01/07/how-to-install-scp-and-ssh-on-windows-7-using-cygwin
Just read this below. I think you have to enable ssh and scp on Mac OSX to get it to work. Apple has it turned off by default, but you can turn it on. Here is a site that explains this:
http://osxdaily.com/2011/09/30/remote-login-ssh-server-mac-os-x/
Hope this is helpful.

Portable Windows Mosh?

I was wondering if there's a way to use Mosh on windows without Cygwin?
I need to be able to put it on my USB drive and copy it over to a windows computer and be able to Mosh into one of my servers. Otherwise, is there a way to use Cygwin and have it portable? I did get mosh working under windows via Cygwin, but that meant I had to add an environment path to the windows computer, which, on the windows computer that I'm working on doesn't allow you to change that, since I don't have admin privileges.
MobaXTerm is portable and supports Mosh.
It works quite well. I spent all day using it on a very dodgy connection and it worked like a charm.
Just get the most recent version and from the Session menu select Mosh. It did does not support IPv6 (at least in Version 9.2 (2016-09-18)):
Bugfix: Mosh sessions are forced to IPv4 only (IPv6 is not yet supported by Mosh client/server)
But it might work now, since Version 10.4 (untested):
We also improved MobaXterm behavior and fixed issues with multi-monitors, IPv6 connections, mouse scrolling and keyboard shortcuts.
Interestingly enough, I wanted MOSH for Windows too, and I find Cygwin to be very messy. Instead, I just downloaded a minimal Text-only Debian distribution, booted it up in VirtualBox, and installed MOSH. Surprisingly, it's much less time consuming and requires less tweaking than going the Cygwin route, and makes less modifications to the host machine.
In fact, there is a portable VirtualBox, so you can put your MOSH VM and Portable VirtualBox on a memory stick.
I haven't even tried to optimize things, but it runs just fine on the 256MB of ram I gave it. It would probably run just fine on 64MB or less.
I do hope MOSH will be built into PuTTY/KiTTY in the future.
I have noticed that a new version of MobaXterm has been released (version 7.1) and includes an intergrated Mosh session.
So, you dot not need anymore need plugin for that.
They said that it is "experimental", but I have tested it, and it is working quite well.
As of now, Mosh has added support for Google Chrome (or any of Chromium Browsers) as an official extension. So you can keep a portable google chrome & use mosh from there.
For Windows, there isn't a single solution install to support MOSH. Rather, you have to sort of "stitch together" a few options to make it work.
MOSH itself does not need ssh or any other initial program necessarily. It is possible to start a session on your server, then using the published connection information, go to your client (in this case your windows box) and use that information to connect the session. This is sort of messy and is the main reason people use SSH to basically establish a connection to the server, remotely start a MOSH server, get the session information back to your client machine, then launch the MOSH experience.
The two pieces you need on the client side (if you make the connection manually) are the server port number and symmetric encryption key. A typical example of one given by a MOSH server would be:
MOSH CONNECT 60001 U0MWPbwn3BdcdMyNLnSFCA
Where 60001 is my port number and "U0...CA" is my encryption key. Don't ever give this out BTW as ANYONE can connect to your running MOSH server with this information (that is, they would look just like an IP change just like you do when you get disconnected and reconnected)
So, back to installation. MobaXterm (currently at v10.5) is a free for personal use app that you can find at https://mobaxterm.mobatek.net/. Installation is relatively straight forward. One word of caution however, their SSH implementation is rudimentary. Basically they support password authentication for ssh. If you use public keys, you cannot have one with a password on it and expect it to work (the code to ask you for your password appears to be missing). This might not be a show stopper for everyone but this is where my company stopped following this thread.
Within MobiXTerm, you want to hit the "Sessions" button at the top left to bring up a new session window. Press the Mosh button on the top right to get the start of your session (NOTE: This is IPv4 only. Zippo luck on getting IPv6 with this to work). Enter your remote host and the username of the ssh account you will be using. If you have an unsigned ssh key, then you can use the Advanced Mosh setting to link that private key with this session (at this point, as a security guy, I'm sort of passing out). At this point, as long as mosh is correctly running on your server (with the 60000-61000 UDP ports open in the server firewall), things should "just work".
Ok, so its not too painful to get working this way. But other than terminal functionality, its not very much fun either. Although MobiXterm is an X-server, I haven't yet gotten X to function over the mobi connection (at least not automatically).

executing command on a Windows Machine from a UNIX/LINUX Machine

is it possible to execute a command (ex: launching a .bat file located on the remote machine) on a Windows Remote Machine, using a UNIX or Linux Machine ?
Is there something like a scp/ssh mechanism or at least a way to connect to a Windows Machine passing through the network ?
Thanks for your help.
By default, recent Windows versions only support the Remote Desktop protocol. As far as I know, client versions only allow a single user, while server versions with installed Terminal Services allow for multiple simultaneous users.
Windows Server versions also support the Telnet protocol, but the server is disabled by default - it may not even be installed. Therefore you will have to enable it manually. Do you really want to use Telnet of all things, though? Just the security concerns are enough to make it mostly useless.
There is also a version of OpenSSH for Windows, that uses the Cygwin DLL. I have not tried it, but using an SSH implementation from the Unix world does have its appeal (and probably a few disadvantages). See also this.
EDIT:
Recent Windows versions also support the Windows Remote Management system, which allows you to launch an interactive session throuh a bit of trickery.
You may want to try Vandyke VShell.

forwarding windows applications to linux

I'm looking to implement a solution to forward Windows applications to a Linux box.
XMing will let me do the reverse - ie: forward Linux applications to a Windows box.
The wikipedia article for RDP claims that something like this is supported but I couldn't find anything in the API.
To avoid confusion, I am not looking to share the entire desktop. If you have 2 applications running on a Windows host, I'd like the Linux client to be able to see and interact with both applications irrespective of whether they are minimized or overlapping on the Windows host.
Any pointers to existing open source software would also be much appreciated!
I think you should check out seamlessRDP (http://www.cendio.com/seamlessrdp/) and rdesktop (www.rdesktop.org)
Guide on how to use them together
http://www.linux.com/archive/feature/124908
I think this should go to the superuser side too.

Modifying files on remote Ubuntu server from Windows PC

I am developing some Python programs that I'm running on a remote Ubuntu Linux server (hosted on Slicehost). I would like to work on the source in an IDE on my Windows Vista PC, and have all file modifications sent directly to the Linux box without my intervention (i.e. without having to manually SFTP the files each time I change them). What is the very easiest way I can do this?
WinSCP includes a basic remote file editor, though if you want to use a proper IDE for your development this won't be much help.
I'd suggest you run a version control system like subversion, which would allow you to write a post-commit hook to automatically rsync your code the server with each commit.
Use PuTTy and SFTPDrive.
PuTTy is an SSH client, and SFTPDrive ($39 USD) will allow you to mount your remote file system locally as a drive letter.
Install Samba and OpenVPN on the server, and OpenVPN on the client. Setup Samba to share the directory tree you're interested in, and access it over the VPN for security. Perhaps Vista has non-sucky WebDAV support by now, and you could use WebDAV over HTTPS, but it was always crap under XP.
Ben's suggestion of a local dev environment using a VM is also a winner.
You could install cygwin and then have rsync run on cron every minute.
Or you could use Netdrive to access the server via FTP like a local disk:
http://tech.xptechsupport.com/netdrive-turn-your-ftp-into-a-drive-letter.html
Or you may be able to achieve something similar using cygwin and FUSE - you can on linux, but never tried it on cygwin.
Also, would it not be easier to set up a full dev environment locally? Maybe using a virtual machine? It'll be much quicker for testing. And then you can set up a shell script to transfer the current version to the slicehost server.

Resources