What's the best way to run a Linux virtual server in Windows 7? - windows

I need a virtual server for web development, it'll host Apache+Postgres+Ruby+something else.
What's the most effective software to run such a server? (ie with least virtualization overhead)
Is there a way to run Linux as as service?
I use VirtualBox at the moment, but it's inconvenient in some ways, such as it needs an emulator window open which also captures keyboard input when alttabbed into.
(Also, coLinux hangs at boot on my machine, so it's probably not an option)

Check out the features of VMWare Server. It's free, you just have to register.

I've never found VMware to be much of a performance hog unless running 3+ virtual machines.
The latest free server version (VMware Server 2) runs as a service IIRC, so you can set up your dev server to start up and shut down when your PC does, and you can either log on to the VM's console through the web interface, or create a shortcut on your desktop so it's fairly non-obtrusive.

There is a very convenient utility that hides VirtualBox from the foreground completely: vboxctrl. With vboxctrl you can run a Linux server on your Windows machine, make it automatically go to sleep when Windows shuts down or hibernates; then use any SSH client to log in to the server. Or you can use Xming to open graphical windows from the Linux server; I've worked quite a lot of time in GVim open through Xming.
If anyone needs more details, leave a comment, I may write an article about this.

Related

How can I start IntelliJ IDEA remotely as an X Windows application, if the server is Mac?

I had success to start it, but through a Docker container, ugly but works.
The setup is, old mac with good keyboard = X server.
The new mac with broken keys: X11Forwarding yes.
On the server I tried idea, it starts only on the server. No idea.sh in bin.
Downloading a container with linux, setting its DISPLAY, and IntelliJ starts on the other mac.
Can something be done so that the nice IntelliJ app starts on another mac?
I tried remoting (screen sharing, team viewer) and they are too slow to react, even on LAN (the trackpad is the problem, the screen itself and keyboard are snappy).
Also with Docker it is a bit tricky to keep it alive, commit it, be careful not to loose the state (even if the projects are mounted on volumes with host).
Are you aware of a Linux VirtualBox that would be suitable to install Java, Scala & IntelliJ ? Ubuntu? Debian? Rethorical question, I guess either can work. Port forwarding for X11. Somehow I would need 2 forwardings, or maybe it would work the way Docker works, maybe both are bridges and see in the LAN. The Docker container sure seems to directly see the other IP.
Indeed only an OS that communicates over X protocol, such as Linux can be used (via Docker container, Virtual Machine, etc). MacOS uses VNC as protocol.

Can I lock hyper-v virtual machine so that users won't be able to close it or minimize it

I'm working on a project for a client to install HMI application on the client servers. The client has requested to install the application inside Hyper-v virtual machine so that in case the operating system crashes then it will be easy to restore it back through the virtual machine drive back-up.
However, the customer is asking me to lock the virtual machine so that the machine's operator should not be able to go to the host operating system and only work through the virtual machine alone.
If it is not possible with Hyper-v options, then is there any free 3rd party tool which can do the same job.
I will really appreciate any advice on this issue.
Ok I wasn't able to prevent computer users from closing the virtual machine application. However I did manage to mitigate the effect of closing the virtual machine.
First thing I did was setting up Remote Desktop to connect the host to the VM remotely through hyper-v virtual switch. Then I installed Allen Bradley DeskLock tool (It is a free tool that comes together with their FTView CD). Through DeskLock I have prevented the user from doing anything over the host (Locked the desktop) and I provided him with only one button to run Remote Desktop and open the VM whenever he closes it by mistake.
I don't think that this answers the question completely, but it was the only solution I found without touching the computer Registry

Docker Container for Windows - desktop app

If I create a container with windows image on it, is it possible to use a remote connection to actually see the desktop and , for example, play minesweeper?
My use case is this:
I have hundreds of users. Each user need to create their our infrastructure consisting in about 6 machines linked together. After creating, the user will open some desktop gui apps on each one using a remote desktop connection.
No, this isn't something you will be able to do.
There are currently two Windows container images, microsoft/windowsservercore and microsoft/nanoserver
nanoserver
This blog post about TP4 (one of the earlier releases) says
The only option available when logging into console of a virtual machine running Nano Server or connecting a crash cart to a physical Nano Server is this very plain emergency console
This section on managing Nano server also states
Nano Server is managed remotely. There is no local logon capability at all, nor does it support Terminal Services.
There is also this article, admittedly not from Microsoft, about Windows Nano server
Nano Server strips back the operating system further still, dropping things like the GUI stack, 32-bit Win32 support, local logins, and remote desktop support.
Nano Server is designed for two kinds of workload: cloud apps built on runtimes such as .NET, Java, Node.js, or Python, and cloud infrastructure, such as hosting Hyper-V virtual machines.
servercore
Docker blog has a pretty interesting entry
Introducing Docker for Windows Server 2016. This part addresses the question of GUI apps
The Windows Server Core image comes with a mostly complete userland with the processes and DLLs found on a standard Windows Server Core install. With the exception of GUI apps and apps requiring Windows Remote Desktop, most apps that run on Windows Server can be dockerized to run in an image based on microsoft/windowsservercore with minimal effort.
If you wanted to set up that kind of an environment, one option is to use something like Vagrant to orchestrate starting and provisioning regular windows VMs. Though 6 windows VMs will not be easy on memory.

Mesos slaves on windows server 2012r2, what are my options?

I have a cluster of machines running windows server 2012R2.
I would like to manage them with mesos.
To the best of my knowledge, microsoft is actively contributing to mesos (DC/OS) and will support containers natively on windows server 2016. Furthermore, it looks like there is another type of container flavour using hyper-v.
I can run my mesos masters on linux hosts. However I need my slaves on windows server 2012R2 hosts. It is not clear to me which technologies are already available (and production-ready) for my windows server version.
What are my options to use mesos to manage the resources of my windows server machines ?
Is the mesos-agent for windows (server 2012 R2) production ready ?
Can I use containers (hyper-v or docker) ? If not, is the resource isolation working in Windows (in linux you can use cgroups) ?
Can I run any framework I like or there are some not compatible with windows ?
Mesos version 1.0.0 was recently released that allows you to run the slave and launcher on windows. Not the master unfortunately. Its still Linux, but it doesn't really ever need to be Windows? The slave was the important bit for bringing Windows machines into the Mesos domain.
I've just been investigating using the Mesos-Slave on windows. Pleased to say that it appears to be working OK (this opinion is subject to change as I'm still testing it). Production ready is something any business would have to decide for themselves.
Mesos have always had their own isolation technology, interestingly they have redone their own containerizer implementation and this now takes a number of container image formats, so you can use your Docker images as well as a few others, so this is going to suit you. There was a good presentation on this at MesosCon https://www.youtube.com/watch?v=rHUngcGgzVM
Docker's been stealing the show to some extent. But if you use Mesos-Agent, Windows 2016 and its container technology (Docker) isn't needed and therefore it should run on Windows 2012. I've not got around to trying this yet but its definitely a test worth trying, it opens up deployment options. Anyone?
One thing to remember about containers, they are not VM's. The guest image must be a derivative of the hosts OS, you can't run a Linux image on a Windows machine. Causing me a headache, I can't use servernano at the moment, so my image sizes are 4Gb+, the initial deploy time is hours.

