Every Resource a Full-Time Freelancer Could Ever Need

According to the Freelancer’s Union, as of Fall 2015, almost 54 million Americans considered themselves freelancers, and nearly two-thirds of those people “made the jump by choice.”

But interestingly, the results of a 2015 survey conducted by Contently show that only about one-third of freelancers would decline “a full-time job in [their] field, with identical pay plus benefits…” Part of that may stem from the fact that, along with the perks respondents identified—like making their own hours and choosing what they work on—there are also concrete challenges. One-third of those surveyed listed “securing enough work” as their greatest struggle, and another 14% indicated they had trouble making enough money.

If you are (or would like to be) a full-time freelancer, you’ll need to prepare for and address the real issues that might come your way so you can be as successful as possible. Luckily, there are a ton of resources out there to support you in your endeavor—and we’ve gathered them all in one place:

Getting Started

You have a talent or skill that’s in demand. Colleagues and friends alike ask you if you’ll proofread their work, if you’ll design a logo for their latest ventures, if you’ll share your marketing expertise, if you’ll photograph their events, or if you’ll explain the latest social media trends. You know you could be charging for that thing you’re particularly good at, and you find the idea of freelancing pretty enticing.

Before you jump in with both feet, remember that working for yourself means more than wearing whatever you please and not having to share the team fridge. You’ll want to think through where you’ll work (Do you have a designated area at home, complete with a desk? Does it make sense to invest in a co-working space?), what hours you’ll keep (so you don’t get pulled into errands and lunches you really don’t have time for), and other seemingly small but super important things like having a phone plan that accommodates lengthy client calls and dependable Wi-Fi.

I’d recommend reading this article by Kate Kendall, the founder of the “talent marketplace” CloudPeeps. Kendall lays out a feasible plan for analyzing what separates you from the pack, finding your first clients, and getting real about just how paltry your income may be (at least initially).

Finding Work

Per Kendall’s suggestion, it’s a good idea to drum up some work as soon as possible—even before making the move from part-time to full-time freelancing. (And even if you’ve already been at it for a while, it’s never too late to revisit how you can gain traction and find additional work.) Check out these resources on finding clients and promoting your services.

1. On Job Boards

Sites like UpWork, CloudPeeps, and Mediabistro post freelancing jobs in a variety of fields often related to editorial, marketing, and social media. Business News Daily compiled an awesome list of the best freelancing sites to look for work including FlexJobs and Guru. And of course, The Muse features flexible and remote postings as well.

If you’re a full-time freelance writer, the site freelance writing jobs posts a roundup of opportunities each weekday and conducted a survey that’s a good reminder you can also find freelancing projects on more generalized sites like Craigslist and Indeed. The Mix from Hearst pays writers for personal essays they choose to publish, and getting a byline on a site like Cosmopolitan, Elle, or Seventeen is great for credibility.

2. Through Your Website and Social Media Profiles

Along with looking for opportunities, you also want to make sure that clients can find you—and that when they do, they’re impressed by what they see.

Your first stop is a killer personal website, and The Muse has many helpful articles on using Squarespace. (I know: I poured over them when I decided I was ready to migrate from a Blogger site.) Here are some of my personal favorites:

Along with reviewing your website, prospective clients are likely to check out your social media profiles as well. To get yours up to speed, read up on optimizing your Instagram presence, revising your LinkedIn profile in 30 minutes, and following basic Twitter rules.

Updating these won’t just increase your credibility, they’ll provide potential clients multiple ways to get in touch with you. Even if you have a top-notch LinkedIn profile or thousands of Twitter followers—if you only have one or the other, you’re isolating a client who doesn’t use the platform you’re active on. So, while you don’t want to stretch yourself too thin, you do want to come up with a strategy for how you’ll manage your brand on a daily, monthly, and weekly basis.

