More efficient use of VirtualBox? - linux

I'm looking to make the switch from windows 7 to linux mint, but I'm still in school so I still want to be able to use some of my windows features. I plan to use Mint more often than windows.
Which would be a more "efficient" use of the virtualbox:
Putting VBox on Windows 7 and running Mint from it or
Putting VBox on Mint and running a system image of my Windows 7?
I have tried dual booting in the past but it was honestly just a nightmare, and twice I almost wiped my hard drive, so I'm very hesitant to try that again.

In terms of your preferences for "efficiency", i would say:
Native install of Windows 7 and run Linux via VirtualBox. Because Linux has a much lower resource footprint than Windows running on VirtualBox and would run quicker than windows.
If it were my preference, and this is what I setup to transition from Windows 7 to Linux Mint, I would run dual boot. As they both run natively, they both run fast. Also just setup a generic NTFS "shared" partition that you can access on both Linux and Windows for the purposes of using documents on both systems.
I actually found the Mint dual boot install quite painless and automatic. I still swap back and forth for convenience but use Mint primarily now.

It's really hard to predict performance wise which setting would be more "efficient". The best way to be sure is to try both settings and measure.
Installing VirtualBox on Windows would be the easiest step from your current setup.

In my honest opinion, because you want to get used to Linux Mint environment, so you have to use Linux Mint as your host machine, and then install virtual box in it.
It will make you to do more on Linux Mint instead of windows.

Related

Portable virtualized linux on usb with persistence lauched from any windows PC without administrator right