Citrix Server sort of app - on a Mac?

Does anyone know of a similar product to Citrix Server that'll run on the Mac OS?
Essentially, I'm looking to allow multiple remote users to log in to the same OSX Server at the same time (with full visual desktop, not SSH).
OS X's Quartz window server has no remoting abilities, unlike its predecessor. X11 does, but 'native' OS X applications don't use that; of the few Mac apps typically run in X11 (such as GIMP or CrossOver), none are specific to the Mac, so you might as well run them on a different OS.
That said, if all you want is to visually remote-control a session, it is possible to use VNC or a derivative, such as Apple Remote Desktop. Since 10.4, this allows for multiple simultaneous sessions, as implemented with Vine Server. Remote Desktop also has other abilities such as remotely installing and updating software.
(Unlike Citrix and X11, VNC does not send drawing commands over the network; it instead transmits a compressed image representation pixel-per-pixel.)
You should specify your exact needs. You will not get a Citrix-like experience where you can run single Mac apps in their own remote session. You will, however, get remote graphical control, and that may be more than enough for you.
I've never heard of it, but from their blog:
Aqua Connect Terminal Server uses the VNC (Virtual Network Computing) protocol to send data between Mac OS X and the client application.
Now, if someone does know of a non-VNC solution, I'd be happy to hear it.
Anyone have experience with Aqua Connect? Found them from Google, and they claim the next version works on RDP as well as VNC. Wondering if it's just a nice wrapper around the VNC capabilities #Soeren Kuklau pointed out.
Thanks for the link to Vine Server, that's worth investigating.
John Vasileff,
Back to My Mac is a tunnelling / NAT traversal technique that enables the use of any networking (including VNC-based remote control). iChat screen sharing, Finder Screen Sharing and Remote Desktop all use VNC. Apple does not offer any non-VNC solutions.
Citrix XenDesktop iPhone Demo

Resources