That said, it remains up to you what you make public. Maybe you want Instagram or Facebook to be a place where you share photos with just family and friends—and that’s totally OK. Review your privacy settings to confirm who you’re sharing updates with (and even if they’re rock solid, I’d still advise against posting inflammatory content). If a business contact tries to friend you on one of these sites, send him or her a LinkedIn invite instead, and indicate that’s a much better way to stay in touch.

3. Via Your Network

Some people, especially when they’re starting out, want to keep their work under wraps. They don’t want their family and friends to think they expect them to spend money on their new venture—which is valid, and probably much appreciated.

But at the same time, remember that your contacts will come across people and projects that could benefit from a freelancer. And who better than you—someone who’s talented and who they already know and trust? This email template is a great place to start. It lets others know exactly what you’re up to you (and offers to return the favor).

And don’t forget: It could be that your connection was tasked with finding someone, and by alerting him to your new gig, you’re actually making his life easier.

Anyway, I’ve just began the interview process at TopTal.com (to become a part of the Web Developer community), and I really like to get in and become one of the freelancers who work there. If you’re a Web Designer or Web Developer  who is  looking for work, I recommend that you do the same.



Install Genymotion Android Emulator in Ubuntu 14.04

Genymotion is the next generation of the AndroVM open source project, already trusted by 900,000 developers. It is a fast, cross-platform Android emulator that comes with pre-configured Android in it. It’s so easy to use and has lots of functionality that normal android emulator doesn’t. It can be very useful for developers, testers, salesman or even gamers. It is available for most operating systems: Windows, Linux and Mac OS X. It is as simple to install as powerful to use:


Android as its best

  • OpenGL acceleration to achieve the best 3D performance
  • Enable full screen option and improve your experience
  • Be precise in your UI development with the “pixel perfect” functionality

Fully controllable

  • Start multiple virtual device at the same time
  • Manage sensors:
    1. Battery level / status
    2. GPS
    3. Rotation
    4. Camera
  • Override virtual device identifiers
  • Directly command virtual devices sensors with Genymotion Shell
  • Fully compatible with ADB. You can control your virtual device from the host

Manage your devices

  • Easy to install
  • Compatible with Microsoft Windows 32/64 bits, Mac OSX 10.6+ and Linux 32/64 bits
  • Configure virtual devices:
    1. Screen resolution
    2. Memory quantity
    3. CPU unit quantity
  • Download and deploy easily the latest Genymotion virtual device

Install Genymotion

– First install virtualbox

sudo apt-get install virtualbox

– Click below to register on Genymotion site and download either 32bit or 64bit version depending on your hardware architecture

Genymotion Registration Page

– Change directory to where you downloaded the bin file and run following commands. Accept the default install path

chmod +x genymotion-2.2.2_x64.bin


– Change directory to where genymotion was installed. The default is ‘/home/[username]/genymotion/’

cd /home/[username]/genymotion/


– Click Yes to add your first virtual device


Click Connect to login and install a devicedvDK2hW

Select desired device and click Next


Enter a name for your device and click Next


Wait until your virtual device is downloaded and deployedAOR8NQc

Click Finish


Click Play to start the emulator


Network Printing With Ubuntu


Ubuntu supports printer sharing over networks, so you can print from your Ubuntu machine, your Windows machine, etc, to another Ubuntu or Windows machine that has a printer attached (ie a “Ubuntu print server” or “Windows print server”).



Ubuntu uses the Common UNIX Printing System (“CUPS”) to handle printing. CUPS uses the Internet Printing Protocol (“IPP”) as the basis for managing print jobs and queues. Other protocols are also supported (LPD, SMB, AppSocket a.k.a. JetDirect), some with reduced functionality.

CUPS printer configuration and management is handled by the Printer Admin utility launched from the Gnome menu – System -> Administration -> Printing (If the menu item does not exist you need to add the command system-config-printer to the menu). Also IPP provides web services so after you have configured CUPS appropriately, you can access the printers and jobs via your web browser.