Hello Stackoverflow community,
I don't know if it's possible but I would like to have a portable linux Ubuntu OS on my USB stick:
wich I can lauch from any windows PC where I don't have administrator right
without having to "boot on it" but with launching it as an "application" in the windows OS (as MS excel for example and probably with virtualbox, vmware, or others)
without installing anything on the windows host PC
which keep the persistence (I want to work on this portable OS, install things, and find them again at the next start.)
Is that possible?
I'v found many things on the net but each time and for what I understood:
either you need the admistrator right (portable virtualbox)
or it cannot keep the persistence (live linux) so I have no choice to boot on the portable linux OS (wich I don't want)
or it's not portable so I have to install things on the PC I'm trying to work on
Any suggestion, idea, workaround would be strongly appreciated.
Thanks in advance,
Mat
I am aware that qemu does not require administrator rights. The problem is all virtualisation solutions require administrator rights either at installation time or in the case of portability beginning of runtime.
Qemu is not virtualisation, it is emulation so would be slower than virtualisation. It does run Linux, have persistance and is portable.
On the plus side, you can run amd64 on 32 bit machines (even slower), mips, arm and other architectures also.

Touchpad on mac not working when ubuntu 12.04 is on .. how to fix touchpad in ubuntu on macbook pro?

So this is my problem :
I have a macbook pro. I have installed linux on a separate partition (Ubuntu 12.04) and everything was working fine (touchpad, keyboard, etc) and it was perfect. One day, I decided to download a program called wine for gaming purposes. After I did that and rebooted, the mouse (or touchpad) wouldn't work anymore (NOTE: The touchpad is working fine when I boot into mac osx but it does not work when I boot into ubuntu). Now I don't know if the direct cause for it not to work is me downloading wine or if its for any other reason, my question is:
How can I solve this problem?
How do I completely remove wine from my system with all of the files that come with it ? (If that even is the problem)
Is there some kind of configuration file for the touchpad found in the ubuntu system ? If so how do i access it and check it and alter it to work again or something. I just need any solution to this problem I really need the touchpad to work again. NOTE: Connecting an external mouse while booted in ubuntu MAKES THE MOUSE WORK but I don't want that I want the touchpad of the macbook pro to work.
Another side note : the program i use to dual boot is rEEfit.(I can access EFI shell from there .. Is that useful at all ?)
Thanks in advance ..
Wine is a software which helps to run windows applications under linux OS. It has nothing to do with your macbook touchpad drivers. Did you install any drivers or enable any PPAs? did you do a system upgrade just before it worked?
The touchpad on Macbook has always been less than perfect under Ubuntu but have a look at this answer here and the guides here. If you still cannot get it working it might be better if you post the question on Ask Ubuntu.

Are linux VMs installed on Windows Host in VirtualBox "real" linux?

I have VirtualBox on my Windows 7 machine, and recently installed a Redhat linux VM. I'm planning to learn linux programming with some low-level stuff, such as kernel function calls and assembly.
My question is: is my Redhat VM a "real" linux environment for my purpose? I guess that whatever I do in the VM is done in a "linux simulator" in VirtualBox, and under the hood the "linux simulator" still does its job using functionalities provided by the Windows host (e.g. Windows function calls). Is this true?
VirtualBox is not a "Linux simulator", it is a "computer simulator". OS selections within such an simulator are for the purpose of deciding which virtual devices to make visible, and not for running a different simulator "core".
I think you should dual boot linux instead of VM because not only it saves resources ("Prevent Computer from going slow") But also give you better functionality and hardware support
Edit:
and you can also use Live Cd(also usb)

Cygwin vs Linux Virtual Machine for Development?

< skippable part >
I work in IT (mostly desktop support and network administration) in a Windows environment, and I occasionally program.
A couple weeks ago, I decided I couldn't be as effective as I want to be without a Bash environment for my command prompt needs. This is especially true when I am using Ruby and git. I used Msysgit for a while, but I just didn't like how it wasn't extensible like Linux. So, I installed Cygwin and played around with that for a couple weeks.
As great as Cygwin is, it seems like it is meant to be a suped up command prompt, and its compatibility with Linux is just a pleasant side effect. This especially became evident when I tried to upgrade Ruby to 1.9.3 (it worked, but it wasn't straightforward), install rvm (never worked), and install RMagick (may or may not work, but looks like a headache).
So, now I'm considering running Linux in a virtual machine. But I'm worried that might be another can of worms and I'll have wasted hours before I find that out. I like that Cygwin runs in Windows and I get to use my IDE, user folder, and more with it. But I don't like that support for it is not as thorough as for a major distro.
< /skippable part >
Does anyone here have insight on using Cygwin vs running a Linux virtual machine?
Any advice on setting up a Linux development environment in a virtual machine within Windows?
I have faced common issues before, and the best solution according to my experience is just 2 workstations :).
Apart from that having Linux running in a virtual environment is way better.
First of all, you will have full Linux capabilities (except 3d acceleration, but you probably don't need that).
You will have the capability of creating snapshots and revert back to them when things go wrong!
You can start multiple environment using templates, which is very convenient.
The only downfall I can think of is performance issues of the host machine.
If it's a normal workstation/PC, an IDE + one virtual machine + a 100+tabs browser just makes it slow.
1: cygwin is good for quick hacks, and for being able to acces host-os resources(you can run IE for example in a bash script). For something tightly integrated and some "real" word, go to a vm. It will emulate everything and separate development from the real machine, and this may be a good thing in some cases... as a plus it simulates a real server:)
2: in virtualbox at least, you have shared folders, and you can share a local folder, and see it in the vm as a local folder(local or as a windows share..it actually depends). Then you can use that "entry point" to symlink stuff into the vm, and do the things you need with the real files being located in the real(host) machine
SSH into a linux box. This is what everyone does. Why isn't this the answer?
There is something I have heard of called Cooperative Linux. It runs Linux alongside with Windows kernel so you can use them at the same time. I've never used it, but here:
http://www.colinux.org/
What I think now is getting the pros of 2 options is using
Docker
, it is giving you cygwin simplicity and VM functionality with better performance.
Linux in a virtual machine will give you the experience you want more than cygwin or any mock shell as I like to call them.
Running VM's though require a lot of ram depending on whether you want a desktop version of linux or just a command line version.
Myself in work I have a pc with 8gb of ram and I run ubuntu 64bit as main OS, two ubuntu servers (these are for dev environments two different projects) and a windows 7 VM and a win XP VM.
I can run the two ubuntu servers and one other VM at the same time, key here is more ram if you want to be able to do VM's.
If you're going to be working with Ruby then get an Ubuntu virtual machine up and running :) I've not tried Ruby, etc on Windows but I have heard that it is a pain to setup and configure. I use a Mac for all my Rails development so I cannot comment on the Windows side for that.
As for virtual machine creation, I prefer VMware Workstation, however there are free alternatives such as Virtualbox and VMware Server.
I'm using a Linux VM within a Windows seven environment as this VM is as representative as possible of the final production environment. The whole setup is binded to the Eclipse IDE under ms-Windows seven. So this is really great for local full testing, before committing or tagging the tested version to the production servers.
As you mentioned as well, this takes some time to get properly setup and fully configured. So if your need is only for little tricks or tasks, you may keep using cygwin. For example, I faced significant issues to configure perl and compile mysql within cygwin. So it's ok for basic usages, but not to fully take advantage of a full linux environment.
Your choice strongly depends on the final server setup purpose. A VM will do it whatever your need is. The setup cost for it is higher, so this time investment must be used often to get returned.

Can you Run Xcode in Linux?

Can you run Xcode in Linux? Mac OS X was based on BSD Unix, so is it possible?
From what I have heard, there is a MonoDevelop plugin that has an iPhone simulator.
The low-level toolchain for Xcode (the gcc compiler family, the gdb debugger, etc.) is all open source and common to Unix and Linux platforms. But the IDE--the editor, project management, indexing, navigation, build system, graphical debugger, visual data modeling, SCM system, refactoring, project snapshots, etc.--is a Mac OS X Cocoa application, and is not portable.
Nobody suggested Vagrant yet, so here it is, Vagrant box for OSX
vagrant init AndrewDryga/vagrant-box-osx --box-version 0.2.1
vagrant up
# editor's notes:
# - this requires virtualbox
# - version 0.3.1 (2016) is down now, so version 0.2.1 (2015)
# - there are notes for building an image one's self at the site
and you have a MACOS virtual machine. But according to Apple's EULA, you still need to run it on MacOS hardware :D But anywhere, here's one to all of you geeks who wiped MacOS and installed Ubuntu :D
Unfortunately, you can't run the editors from inside using SSH X-forwarding option.
I really wanted to comment, not answer. But just to be precise, OSX is not based on BSD, it is an evolution of NeXTStep. The NeXTStep OS utilizes the Mach kernel developed by CMU. It was originally designed as a MicroKernel, but due to performance constraints, they eventually decided they needed to include the Unix portion of the API into the kernel itself and so a BSD-compatible "server" (originally intended to process requests for BSD-compatible kernel messages) was moved into the kernel, making it a Monolithic kernel. It may be BSD compatible in the programming API, but it is NOT BSD.
The rest of the OS involved ObjectiveC (under arrangements between Stepstone and Richard Stallman of GNU/GCC) with a GUI based on a technology called "Display Postscript" ... sort of like an X Server, but with postscript commands. OS X changed Display Postscript to Display PDF, and increased the general hardware requirements 1000 fold (NeXT could run in 8-16MB, now you need GB).
Due to the close marriage of GCC and Objective C and NeXT, your best bet at running XCode natively under Linux would be to do a port (if you can get ahold of the source - good luck) utilizing the GNUStep libraries. Originally designed for NextStep and then OpenStep compatibility, I've heard they are now more-or-less Cocoa compatible, but I've not played with any of it in almost 2 decades. Of course that only gets you as far as ObjC, not Swift, and I don't know if Apple is going to OpenSource it.
You can run Xcode on Linux NATIVELY using Darling:
Darling is a translation layer that lets you run macOS software on Linux
Once installed you can install Xcode via command-line developer tool following this link.
If you run VMware Player or Workstation (or maybe VirtualBox, I'm not sure if it supports Mac OS X, but may), and then Mac OS X Server (Client can't legally be virtualized). Of course, in this case you are running XCode on OS X, but your host machine could be linux.
If you cannot shell out thousands of dollars for a decent Mac then there is an option to run OSX and XCode in the cloud:
http://www.macincloud.com/
I think you need MonoTouch (not free!) for that plugin.
And no, there is no way to run Xcode on Linux.
Sorry for all the bad news. :)
Nope, you've heard of MonoTouch which is a .NET/mono environment for iPhone development. But you still need a Mac and the official iPhone SDK. And the emulator is the official apple one, this acts as a separate IDE and allows you to not have to code in Objective C, rather you code in c#
It's an interesting project to say the least....
EDIT: apparently, you can distribute on the app store now, early on that was a no go....
The easiest option to do that is running a VM with a OSX copy.
It was weird that no one suggested KVM.
It is gonna provide you almost native performance and it is built-in Linux.
Go and check it out.
you will feel like u are using mac only and then install Xcode there
u may even choose to directly boot into the OSX GUI instead of Linux one on startup
If you really want to use Xcode on linux you could get Virtual Box and install Hackintosh on a VM.
Edit: Virtual Box Guest Additions is not supported with MacOS Movaje. You will want to use VMware
https://www.vmware.com/
https://hackintosh.com/
If you want XCode on another OS, I suggest cloud computing. That way your app is being developed on a Mac and can be submitted to the App Store.
Use quiling framework
For more info check at https://github.com/qilingframework/qiling
I think it is the best
Maybe you can use Virtual Machine and Qiling framework.
If you are planning to use a Mac VM on Linux, check out Docker-OSX. It provides a simple approach to use pre-built Mac VMs with Docker.
To know more about the legality of running Apple software on non-Apple hardware, read this article: Is Hackintosh, OSX-KVM, or Docker-OSX legal?
OSX is based on BSD, not Linux. You cannot run Xcode on a Linux machine.

Resources