So, I wanted to cast my extended workspace (on MAC) to my app on iOS. I've been reading on it for a few days and singled out Quartz display services API to capture the screen directly from the GPU for each display connected.
As for my use case, I need to stream it through HTTP on a local wifi network and be able to receive it in my app. The problem is, Mac won't extend the workspace without connecting a compatible device like a projector or a monitor. How do I work around this? I need to be able to cast only the extended workspace through HTTP/tcp and it seems possible from what I've read. I've also looked into IOKit and other related sources but they did not have much of useful info for me. Since the goal is to stream the extended workspace to other devices from the MAC, connecting a real secondary display is useless and does not make sense.
Can we work around this by somehow making the kernel think that there is another display connected?
Is there any other way to spawn an extended desktop and cast it?
Any help will be greatly appreciated.
I found a Github repo which does what I wanted to do to some extent. They have actually written a driver that enables multiple virtual desktops by tricking mac to think it was connected to a physical monitor. For someone like me in the future, take a look into this link.
Any other inputs to achieve this will also be great.
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).
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.
I'm looking for a web based FTP client, with a good PHP, javascript, html, code editor. possibly with unzip capability.
I've tried eXtplorer, but it's pretty buggy, especially the editor.
Any suggestions?
EDIT:
I thought about this and i decide that maybe it's better to have a desktop app that allows this kind of connection (read the comment below) instead of using a web app that is slower for sure.
So I change my question: Is there a mac os app that allows me to manage my server files via a protocol like web ftp, so that i'm not firewalled by public networks limitations?
To turn your request around emacs provides remote file access over a variety of protocols including ftp (tramp mode), and can function as a web browser as well. If you really want it to run in a browser you can find a web terminal emulator and run emacs from the command-line.
How about PHPfileNavigator? (I'm assuming you want PHP based on eXtplorer.) I haven't used it, but a friend of mine said it worked pretty well once.
Edit: Based on your edit, are you just looking for a Mac FTP client? There are certainly plenty of those around. What is the specific requirement that's preventing you from using a normal one? Is it that an FTP service can't be opened on that server for some reason?
If that's the case, what services can be made available on the server? FTP on a different port? SSH/SFTP, perhaps?
Let's say I am developing a program that needs a bit more power than a netbook can provide and I have a good computer at home connected to the internet.
Is there any easy way to code in the netbook while I'm not at home and then when building, making it go and run on the computer at home?
I know running programs on other computers isn't a problem, but I'd like to know if it is possible to have an easy experience (it's still possible to debug, etc).
Thanks
It is definitely possible for Java code and Eclipse. But there are issues as well.
It helps a great deal if you have a fixed IP.
You need to open up ports on your firewall to be able to
copy your code into your PC
remote debug and upload your application
The last step will create issues with security that you need to address. I use ssh and public/private key to secure my connections.
In general, what you are asking is not much different to releasing a code to a server and debugging it. And normally servers sit somewhere on the internet or cloud.