Virtualbox win7 enterprice

How to install a free legal Windows in VirtualBox

Back to the home page

How to install a free legal Windows in VirtualBox in Linux

Unfortunately, some people still need Windows for a particular end. For example when they have a navigation device that can only be updated by means of a Windows application….

If this applies to you as well, then you can make use of VirtualBox and a free legal Virtual Machine (VM) with Windows 7, 8.x or 10.

Running such a VM is safe for your Linux: even if a Windows VM would become infected with viruses and malware, it can’t do any harm at all to your Linux. That’s because a VM runs in a virtualized sandbox, which effectively isolates it from the underlying operating system.

You can achieve this as follows:

1. First install VirtualBox and its extension pack. In the following way:

Launch a terminal window.
(You can launch a terminal window like this: *Click*)

Type or use copy/paste in order to avoid errors (this is one line!):

sudo apt-get install virtualbox virtualbox-qt virtualbox-ext-pack

Press Enter. Type your password when prompted; this will remain entirely invisible, not even asterisks will show, which is normal. Press Enter again.

Now you’ll be prompted to agree to reading a license agreement from Oracle. Press the Tab key to activate the Ok “button” (it becomes red then) and press Enter. See the screenshot below (click on it to enlarge it):

With that, you’ve confirmed that you’ve read it. Only then you’ll be presented with the actual agreement screen (sigh….). The correct choice, namely Yes, has already been activated. So simply press Enter.

2. Add yourself to the group “vboxusers”. By means of the terminal:

sudo adduser your_own_username vboxusers

Note: the username may only contain lowercase letters, because “under the hood” your username doesn’t contain capital letters. So user “John” types here “john” (instead of “your_own_username”).

3. Reboot your computer.

4. Now download a free legal VM with Windows 7 Enterprise (IE11 on Win7). Preferably not Windows 8.x or 10, because those VM’s are less useful (I’ll explain that later). You can use this legal VM with Windows 7 for 90 days. Don’t forget to activate it within a couple of days, by means of the DOS command slmgr /ato (see the instruction on the wallpaper of Windows 7).

After those 90 days, you can extend the activation five times (unfortunately, these activation extensions aren’t possible for the VM’s with Windows 8.x and 10!). So you can use the Windows 7 VM legally for 6 x 90 = 540 days in total. The how-to for extending the activation (“re-arm”) is written on the wallpaper of Windows 7.

After those 540 days you can simply delete the existing VM and import a new clean VM, which should give you another 540 days. It’s therefore useful to keep the downloaded file; after 18 months, that’ll save you some time…..

Legal note: the Microsoft license for these VM’s states: “You may use the software for testing purposes only”. There’s no further explanation given of the term “testing purposes” though, and no time limit to your testing other than the maximal activation period. This implies that it’s entirely up to you: when you think you’re done with testing, you should buy a license or stop using the VM.

5. Unzip the VM (it’s a .ova file).

6. Launch Oracle VM Virtualbox and select in its panel: File – Import Appliance…
Import the .ova file.

7. Click on the imported VM – click Settings – USB – select USB 2.0 (EHCI) Controller

8. Now click on Snapshots and create a snapshot, for renewed activation when the five activation extensions have been exhausted. Then you don’t even have to delete the existing VM; you can simply restore the snapshot for another 540 days of use.

9. Start the VM and wait until Windows has completed booting.

10. In the panel of VirtualBox: Devices – Insert Guest Additions CD image…
Now wait; this can take a long time.

Then click on VBoxWindowsAdditions.exe in order to install it.

After the installation of the Guest Additions, you’ll be asked to reboot Windows. Do so.

11. After Windows has rebooted, you can add USB devices. First connect them to your computer. Then in the panel of VirtualBox: Devices – USB – click on your device. This should enable Windows to install it. Note: you have to repeat this click on your device, every time you boot the VM. Because with that click, you transfer the device from Linux to Windows.

12. Your Windows 7 VM should now be fully functional.

Important warnings:

– Always shut Windows down by means of its own Start button and not by means of the VirtualBox menu bar.

– Don’t use the VM for random web browsing: it’s much safer to use Linux for that….

– If you’re running it from an SSD: disable defragmentation in Windows, or it’ll wear out your SDD.

– Note that transferring a USB storage device (like a USB thumb drive or USB hard drive) to the VM, unmounts that storage device “uncleanly” in the Linux that hosts the VM. Theoretically, this could cause loss of data.

Tip: do you also want to run another Linux in VirtualBox? Then simply create a new virtual machine in VirtualBox, launch the new VM and select the .iso file of that other Linux as “boot disk”.


xrandr --output HDMI-0 --mode 1920x1080

How to use xrandr

Getting started

What is xrandr?

xrandr is a command-line tool to interact with the X RandR
extension [see,
wikipedia], which allows for
live (re)configuration of the X server (i.e. without restarting it):
It provides automatic discovery of modes (resolutions, refresh rates,
etc.) together with the ability to configure outputs dynamically
(resize, rotate, move, etc.).

FIXME: Status across drivers?

What consequences for xorg.conf?

Starting with squeeze, removing the xorg.conf configuration file
entirely should work well enough, but in case that doesn’t work out,
let’s document what can be removed from it from a RandR point of

With the driver detecting modes automatically, several configuration
options become useless most of the time in your configuration file
(xorg.conf). You might want to remove:

  • HorizSync and VertRefresh from the Monitor section.
  • Modes from Display subsection in Screen section.
  • ModeLine from the Monitor section.

There’s also no need to keep static dual-head configuration. Some
suggestions to get a tiny xorg.conf:

  • Drop dual Device/Screen/Monitor sections, a single one is
  • Drop MonitorLayout option and Screen lines from the remaining
    Device section.
  • Drop the ServerLayout section(s).
  • Drop RightOf/LeftOf indication of the remaining Screen line
    in ServerLayout section.

Basic xrandr usage

Once the configuration file (xorg.conf) is removed or updated,
starting the server should enable some outputs by default. Their
top-left corners will be at the same part of the image, but their
modes will probably be different.

All outputs may be configured through xrandr. To see the available
outputs, just run xrandr:

$ xrandr
Screen 0: minimum 320 x 200, current 1280 x 800, maximum 4096 x 4096
VGA1 disconnected (normal left inverted right x axis y axis)
LVDS1 connected 1280x800+0+0 inverted X and Y axis (normal left inverted right x axis y axis) 261mm x 163mm
   1280x800       59.8*+
   1024x768       60.0
   800x600        60.3     56.2
   640x480        59.9
DVI1 disconnected (normal left inverted right x axis y axis)
TV1 disconnected (normal left inverted right x axis y axis)


  • We see 4 outputs: VGA1, LVDS1, DVI1, TV1.
  • Only the internal panel (LVDS1) is connected and it supports 4
    modes at 60 Hz, 1 mode at 56 Hz.
  • The mode marked with a star (*) is the current mode.
  • The one marked with a plus (+) is the preferred one. Most
    monitors report a preferred mode to the driver. And the
    server/driver will generally choose it by default.

FIXME: Mention output name conventions?

When manipulating VGA1 output properties, you should use:

$ xrandr --output VGA1 <options>

Adding/removing heads dynamically

The old days where you had to restart X when plugging a new monitor
are gone. With RandR 1.2, you can plug/unplug monitors whenever you
want. Running the following line will query all outputs and enable
them with their default mode:

$ xrandr --auto

You may also disable one output using:

$ xrandr --output LVDS1 --off

This may be useful for some buggy application that don’t support
multiple outputs well. Also, due to CRTC limitations (see the Caveats
section below), it is often required to disable one output before
enabling another since most hardware only support 2 at the same time.

Changing the mode

With the above xrandr output, you may change the LVDS1 mode to
1024x768 using:

$ xrandr --output LVDS1 --mode 1024x768