When a locally attached printer is defined, eg using the Printer Admin utility, that printer is automatically published from this “print server” host to the network, depending on the server directives in the CUPS configuration file. A remote Ubuntu “client” host can then be able to see and use the printer attached to the server. The network printer automatically appears in the client’s Printer Admin utility. It simply pops up if CUPS is up and configured correctly and disappears if you stop CUPS at either the Print Server or your local machine.

Ubuntu print server

The Print Server is the Ubuntu computer that is directly connected to the printers.

  1. On the server machine (the one the printer is attached to), open System -> Administration -> Printing (If the menu item does not exist you need to add system-config-printer to the menu). . This will open the Printer Configuration window.system-config-printer

  2. Select Server in the menu bar, and then Settings. This will open the Basic Server Settings window.

  3. Check the second box:

    Publish shared printers connected to this server If this computer acts as both a Print Server and a client (it does need access to a printer connected to another computer), select also the first box, “Show printers shared by other systems”.Server-setting

  4. OK

  5. Right click the printer and check the Shared option, if not checked yet

  6. Check that users that you want to be able to use the printer are not excluded. See Properties>Access Control. The default settings may be set to “deny printing for everyone except …”inkjet_settings1                you might want to “allow printing for everyone”.


    Ubuntu print server compatible with Windows (Samba)

    If your Ubuntu print server shall be able to work also with Windows clients, you must first make sure that the SAMBA package is installed (e.g. using Synaptic package manager). Then, do a little configuration change to SAMBA. In brief, you must uncomment the following lines in /etc/samba/smb.conf – open terminal and run:

    gksudo gedit /etc/samba/smb.conf

    In the [printers] section:

       browseable = yes
       guest ok = yes

    When done, restart Samba:

    sudo service smbd restart
    sudo service nmbd restart

    There is a dedicated page in the official documentation which gives more details.

    Also, one would want to allow the following ports through a firewall (ufw for example) via:

    sudo ufw allow 139/tcp
    sudo ufw allow 445/tcp
    sudo ufw allow 137/udp
    sudo ufw allow 138/udp

    For more on this, please see here.

    Printing from Ubuntu

    Now let’s configure the client (the Ubuntu computer from where you want to print):

    1. System -> Administration -> Printing

    2. Add – Network printer

      1. Click Find network printer

        • Specify the host IP address or name. (It may also work without, try) (IP address worked for me, hostname did not.)
        • Click Find

      2. Printers on the target machine should be found, no matter whether they are connected using CUPS or SAMBA.
        • BUT if both protocols are available, e.g. because you have shared your printer on a Linux box both using CUPS and Samba, prefer CUPS (ipp://) over Samba (smb://), because you won’t be prompted to install a driver in general.findNetworkPrinterScreenshotYou **may** be prompted to select a driver. Select your model in the list.
          • (to be done) What to do if driver is not in the list
        • Printing from Windows


          Once your Ubuntu print server is set up using SAMBA as described above, you can add the printer in Windows as follows:

          1. Start
          2. Devices and Printers
          3. Add a printer
          4. Add a network, wireless or Bluetooth printer
          5. Click The printer that I want isn’t listed (unless a miracle happens)

          6. Enter the address manually (\\servername\MyPrinter). Be sure to respect uppercase/lowercase.windoze-addprinter-step1

            windoze-addprinter-step2Note that searching or browsing for printers in Windows is notoriously unreliable, as it heavily depends on the network setup. Therefore, it is recommended to enter the printer address manually as shown.

            Windows will then probably complain about a missing driver, and offer you to choose one manually. This is the easiest option, so select your printer manufacturer and model from the dialog box. (Alternatively, the Samba configuration could be improved so that the driver would be automatically downloaded.) If your printer model isn’t listed, you may try the “Generic” printer.

            Tips: You can avoid intermediate SAMBA buffer using direct connection to CUPS/IPP Ubuntu server from Windows workstation. You should manually specify “http://hostname:631/printers/MyPrinter” IPP URL and select printer driver.

            Windows print dialog window (Ctrl-P) can take long time (about 30 seconds) to appear. You can reduce the connection time to CUPS IPP printer by disabling option Automatically detect settings in “Control Panel/Internet Explorer -> Internet Options -> Connections -> LAN settings”.


            1. Bypassing firewall.

            If there is an firewall either on print server or the client side, there might appear a communications problem. Use this command to update the firewall to get through.

            iptables -A INPUT -p tcp –dport 631 -j ACCEPT

            • This rule is used for IPP only. If you’re using other protocol, such as SAMBA, you have to adapt.

              You might need to use this rule on both sides (server & client) if the firewall is being used on both of them. To apply this rule after each start/restart of the system, use /etc/rc.local .

            2. Networking issues.

            Be careful about using different network masks/subnets on your network where you would like to share the printer.

            If the subnets differs, e.g. on the print server there would be a /24 ( netwok mask configured, and e.g. on the clients there would be a /16 ( network mask – perhaps provided by the DHCP server, this might cause a problem that clients won’t be able to detect any shared printer on the server, even if other communications between print server and clients would be possible (e.g. ICMP, ssh) and successful.

            If such situation happens, you have to unify the network masks/subnets on all of your stations, e.g. use /24 (255.255.255.

            3. IP address

            Generally, it is a good idea to assign your print server a static IP address. Instead, using its host name is also possible, but functionality will then depend on proper configuration of your home router, name service, etc.

            4. IPv6 Windows (since XP) can print over IPv6 to Ubuntu Linux (tested between Windows XP SP3 and Ubuntu Linux 8.10). Make sure both the Windows and Ubuntu have IPv6 connectivity. You should tick “Allow Printing from the Internet” on the Ubuntu machine. Then use the URL (which resolves to IPv6) of the Ubuntu machine as described above.

            5. Mac OS X 10.5.

            Will not find your network printer unless you go to the terminal and run cupsctl BrowseRemoteProtocols=cups (see the CUPS 1.4 documentation at http://www.cups.org/documentation.php/doc-1.4/sharing.html). After doing so, you may need to set the network printer as your default printer for it to show up in program “print” menus.

How to install Elance Tracker in latest Ubuntu 14.04


Elance Tracker app uses Adobe Air and as Adobe has stopped Air support for Linux (the latest supported version is 2.6) – it became problematic to run Air apps on Linux.
You can find a lot of manual allover the Web how to solve different issues and install Air on Linux (like linking libgnome-keyring.so etc.), but with Ubuntu each new version brings less compatibility.
On Ubuntu 13.10 for a long time I was not able to install Adobe Air in any way. Only one manual from tkalin.com helped me to figure it out.

My previous manual using Wine was not correct. Sorry for that, with Wine you can install and run Tracker, but time and screenshots are not being tracked. So it is useless.

  • Here is one quick script. Save it as install_adobe_air.sh
apt-get install libgtk2.0-0:i386 libstdc++6:i386 libnss3-1d:i386 lib32nss-mdns libxml2:i386 libxslt1.1:i386 libcanberra-gtk-module:i386 gtk2-engines-murrine:i386
cd /tmp
apt-get download libgnome-keyring0:i386
dpkg-deb -R libgnome-keyring0_3.8.0-2_i386.deb gnome-keyring
cp gnome-keyring/usr/lib/i386-linux-gnu/libgnome-keyring.so.0.2.0 /usr/lib/i386-linux-gnu/
ln -s /usr/lib/i386-linux-gnu/libgnome-keyring.so.0.2.0 /usr/lib/i386-linux-gnu/libgnome-keyring.so.0
ln -s /usr/lib/i386-linux-gnu/libgnome-keyring.so.0 /usr/lib/libgnome-keyring.so.0
ln -s /usr/lib/i386-linux-gnu/libgnome-keyring.so.0.2.0 /usr/lib/libgnome-keyring.so.0.2.0
wget http://airdownload.adobe.com/air/lin/download/2.6/AdobeAIRInstaller.bin
chmod a+x AdobeAIRInstaller.bin
rm ./AdobeAIRInstaller.bin
rm /usr/lib/libgnome-keyring.so.0
rm /usr/lib/libgnome-keyring.so.0.2.0
  • Make it executable sudo chmod a+x install_adobe_air.sh
  • And run sudo ./install_adobe_air.sh (during running Abode Air wizard will appera, you should go through it)
  • Then download Elance Tracker for Linux as usual and install it in normal way

How to upload projects to GitHub?

This is very easy. Though when I first learned it , it was so tough for me 😉
Just follow the procedures mentioned below

**First install Software name “Git” on your machine say with Windows7**

1)Log in your account.https://github.com/youraccount
2)Create new repository->give one repository like “Test” and Press Create repository.
3)Go to the folder name “Test” and click right button and press git bash.Then give the following command from option 4 to 8.
4)git init
git add README.md(for one file)
git add *(for all files in the folder)
6)git status(for checking the status whether the file is added or not)
6)git commit -m “first commit”
7)git remote add origin https://github.com/youraccount/Test.git
git push -u origin master

It will ask password for your account. Give password and boom . Your folder has been uploaded the repository.

It will not ask password if you log in before by using your account through the below command
git config –global user.name “YOUR NAME”
git config –global user.email “YOUR EMAIL ADDRESS”

For more details you can follow link: https://help.github.com/articles/set-up-git/

How to Install XAMPP for Linux in Ubuntu 14.04 LTS

1.Download here .

2.After download change the permission :

cd ~/Downloads
sudo su
sudo chmod 777 -R xampp-linux-x64-1.8.3-4-installer.run

The window installation wizard will appear:


And then click next and wait until finish
3. Now need to change the permission for htdocs :
cd /opt/lampp
sudo chmod 777 htdocs

create one demo.php file and write code :

echo “Hello World !”;

4. To start the XAMPP service :

sudo su
/opt/lampp/lampp start
5. To stop the XAMPP service:
sudo su
/opt/lampp/lampp stop
6. To open the page of XAMPP, whenever you want, type in the address bar of your browser:
7. To run the php file:

Enjoy !

Facebook News Feed

Write code to access the Facebook News Feed: I’ve done most of it for you

$facebook_page_id = 'YOUR_PAGE_ID';
$access_token = 'ACCESS_TOKEN';
$no_of_post = 5;
$json_content = file_get_contents("https://graph.facebook.com/".$facebook_page_id."/feed?access_token=".$access_token."&limit=".$no_of_post);