The refresh rate may also be changed, either at the same time or

$ xrandr --output LVDS1 --mode 1024x768 --rate 75
$ xrandr --output LVDS1 --rate 75

To get back to the default mode:

$ xrandr --output LVDS1 --auto

Placing outputs in a virtual screen

A bit of configuration for non-KMS setups:

Let’s have a look at the maximal virtual screen size, we see
4096x4096 in this example:

$ xrandr|head -1
Screen 0: minimum 320 x 200, current 1280 x 800, maximum 4096 x 4096

With KMS (FIXME: Link to a page which explains what KMS is),
there’s no need to specify any Virtual option. With DRI and without
KMS, that might be needed. Indeed, drivers will often create a default
virtual screen with small dimensions, for instance 1600x1200, to
reduce memory consumption.

If you plan to use multiple outputs displaying different zones, you
should configure your xorg.conf by adding a Virtual line to the
Display subsection in the Screen section.

Section "Screen"
  SubSection "Display"
    Depth 24
    Virtual 3000 2000

Place outputs

Outputs are placed using the following options:
--right-of/--left-of/--above/--below. For instance, to place
the VGA1 output virtually-right of the internal panel (LVDS1):

$ xrandr --output VGA1 --right-of LVDS1

Note that hardware and memory limitations may severely restrict the
size of your virtual screen, see the Caveats section below.

Adding new modes

Under some circumstances, some modes might be missing. For instance,
if the monitor does not report correct EDID information. Or if the
output didn’t have a CRTC available at startup because another output
was using it and you disabled it in the meantime.

If a mode exist, you may add it to one output with:

$ xrandr --addmode VGA1 800x600

If the mode does not exist, you may first create it by passing a modeline:

$ xrandr --newmode <ModeLine>

You may create a modeline using the gtf or cvt tools (shipped in
the xserver-xorg-core package).



#copy locally but exclude ...
rsync -rv --exclude={'*.arc','Cad','Foto','Sign'} /media/BC79-DC1B/src dest
#remote/ssh with certificates in place ...
rsync -e "ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null" \
-rv --exclude={'iid*','alfa'} --progress src cacer:~/dest

edison and bitscope micro




Running the worlds smallest scope with the worlds smallest computer (give or take):

install 32 bit bitscope-server, community-provided ftdi kernel and possibly lib-ftdi1 on top of ubilinux/intel edison. In my case using the “large” arduino break out board. But you should go with  smaller one …  .

Hey! this is UDP client/server over wifi with multiple viewers/clients at 20MHz, dual channel etc etc

dpkg -i bitscope-server_1.0.EA20A_i386.deb


gunzip ftdi_sio.ko.gz
insmod ftdi_sio.ko
root@ubilinux:/home/leif# bitscope-server -v
Server: BitScope Server 1.0 EA20A starting...
Server: opened device USB:/dev/ttyUSB0
Server: opened UDP socket on "ubilinux" port 16385
Server: starting server process 1976
Server: server idle/start latency 8 ms
Server: downstream thread B693FB70 running
Server: upstream thread B6D3FB70 running
Server: listening for connections (press <ENTER> to terminate).
Client: new connection

on client:


#include <octave/oct.h> 
#include <octave/oct-map.h> 

DEFUN_DLD (structure, args, , "quick and dirty demo") 
~  octave_value_list retval; 
~  Octave_map a (args(0).map_value()); 
~  Octave_map ab (a.contents ( ("b"))(0).map_value()); 
~  ab.assign ("c", -1.0); 
~  a.assign ("b", ab); 
~  retval(0) = a; 
~  return retval; 

$ mkoctfile 

octave:1> a.a = 0; a.b.a = 1; a.b.b = 2; a 
a = 
~  a = 0 
~  b = 
~  { 
~    a = 1 
~    b = 2 
~  } 


octave:2> a = structure (a) 
a = 
~  a = 0 
~  b = 
~  { 
~    a = 1 
~    b = 2 
~    c = -1 
~  }