$row_data = json_decode($json_content);
echo "<ul>";
foreach($row_data->data as $feed)
echo "<li>".$feed->message."</li>";
echo "</ul>";


Twitter API Version 1.1

So you want to use the Twitter v1.1 API?

Note: the files for these are on GitHub.

Version 1.0 will soon be deprecated and unauthorised requests won’t be allowed. So, here’s a post to help you do just that, along with a PHP class to make your life easier.

1. Create a developer account: Set yourself up a developer account on Twitter

You need to visit the official Twitter developer site and register for a developer account. This is a free and necessary step to make requests for the v1.1 API.

2. Create an application: Create an application on the Twitter developer site

What? You thought you could make unauthenticated requests? Not with Twitter’s v1.1 API. You need to visit http://dev.twitter.com/apps and click the “Create Application” button.


On this page, fill in whatever details you want. For me, it didn’t matter, because I just wanted to make a load of block requests to get rid of spam followers. The point is you are going to get yourself a set of unique keys to use for your application.

So, the point of creating an application is to give yourself (and Twitter) a set of keys. These are:

  • The consumer key
  • The consumer secret
  • The access token
  • The access token secret

There’s a little bit of information here on what these tokens for.

3. Create access tokens: You’ll need these to make successful requests

OAuth requests a few tokens. So you need to have them generated for you.


Click “create my access token” at the bottom. Then once you scroll to the bottom again, you’ll have some newly generated keys. You need to grab the four previously labelled keys from this page for your API calls, so make a note of them somewhere.

4. Change access level: You don’t want read-only, do you?

If you want to make any decent use of this API, you’ll need to change your settings to Read & Write if you’re doing anything other than standard data retrieval using GET requests.


Choose the “Settings” tab near the top of the page.


Give your application read / write access, and hit “Update” at the bottom.

You can read more about the applications permission model that Twitter uses here.

5. Write code to access the API: I’ve done most of it for you

I combined the code above, with some modifications and changes, into a PHP class so it’s really simple to make the requests you require.

This uses OAuth and the Twitter v1.1 API, and the class I’ve created which you can find below.


/** Set access tokens here - see: https://dev.twitter.com/apps/ **/
$settings = array(
    'oauth_access_token' => "YOUR_OAUTH_ACCESS_TOKEN",
    'oauth_access_token_secret' => "YOUR_OAUTH_ACCESS_TOKEN_SECRET",
    'consumer_key' => "YOUR_CONSUMER_KEY",
    'consumer_secret' => "YOUR_CONSUMER_SECRET"

Make sure you put the keys you got from your application above in their respective spaces.

Next you need to choose a URL you want to make a request to. Twitter has their API documentation to help you choose which URL and also the request type (POST or GET).

/** URL for REST request, see: https://dev.twitter.com/docs/api/1.1/ **/
$url = 'https://api.twitter.com/1.1/blocks/create.json';
$requestMethod = 'POST';

In the documentation, each URL states what you can pass to it. If we’re using the “blocks” URL like the one above, I can pass the following POST parameters:

/** POST fields required by the URL above. See relevant docs as above **/
$postfields = array(
    'screen_name' => 'usernameToBlock', 
    'skip_status' => '1'

Now that you’ve set up what you want to do with the API, it’s time to make the actual request.

/** Perform the request and echo the response **/
$twitter = new TwitterAPIExchange($settings);
echo $twitter->buildOauth($url, $requestMethod)

And for a POST request, that’s it!

For a GET request, it’s a little different. Here’s an example:

/** Note: Set the GET field BEFORE calling buildOauth(); **/
$url = 'https://api.twitter.com/1.1/followers/ids.json';
$getfield = '?username=J7mbo';
$requestMethod = 'GET';
$twitter = new TwitterAPIExchange($settings);
echo $twitter->setGetfield($getfield)
             ->buildOauth($url, $requestMethod)

Final code example: For a simple GET request for a list of my followers.

$url = 'https://api.twitter.com/1.1/followers/list.json';
$getfield = '?username=J7mbo&skip_status=1';
$requestMethod = 'GET';
$twitter = new TwitterAPIExchange($settings);
echo $twitter->setGetfield($getfield)
             ->buildOauth($url, $requestMethod)

Creating new virtual host while using Xampp in Ubuntu (Linux)

I need this stuff quite often. Every time i need to create a new virtual host in Ubuntu i have to google/search to find this solution as i cannot remember these paths properly. I am posting it here for quick reference for myself. Bookmark it for yourself (which i am going to do after i have finished posting it ;))

1. Enable virtual hosts by editing httpd.conf, if it is not enabled already. Once you enable it you can skip this step next time.

sudo gedit /opt/lampp/etc/httpd.conf

Find #Include etc/extra/httpd-vhosts.conf and remove the # to un-comment this line

Include etc/extra/httpd-vhosts.conf

2. Add new virtual host by opening the httpd-vhosts.conf file

sudo gedit /opt/lampp/etc/extra/httpd-vhosts.conf

Usually, by default there are two virtual hosts in this file. You can edit one or create new one by copy-pasting one of them. The required entries are DocumentRoot andServerName

<VirtualHost *:80>
ServerAdmin your_email@domain_name.com
DocumentRoot /opt/lampp/htdocs/mysite_folder
ServerName mysite.local
ServerAlias www.mysite.local
ErrorLog logs/mysite.local-error_log
CustomLog logs/mysite.local-access_log common

3. Next, you will need to tell Xampp server where to find the address you added above:

sudo gedit /etc/hosts

Add the following line: mysite.local

4. Restart xampp server by doing

sudo /opt/lampp/lampp restart

5. Type http://local.mysite in browser’s address bar and it should work.

How to install ubuntu 14.04 using wubiguide

What is Wubi?

Wubi is an officially supported installer for Windows XP, Vista and 7 users that allows Ubuntu to be installed and uninstalled in a safe, easy way as with any other Windows application.

What about Windows 8?

At this time, Wubi does not work with Windows 8 default boot-loader. Thus at this point Wubi would not work on a new Windows 8 machine. You would be able to install, but not reboot into Ubuntu.

If you upgraded to Windows 8 and are using BIOS firmware, Wubi does work, but do not enable hybrid-sleep on Windows 8.

How to use this guide

Please note that this guide is only for issues directly related to the Wubi installer; for general Ubuntu questions please use appropriate resources such as the official Ubuntu documentation, the Ubuntu Forums, or the Ubuntu Guide.

You might also be interested in the Ubuntu Forums Installations & Upgrades section.


Wubi uses a virtual disk that is sensitive to forced shutdowns. If Ubuntu appears to be frozen please refer to: How to reboot cleanly even when the keyboard/mouse are frozen

Read More


How do I download Wubi?

Download Wubi from the Ubuntu Windows Installer cdimages page; this will download the latest version. You can download other versions from the Ubuntu pages on releases.ubuntu.com, e.g. 12.10, look for wubi.exe at the bottom of the page. Wubi is also included on Ubuntu Desktop and Kubuntu CDs.

How do I install Ubuntu?

Run Wubi, insert a password for the new account, adjust other settings such as the disk space, and click “install”.

The installation process from this point on is fully automatic.

The installation files (approximately 700MB) will be downloaded and checked, after which you will be asked to reboot.

Do so and select Ubuntu at the boot screen. The installation will continue for another 10 to 15 minutes and the machine will reboot again.

That’s it. Now you can select Ubuntu at the boot screen and start using it.

Screenshot of the installation screen

The standard installation has default settings that should work on most hardware.

How do I select whether to run Windows or Ubuntu?

You can choose to run Windows or Ubuntu at the system boot screen.

Screenshot of the boot screen

How do I install Wubi on a machine with no Internet connection?

Wubi also works with physical Ubuntu Desktop Live CDs. Wubi.exe is available in the root folder of the CD.

If you do not have a CD, try to find a computer with Internet access, and download both Wubi.exe and the required Desktop ISO from the same location (the release has to match):

Copy both files into the same folder on the machine with no Internet access and run the Wubi executable.

Where do I find older versions of Wubi?

Older versions of Wubi can be found on the SourceForge page.

How can I use a manually downloaded ISO?

You need to download the DESKTOP CD ISO of the appropriate version. Place the ISO in the same folder where you have wubi.exe and then run Wubi. For example, Wubi 11.10 requires the 11.10 DESKTOP ISO, available here.

Note that you need a DESKTOP CD ISO. A DVD ISO may not work (except for Edubuntu). Alternate ISO files are not supported.

Why is the AMD64 version of Ubuntu being downloaded and installed?

The machine you are trying to install Ubuntu on is 64 bit. The AMD64 installation is appropriate for all 64 bit architectures, no matter if they are AMD or Intel.

Can I force Wubi to download and install a 32 bit version of Ubuntu?

Yes. Either pre-download the appropriate 32 bit ISO manually and place it in the same folder as Wubi.exe or start Wubi from the command prompt with the “–32bit” argument.

To modify arguments without using the command prompt, right-click Wubi.exe and select “Create Shortcut”. Then right-click the shortcut, select Properties, and modify the Target line, for example: “C:\Documents and Settings\<user>\Desktop\wubi.exe” –32bit

Can I force Wubi to install if I have less than 256MB of memory?

Yes. start Wubi with the argument “–skipmemorycheck”. The installer may not work in such conditions.

Can I force Wubi to install even if I have less than 5GB of free disk space?

No. From release 11.10, 5GB is required as a minimum including enough space to store the ISO. On older releases, start Wubi with the argument “–skipspacecheck”. Even on older releases, you’ll still require 3GB of space plus room for the ISO. Pushing this limit too hard may cause errors.

Can I force Wubi to skip the md5 checks?

Yes. Start Wubi with the argument “–skipmd5check”.

Which Operating Systems are supported?

Windows 7, Vista, XP, and 2000 are known to work with Wubi. Windows 98 should also work, but has not been thoroughly tested. Windows ME is not supported. Linux is supported through Lubi.

What happens if the installation is interrupted?

If the installation is interrupted for any reason, you will have to run Wubi.exe again from within the Windows installation (which in turn may force you to uninstall first).


Upgrading from 12.04 to 12.10 is supported. FIXME other

Upgrading from releases 10.04 and later is supported. Please review the applicable release notes before hand. Ensure you have sufficient free space, and consider backing up the \ubuntu\disks directory (from Windows) in case there are any errors, or you prefer to revert to the old release.


How do I uninstall Wubi?

Run the uninstaller in “Control Panel > Add or Remove Programs” for Windows XP or lower or “Control Panel > Programs and Features” for Windows Vista or Windows 7. Alternatively, you can run: C:\ubuntu\Uninstall-Ubuntu.exe.


If the uninstaller fails, try downloading and running Uninstall-Ubuntu.exe.

How do I manually uninstall Wubi?

Remove C:\ubuntu and C:\wubildr*

In Windows XP you need to edit C:\boot.ini and delete the Ubuntu/Wubi line. Alternatively you can modify the boot menu via Control Panel > System > Advanced > Startup and Recovery and pressing “Edit”. For Windows 98 you have to edit C:\config.sys and remove the Wubi block. For Windows Vista/7, you can use the built-in bcdedit command or install EasyBCD to edit the boot menu. To use bcdedit, run cmd.exe as an administrator, then enter bcdedit to show all boot entries, note the {GUID} specified for the Ubuntu entry, and then remove it: bcdedit /delete {GUID}

To remove Wubi from the add/remove list, delete the registry key: HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall\Wubi

An easy method of removing this registry key is to paste the following text into a plain editor such as Notepad, close and save the file as something like removeWubiKey.reg (you may wish to go to Folder Options > View and disable the “Hide file extensions for known file types” option to check that the .reg extension has been applied correctly). Then you can perform the rest automatically by opening the file in the normal Windows manner, or choosing the “Merge” option from the right click context menu. Note: The formatting is rather strict, so copy the text exactly for best results. You may need to be logged in as the administrator to delete the key, depending on the version of Windows you are using. User Account Control in Vista may also ask for permission, in the typical fashion.



After deleting the registry key, Ubuntu may still appear in the program list. If this is the case, you may be asked if you would like to remove the item from the list.

How do I reinstall Wubi?

Run Wubi.exe again. Wubi will detect that there is an existing installation and you will be offered an option to uninstall. You may want to backup the installation files (the ISO) in order to avoid having to download them again. Note that when you reinstall, the system virtual drive (root.disk) is reset.

How can I make a backup of my Wubi install?

The easiest method is to to simply copy the root.disk to an external medium. In the event that something goes wrong, copy the root.disk back to the Ubuntu folder on the Windows drive. Note that this is not the most efficient method (since it copies the whole root.disk rather than specific data/settings) but it is effective.