Category Archives: Linux

Comparison of VPS Providers

So you’ve graduated from the world of shared hosting providers and it’s time for you to set up your own big-boy hosting package. You need a Virtual Private Server (VPS) of some sort, but the options are dizzying because these services have become a commodity: it seems that nearly everyone is peddling some variation of them. Well, we feel your pain. And I feel my own pain… I’ve dealt with a number of hosting providers over the past few years, and I’m writing this article to share with you my opinions. I’ve set up accounts for myself or for my clients on all of the following systems, and here is my unbridled opinion of each of them. Keep in mind that these reviews and opinions relate primarily to using the services for web hosting.

These aren’t affiliate links unless otherwise indicated (hey, if you want to throw us a bone for saving you the pain of experiencing these guys yourself, then please, feel free to click the affiliate link: it costs you nothing and it is your way of saying “thanks for saving me the trouble of learning this stuff the hard way”).

LiquidWeb

LiquidWeb has impressed me with its clean integrations and its “heroic support”. That doesn’t mean they’ve been able to fix every problem I’ve had, but to be fair, a lot of the tricky stuff was weird 3rd party installs that *I* struggle with greatly. But they have been very responsive in their tickets and I’ve never felt abandoned or in the dark.

The standard VPS’s offer a good value, but if you need more horsepower, their SmartServers offer a nice combination of virtual/cloud and dedicated qualities, and it’s a good combo for many folks. These come by default with WHM/cPanel, so it’s easy to set up sub-accounts with their own logins. Throw me a Bone (affiliate link)

Media Temple

This is a popular option, although I’m not sure why… their cloud servers go down frequently, they’ve had several pretty severe security issues, and using SSH on their servers is a holy pain in the ass because SSH dumps you in some foreign directory miles away from your home directory, whereas FTP takes you to your home directory. What? Yes, it is obnoxious and confusing, and they disconnect your SSH session after 5 minutes, which is approximately 1 minute less than the time it takes you to RTFM through your notes and emails to find where the hell your home directory is or which command you need to run to escalate yourself to the proper user to be able to do anything useful. MediaTemple uses Plesk to offer control panels to their clients, and Plesk is a nightmare if you ever try to do any sysadmin work on the command line. I’ve had a couple clients on MediaTemple, and it just seems like it’s a rocky road with bumps in the service and difficulties in doing basic tasks. It’s not the worst out there, but I wouldn’t rate MediaTemple as anything better than mediocre.

VPS.net

I do not recommend these guys. They do have a nice looking site and what looks to be a nice product, but my experience with them was wholly negative. “Jeez”, you might be thinking, “don’t flame a brother in writing!”, but sit down around the campfire and let me tell you why I feel completely comfortable doing so….

It all started when I set up a VPS server with VPS.net and I signed up for their paid snapshots knowing that I was liable to screw up my server at some point and I’d want to roll back to a snapshot image. Sure enough, I borked my server by removing the sqlite package, which completely destroyed the functionality of my yum utility (don’t ever do what I did, by the way). “No problem”, I thought, “I’ll just roll back.” Well, the restoration process had a fatal flaw, which completely toasted my server. After using their “restoration” utility, I didn’t just have a server with a broken yum utility, I had a completely fried server (ooo… that’s a bad code taco on that one). The people over at VPS.net were completely unwilling to admit the problem. I wasted about 2 days waiting for them to either fix the problem or to just come clean and say “hey, we’re really sorry, but we had a glitch in our snapshot utility so we only have partial backups of your server.” No. They hemmed and hawed and wasted my time for 2 days until finally one of the techs admitted that there had been a problem. I think he was probably later executed by firing squad for insubordination and refusing to tow the party line. I needed to clock in about 40 hours (all un-billable, by the way) to rebuild the server from scratch, and they acted like the Soviets when Chernobyl blew up: in typical fashion they denied anything happened until European scientists started measuring massive amounts of radiation and said “uh, comrades… did something happen at your reactor?”

While waiting days for a response (all while my server and all of its sites were completely down), my patience got exhausted, so I finally threatened to make a blog post like this one. The CTO jumped in saying “I was approaching this in the wrong way”. I listed the several tickets that I had filed that had gotten no response for 48 hours (even ones that *he* had initially responded to). And then even the CTO stopped responding to my requests for information (read: he must have known how badly they screwed up). His response was literally an advertisement: he blabbed on about how awesome their servers were and what great new offerings were available. I felt like he had just run over my dog, and instead of apologizing for killing my best friend, he was yammering on about awesome his car was with its dual-hemi’s, turbo-charged engine and high-performance tires. The final “kiss my ass” message they sent me was a legalese “F-U” which basically stated that none of their services, including backups, were guaranteed. Seriously, I don’t often say stuff like this this in writing, but VPS.net can go french kiss a donkey’s ass. I gave them every opportunity to respond to my questions or to justify their actions, and they ignored me, so I feel I’m being more than fair.

So dealing with VPS.net cost me several thousand dollars, it almost cost me a client, and their ineptitude set me back on several high priority projects, and their response to a completely legitimate issue was childish and unprofessional, and my requests for just basic professionalism were ignored. So there you have it: my rant against VPS.net. Use their services at your own risk.

VPSlink.com

These guys offer a simple no-frills hosting package, and I’ve used them for several dev projects over the years. Nothing fancy, but they are responsive to the requests, and I’ve only had minimal fuss with their servers and their control panel is easy to navigate. They may not give you as much RAM as some for the price, but they do give you lots of CPUs (like 16!). I like these guys and I give them a good thumbs up. There is no cPanel type dashboard for sub-accounts, so this one is only for command-line sysadmins only.

ServerAxis.com

This is another no-frills VPS system that offers some pretty nice stats for the price: lots of RAM and a good amount of CPU. They offer a few more options than VPSLink (e.g. you can pay extra to get an external backup volume mounted to your server), and they are a bit more scalable, but I didn’t find their admin panels very intuitive, so I’ve lost time fumbling through them. There is no cPanel type dashboard for sub-accounts, so this one is only for command-line sysadmins only, but still a solid thumbs-up with these guys.

GoDaddy

Ah yes, now even GoDaddy is offering VPS services (hey, we said this stuff is becoming a commodity). The prices there look competitive, but my experiences with GoDaddy as a host have been mindbogglingly poor. Their shared hosting is a complete disaster — hands down, it’s the worst I’ve seen… they arbitrarily limit functionality, it takes hours to complete tasks that take only minutes on other hosts, and all for a cost that is higher than their competitors. I even had one of their techs tell me that the MySQL dump was “working perfectly” when the log file showed clearly that there was an error. Blink. Are they blind? Or just stupid? They also had zero understanding of how DNS records worked, so they weren’t able to offer any assistance in configuring a custom zone file. Furthermore, their dashboard is impossibly confusing to navigate. Do you know that weird castille soap by Dr. Bonner? I’m pretty sure the intern that did the layout for that soap is the same person who did the UI for GoDaddy’s control panel because I always have to dial their support # when I have to do anything in there.

Did the same guy do GoDaddy's control panel layout?
Layout designed by GoDaddy: Worst Layout Ever

I mean seriously… can you read that?

So even though these look like competitive prices, I have severe reservations about using GoDaddy as anything more than a registrar. Hey, I want to jump on Danica Patrick as much as the next horny guy, but maybe if they spent some time cleaning up their site and services instead of Super Bowl ads and models, they’d have a product worth recommending, but as it stands, you should pass on GoDaddy as a host.

Amazon cloud EC2

This is a popular option because hey, it’s Amazon… but I’ve found EC2 cloud stuff to be a pain in the ass to use simply because you get lost on the command line. It’s worse than MediaTemple from a command-line standpoint. In my opinion, being on the cloud means your data theoretically is always there (there are outages), but if you’re coming in via SSH, then you can’t find it. Haha. Only sort of kidding there. In general, this isn’t a very nice option for those people doing simple web hosting types of services. It’s more appropriate for companies doing persistent application deployments.

Other Providers

I feel obligated to mention the following 2 providers because so many people I work with recommend them highly:

I don’t have first hand experience with them, so I can’t comment directly.

Conclusion

There are a lot of options out there, but with enough time, patience, and trouble-shooting elbow-grease, you can find a web host that works for you.

Securing a Linux Server: SSH and Brute-Force Attacks

If you have a web server, then you are the target of many possible attacks. *ANY* port you have open on that server can be exploited, so you if you value your uptime and your data, you need to secure it. This article focuses on locking down your SSH configuration and user permissions.

If you’ve had your server online for a while without locking down your SSH configuration, have a look at this file: /var/log/secure and see if you’ve got a lot of connection attempts.

This is what a brute-force attack looks like:

[prompt]$ sudo less /var/log/secure
May 31 22:42:12 yourdomain sshd[25711]: Failed password for invalid user alberto from 190.2.35.25
port 32976 ssh2
May 31 22:42:12 yourdomain sshd[25712]: Connection closed by 190.2.35.25
May 31 22:46:11 yourdomain sshd[25714]: Connection closed by 190.2.35.25
May 31 22:56:46 yourdomain sshd[25717]: Invalid user neil from 190.2.35.25
May 31 22:57:10 yourdomain sshd[25717]: reverse mapping checking getaddrinfo for customer-static.someisp.com failed - POSSIBLE BREAK-IN ATTEMPT!

Using Geobytes (or a similar IP address locator), I can see that some hacker-bot in Argentina was guessing both usernames (e.g. alberto, neil) and passwords every few seconds. F*#K!!

The Solution

Here’s what the solution to this problem entails:

  1. Add users for each person accessing the server.
  2. Create a password for those users.
  3. Fly to Argentina and show Sancho I got something for his punk-ass. Just kidding… are you still paying attention?
  4. Add the necessary user(s) to the sudoers file. You don’t want anyone to have direct root access, so this file defines who gets sudo privileges.
  5. Create a public/private ssh key to use in logins.
  6. Install the public key(s) on the server. This will enable the server to recognize the owner of the private key (i.e. you).
  7. Turn off Password Authentication
  8. Disable Root Access

Creating an SSH Key on your Desktop Machine

Keys come in pairs: a public key and a private key. You’ll keep your private key on your machine (in a secure place), the public key you upload to the servers you want to connect to.

You can use different algorithms to generate the key; this shows you how to do it using the DSA algorithm, which is considered more secure (as of this writing).

Open your Terminal and type the following, then just press enter for the default file location. (OS X users can just open their Terminal. Windows users will have to use Cygwin or Putty).

* Do a man ssh-keygen on your machine to see if you require different options to create a dsa key.


[prompt]$ ssh-keygen -t dsa
Generating public/private dsa key pair.
Enter file in which to save the key (/Users/youruser/.ssh/id_dsa):

Type a passphrase (twice).


Enter passphrase (empty for no passphrase):
Enter same passphrase again:

And now you get something like this output:


Your identification has been saved in /Users/youruser/.ssh/test.
Your public key has been saved in /Users/youruser/.ssh/test.pub.
The key fingerprint is:
12:34:56:78:01:23:ab:a7:42:2b:46:5a:3f:fc:4c:ca youruser@ComputerName
The key's randomart image is:


+--[ DSA 1024]----+
| o o++o |
| o+ . oo.. |
|++.o .. |
|*o. + . . |
|+. . * S |
| E o . |
| |
| |
| |
+-----------------+

The ASCII art thing is a new feature, allowing folks to visually identify different keys.

For more information about SSH on OS X, please refer to Dave Dribin’s excellent blog:
ssh-agent on Mac OS X 10.5 (Leopard)

Back on your Web Server

Now that you’ve created your public and private key on your desktop machine, you need to head over to your web server and make some changes.

1. Log into your web server and create users

If you are still logging in as the root user, you need to create other users:

Create a user:
adduser your_username
Create a password for the user:
passwd your_username

Test logging in as this user now. From your desktop machine, try
ssh your_username@your_webserver.com

2. Give One User Sudo Privileges

Now that you have a user other than the root user, you should lock down the root user and push root privileges to the sudo command. The goal here will to disable root logins entirely.

You will need to switch to the root account to perform the following. You can either login as the root account from your desktop machine, or switch to the root account by using the Switch User command (su):
[prompt]$su - root

You grant sudo privileges to your users by editing the sudoers file… but you can’t simply edit that file. You must use the visudo command. This is a very special variant of the VI text editor which is designed for a single purpose: to edit the sudoers file. The security of your entire server can be compromised by this single file, so the visudo command ensures that any editing of this file never allows it to be in a state where its permissions could be compromised.

Other than that, the visudo program works like the VI program — it’s a text editor, but you should familiarize yourself with the editor before messing with your sudoers file.

WARNING: You can lockout ALL users from your machine if your fat fingers or VI ignorance corrupt this file!!! If you are at all unsure of your VI abilities, please review our article: VI Overview.

The goal in editing this file is the addition of a single line of text:
your_poweruser_name ALL=(ALL) ALL

There are a lot of other custom modifications you can make to this file to allow certain users access to individual functions, but that’s a more advanced topic.

Save the file, but DO NOT CLOSE THIS WINDOW. If you made a mistake, you need access to this file in order to fix it. I recommend leaving this window open until you’ve got EVERYTHING locked down and you’ve verified that it works.

Again, go back to your desktop machine and test that you can still login using a password. Once you’re in, try using the sudo command and make sure that you an use it to execute commands.

Add Your Public Key to the Web Server

In a new window, login to your web server from your desktop machine. You should still be prompted for your password.

See if you’ve already got a .ssh directory in your user’s home directory:
[prompt]$ ls -Gal

If you don’t have it, create it:
[prompt]$ mkdir .ssh

Now, move into that directory:
[prompt]$ cd .ssh

If you don’t already have a file named authorized_keys, you need to create it (again, you can use the VI text editor)

You need to paste your entire public key from your desktop machine into this file on the web server. IT MUST FIT ON ONE LINE. SSH expects each key to occupy a single line.

*In VI, you can hit ESC then type :set nu to see line numbers.

Once you’ve pasted in your key, save the file and adjust the permissions:

[prompt]$ chmod 644 ~/.ssh/authorized_keys
[prompt]$ chmod 755 ~/.ssh

Remember:
1. Each public key occupies ONE LINE in the authorized_keys file.
2. The authorized_keys file must be read-only for the group and others: 644.
3. The .ssh directory can’t be group writable: 755

Disable Password Logins

The goal here is to disallow random hackers guessing at passwords by disabling password logins entirely. Logins will be verified via keys, and we change how SSH behaves by editing the /etc/ssh/sshd_config file.

Make the following edits to the /etc/ssh/sshd_confg file e.g. by typing sudo vi /etc/ssh/sshd_config

Uncomment the PasswordAuthentication line to
PasswordAuthentication no

And change the line for PermitRootLogin to:
PermitRootLogin no

Then reload the conf:
[prompt]$ sudo /etc/init.d/sshd condrestart

WARNING: KEEP THAT WINDOW OPEN. Open a new window, then try to login as your user once again. You shouldn’t be prompted for your password… you should be prompted for your passphrase — this is the passphrase you created when you created your key.

Try switching to the root account after logging in:
[prompt]$ su - root

And finally, attempt to login as the root user from your desktop. It should fail.

Summary

Congratulations! If you’ve gotten this far, you’ve taken some big steps in securing your server.

Once you’ve verified that all of this stuff works, you can close the login windows. If something did not work, LEAVE THOSE WINDOWS OPEN and call a friend — find someone who knows Linux system administration to help you out. This is even more important if you don’t have physical access to your server.

Links

Here’s an article I referenced while writing this:
http://www.webmasterworld.com/linux/3285421.htm

Create a Bootable Linux USB Flash Drive with UNetbootin

With the rise of the Netbook, optical media (CDs/DVDs) may be marching toward eventual obsolescence. Even if optical media doesn’t disappear anytime soon, certain tasks such as creating a Linux-based boot disc are faster and more convenient when using a USB flash disk rather than a CD.

Let’s work on creating a Linux-based bootable flash disk. To do this, we will use the UNetbootin software.

UNetbootin – Main site

UNetbootin – Download (Windows)

You will also need an empty USB flash drive, preferably 1 GB or larger. I’m using a 1 GB Lexar drive formatted as FAT32.

Boot Disk Creation

UNetbootin is available for Windows and Linux. We’ll use Windows for the purposes of this tutorial. First, you need to download and launch the program (it’s portable – no installation necessary).

UNetbootin - Main

Once it’s launched, you can either provide it with a Linux ISO that you have already downloaded, or pick a distribution from the list and let UNetbootin download the necessary files for you. Most popular distros are supported, including Ubuntu, Fedora, OpenSUSE, and Mandriva. You can also choose various system utilities such as FreeDOS, SystemRescueCD, Parted Magic, and the Dr. Web Antivirus Live CD.

I chose to use an ISO of Ubuntu 9.04 that I had already downloaded. All that’s left to do is make sure your flash disk is plugged in, choose it from the list, and click OK.

UNetbootin - Extracting

Away it goes! UNetbootin will gather the appropriate files, copy them to the flash disk, then automatically install a bootloader. This process may take several minutes to complete depending on the size of the distro. Ubuntu took about 7 minutes or so to complete on my machine, but I’m still using a single-core processor. Hey, it may be slow, but it does everything I need it to do.

When the process finishes, it will prompt you to reboot, which is entirely optional.

UNetbootin - Complete

Hit Reboot Now if you want to go ahead and test your new boot disk on the machine you’re currently using. Otherwise, just exit.

Activate the Partition

Chances are high that your new boot disk will just work, but if you get any strange boot errors, you may need to activate the partition. We can do that with the diskpart utility.

I’m using Server 2008 for this demonstration, but Vista should look and act the same way.

Launch a new Command Prompt (Vista – right-click and choose to Run as Administrator). Type:

diskpart

Now you should have a DISKPART prompt. We need to figure our the drive number for your flash disk. Type:

list disk

If you have several drives, just look at the size to determine which one is the USB flash drive. Mine is obviously Disk 3.

select disk 3

select partition 1

active

That’s it. You’re finished. By typing the active command, you have specified the current disk and partition as active. You can type exit to quit.

Command-Prompt-DISKPART

Booting From the Disk

With the USB flash disk plugged in, go ahead and reboot the computer. This next step is different on many machines, but right as the computer first boots, look for a keystroke to choose a boot device. The key for my motherboard is F8, but it may be F11, F12, or some other key entirely on yours.

Once you find the right key, you should get a menu that allows you to choose a disk or drive from which to boot.

First-Boot-Device

Here I have chosen my Lexar USB flash disk from the boot menu. Provided it boots normally, you should get a UNetbootin bootloader like this:

UNetbootin-Booting

Choose the Default option to start booting, and the rest should function just like a typical live CD. Here’s Ubuntu booting from my USB drive:

Ubuntu-Booting

Once nice part about using flash media as a live environment is that individual programs are far more snappy than when running from a CD. For instance, OpenOffice loads from my flash drive in under 10 seconds. Launching OpenOffice from a live CD might take minutes!

One last thing: remember that the distros that UNetbootin creates are substitutes for CD boot discs, not fully installed Linux operating systems. In other words, they are not persistent – any data that you create or modify will be lost the next time you reboot (just like when working with a normal live CD). Keep that in mind as a limitation. There ARE exceptions, like Puppy Linux, which lets you save your data directly to the USB flash drive.

Happy booting!

Install Warcraft 3 on Ubuntu Linux – A Visual Guide

warcraft3-lichWarcraft 3 may be far from the hottest new game out there, but it’s still one of the most fun games I’ve ever played. And thanks to advancements in the WINE project, it’s also easy to install and run on the Linux operating system. Plus, it doesn’t require massive hardware just to run decently.

I remember trying to get my Warcraft 3 Battle Chest running in Linux a few years ago and ran into several problems. Now, it’s practically a point-and-click experience.

While these directions are specific to Ubuntu, most any other Linux variant should be similar. I tested these instructions on both Ubuntu 8.04 LTS and the current version 9.04. All the screenshots are from Ubuntu 9.04 Jaunty,

The main system specifications I used are quite modest ancient indeed, but Warcraft 3 ran fine anyway.

  • Processor – AMD Athlon XP 2400+ (2.0 GHz)
  • RAM – 1 GB PC2100 (266 MHz)
  • Video Card – Nvidia GeForce 7600 GS (512 MB)

1. Video Drivers

ubuntu-hardware-driversIt goes without saying that in order to play most video games, you need video acceleration. Fortunately, the last few releases of Ubuntu have all offered a convenient way to install proprietary video drivers.

To install most common video drivers, go to System → Administration → Hardware Drivers. You can see if you already have a proprietary video driver in use, or if there is one available to install.

Ubuntu found and installed a driver for my Nvidia card just fine. I don’t own any ATI video cards, so I cannot offer any help there. If you run into any trouble, take a look at the Ubuntu Guide.

To see if you have video acceleration enabled, fire up a Terminal and type:

glxinfo | grep direct

If the direct rendering response is Yes, then you’re in business.

2.  Install WINE

WINE is a translation layer with a somewhat-humorous full name of Wine Is Not (an) Emulator. No matter what you call it, WINE provides an easy way to run a growing number of Windows applications on Linux and other POSIX-compatible operating systems.

Installing WINE on Ubuntu is as simple as launching a Terminal and typing:

sudo apt-get install wine

synaptic-wineAlternatively, you can launch the Synaptic Package Manager (System → Administration) and search for wine. Just add a check next to the wine package, then click the Apply button to download and install.

Following these instructions will install the latest stable release of WINE. On Ubuntu 9.04, the current stable WINE release is version 1.01. To find out which version you have installed, launch a Terminal and type:

wine --version

I found that both version 1.0 and 1.0.1 worked well for running Warcraft 3. If you want to install a more-recent Beta version, follow the instructions on the WineHQ site.

wine-configuration-alsaOnce WINE is installed, go ahead and launch it (Applications → Wine → Configure Wine). The default settings should be fine, but I do suggest that you take a look at the Audio settings and ensure that a suitable sound driver is selected.

I suggest sticking with the ALSA driver by default. If the sound is garbled or doesn’t work well, try switching to the older OSS driver.

Click OK to save your settings. Now it’s time to install Warcraft 3.

3. Game Installation

This may come as a shock, but installing Warcraft 3 on Linux is practically no different from installing it on Windows. You will need a copy of the game and valid serial numbers. If you don’t have it, the Battle Chest is pretty cheap.

warcraft3-discPop in the CD for Reign of Chaos. You should see an icon for the disc load on your desktop. Double-click that disc icon to view the contents. Find the file called install.exe and open it. It should open automatically with WINE and start the installation process.

From there, install the game just as you would on a Windows system, including choosing an installation path of C:\Program File\Warcraft III. Yes, WINE handles that for you automatically.

warcraft3-install-directoryAllow the game to install as usual. If you have The Frozen Throne expansion pack, install it as well. Do not play the game yet!

Update Patch

Recent Warcraft 3 game updates have removed the requirement to run with the original disc in the drive. Therefore, unless you’re just a glutton for punishment, I suggest downloading and installing the latest game patch instead of hunting for a No-CD crack.

Here’s a direct link to the patch page. The current game update (as of this writing) is 1.23a. Once it downloads, just double-click to install. It should open with WINE and install just like on a Windows machine.

blizzard-updater

Note: once the Blizzard Updater finishes patching the game, it will try to launch Warcraft III automatically. If the game crashes or freezes, don’t worry. We’ll fix that in the post-installation below.

4. Post-Installation

On my system, the game froze upon first launch. The reason is that it tries (and fails) to play the opening cinematic video. We can easily work around this issue by renaming the Movies folder.

wine-browse-cGo to Applications → Wine → Browse C:\ Drive. Pretend that you’re on Windows now and continue to Program Files → Warcraft III. Rename the Movies folder to something else, such as _Movies.

As you might suspect, this is only a workaround and not a true fix. It prevents any in-game cinematic videos from playing, but does not affect game-play in any way. You can still watch those videos at any time by opening them in something like Totem or VLC.

Try launching the game now. You’ll find it under Applications → Wine → Warcraft III.

Visual Effects

Here’s another minor issue you might run into. When you launch the game, it runs fine, but you still see the horizontal Ubuntu panels across the top and bottom. Annoying, huh?

ubuntu-visual-effectsIt’s easy enough to fix. On my system, I found that they were caused by having some visual effects enabled in Ubuntu. As nice as the eye candy may be, try disabling it before launching Warcraft III.

Navigate to System → Preferences → Appearance and switch to the Visual Effects tab. Set the level to None. When you launch the game again, the panels should be gone.

Create Launcher

Now that the game is installed and working, let’s create a launcher for it.

Right-click on your desktop and Create Launcher. Here are some parameters:

  • Type – Application
  • Name – Whatever you want
  • Command – “/home/your-username/.wine/drive_c/Program Files/Warcraft III/Frozen Throne.exe”

The command is simply the full path to the Warcraft III executable file (in quotes). You can also add some options at the end of the command, after the quotes. For instance, you may get better performance by adding an opengl option, like this:

"/home/your-username/.wine/drive_c/Program Files/Warcraft III/Frozen Throne.exe" -opengl

You can stack the options. For instance, if you want to require opengl AND make the game run in its own window, try this:

"/home/habibbijan/.wine/drive_c/Program Files/Warcraft III/Frozen Throne.exe" -opengl -window

Icons

If you’re looking for a couple of good icons to use with your launcher, feast your eyes on these.

Warcraft 3 icons.zip

Game Screenshots

For your viewing pleasure, here’s are a few screenshots of Warcraft III running on Ubuntu. I ran the game in window mode instead of full-screen to prove that it does work on Linux. Yeah, I enjoy Skibi’s Castle a lot.

Image 1:

Image 2:

Image 3:

Image 4:

Image 5:

Have fun! If you have any additional tips for running Warcraft III on Linux, let us know in the comments.

Another Easy Way to Try Linux (Portable Ubuntu)

Want to give Ubuntu Linux a shot, but worry that you will somehow mess up your Windows installation? Fear not! I’ve written before about Three Easy Ways to Try Ubuntu Without Breaking Anything. Now here is another option to try:

Portable Ubuntu – via Sourceforge.net

Portable_Ubuntu_-_Dock_1 With Portable Ubuntu, you can run an entire Linux distribution within Windows. As the name implies, there’s nothing to install – you can run it directly from your hard disk or from a large USB flash drive.

Portable Ubuntu is built from the same base as andLinux, a system that allows you to run Linux seamlessly within Windows. Unlike running Linux from within a virtual machine, there’s no unique desktop – all you get is a taskbar, and any applications that you run hook into the native Windows title bars and other, um… windows.

To get started, first go grab the download package. Big file warning – the download archive is over 430 MB as of this writing. It’s even larger once unpacked, so if you plan to run Portable Ubuntu from a USB flash drive, make sure it’s a big one!

Next, double-click the EXE file to unpack it, or just use your favorite un-archiving utility. You should end up with a folder called Portable_Ubuntu.

Portable_Ubuntu_-_BAT_file

Inside that folder you will find a file called run_portable_ubuntu.bat. Yes, that’s the file to open to get Portable Ubuntu running. On Windows XP, just double-click that file. On Vista, try right-clicking it and choosing Run as Administrator.

Windows_Security_Alert_-_UnblockOnce you’ve launched the batch file, your software firewall will prompt you to unblock a few things, such as coLinux and Xming X Server. Go ahead and unblock them.

Depending on the speed of your computer, it may take a minute or two to get Portable Ubuntu running. Eventually a new menu-bar will appear, likely at the top-center of your screen. Feel free to grab it and drag it anywhere on the screen that you like, though I found that dragging too fast will “lose” the grip on the menu-bar. Tip: yes, it works great in a multiple monitor setup.

The menu bar looks something like this:

Portable_Ubuntu_Bar

Usage

At this point, you can use Ubuntu pretty much like you normally would, with the exception that it is now fused into your Windows installation. Any programs that you launch will look and act more like typical Windows applications. For instance, here’s the Transmission Bittorrent Client running on Windows:

Portable_Ubuntu_-_Transmission

Portable_Ubuntu_-_mnt_CBecause Portable Ubuntu is running within Windows, you should have no trouble creating, editing, and saving files anywhere on your computer. Speaking of which, if you choose Home folder from the Ubuntu Places menu, you will end up by default in /home/pubuntu. To quickly jump to your Windows files, just browse to /mnt/C/ (or whatever your hard disk letter is called).

Everything that you do within Portable Ubuntu is persistent and self-contained. So, feel free to add/remove applications or run a system update. Important: The default root password is 123456.

Any changes will still be there the next time you boot the system, even if you’re running from a USB flash drive on another computer. In fact, this is a great way to carry a familiar working environment around with you if you tend to hop around on different computers a lot.

How is the performance, though? Not terrible, but not native, naturally. Most activities feel just like they’re running in a virtual machine. In my case, I’m still running a single-core processor, and Portable Ubuntu is pretty snappy overall. My main area of complaint about sluggishness is during screen refreshes. For instance, anything that causes the administrative access password prompt to appear may take several seconds to redraw the darkened overlay across the screen. Scrolling in Firefox is definitely slower than when it’s running natively, also. Actually, anything involving video will take a big performance hit, but you wouldn’t try to watch videos or play a game on a virtual system, would you?

Otherwise, Portable Ubuntu is quite usable for most people in most cases. Certainly users who simply wish to gain more Linux experience should be happy with the performance.

If you ever feel like ridding your system of Ubuntu, all you have to do is shut it down (System menu), exit the TrayRun utility, then delete the Portable_Ubuntu folder. Poof, the whole thing is gone!

Summary

Portable Ubuntu is definitely cool, and will appeal mostly to people in one of three categories:

  1. People who have little Linux experience and want to gain more familiarity.
  2. People who want to carry a persistent Linux workstation between multiple computers.
  3. People who enjoy Linux AND Windows, who don’t want to deal with the inconvenience of dual-booting all the time.

I find myself mostly in the third category. How about you?

There we have it – yet another way to try Ubuntu Linux without the risk of breaking your Windows install. Whether or not it becomes your new favorite OS, at least you should have no more fear about giving it a shot. Enjoy.

FREE Book – Ubuntu Pocket Guide (PDF)

For those of you just getting started with Ubuntu Linux (and for you seasoned veterans as well), don’t miss this opportunity to get your hands on a FREE pocket guide (PDF).

Download – Ubuntu Pocket Guide and Reference

Alternate download link (in case the original is unavailable)

Written by Keir Thomas (author of the venerable Ubuntu Kung Fu), the 170-page Ubuntu Pocket Guide is aimed particularly at Windows users curious about the Ubuntu operating system. It covers everything from installation and configuration to security and command-line tricks.

Here’s the Table of Contents:

  1. Installing Ubuntu
  2. Configuring Ubuntu
  3. Getting to grips with the desktop
  4. Users and the filesystem
  5. Hands-on at the command-line
  6. Software management
  7. Securing the system
  • Appendix A: Glossary of terms
  • Appendix B: Learning more and getting help

Don’t feel like reading 170 pages on a computer screen? I don’t blame you. A print edition is available for a mere $10 (Amazon link).

This is definitely a handy resource to keep near your desk, whether you’re installing Ubuntu for the first time or just need a refresher on some CLI magic.

Have fun.

Three Easy Ways to Try Ubuntu Without Breaking Anything

Broken Windows So, you’ve heard about this Linux thing and want to learn more about it? Perhaps you have heard about its inherent security and near-impermeability to malware. Perhaps you’re still on 2000 or XP and don’t want to shell out the cash for a newer Windows OS. Hey, the economy is tough, I know. Or perhaps you’re just attracted to the idea of open source and want to worship at the feet of Richard Stallman. Just kidding about that last part, I think.

No matter the reason, if you’ve never tried Linux, but have considered it before, consider this your invitation to start treading the Linux waters. No, you won’t drown.

But, but, I’m worried about breaking Windows!

Calm down. Your Windows installation will be fine.

But, but, I don’t know which Linux to choose. There are so many!

Yes, that’s true, but there are similarities between all of them. In fact, many of the available Linux distros are just slight alterations of one another. Think of it as one person with many different sets of clothes.

While any of the major distros will work just fine, I recommend Ubuntu to people trying Linux for the first time.

But, but, what if I don’t understand any of the programs?!

Relax, I bet you will. Perhaps you already use several popular open-source programs on your Windows computer, such as Firefox, Thunderbird, OpenOffice, VLC, or The GIMP? Plus, many common closed-source programs are also available on Linux, including most of the Google programs and Nero Linux. I bet you’ll be just fine.

I generally find that newcomers to Linux are most hesitant about disk partitioning and the potential risk of losing data. Ubuntu can handle disk resizing and partitioning with aplomb, but for the ultra-risk-averse, here are three ways to give Ubuntu a shot on your computer without breaking Windows or losing any data.

Method 1 – Live CD

The first thing to do is download a copy of Ubuntu. Have a slow connection (or just don’t feel like downloading)? No problem. Ubuntu can ship a disc to you for free, although you may have to wait ten weeks for delivery. Oh well, I guess that’s better than waiting 11 weeks for download over dial-up Internet.

Not sure which edition to download? If in doubt, just go for the Desktop edition (32-bit).

Next, burn the ISO that you downloaded to a blank CD as a disk image. You should be able to do this easily in any CD-burning software. For instance, in InfraRecorder (free), look for the Write Image option.

InfraRecorder Main

Once your new Ubuntu disc is burned, just leave it in your CD drive and reboot. There’s a pretty good chance your computer will boot straight to the disc. If it does not, reboot again and go into the bios at boot, usually by pressing DEL or F2, depending on the computer manufacturer. Look around for a BOOT section and set your CD drive as the first boot option. Don’t be scared. If you have trouble with this part, ask your neighborhood geek.

When your computer successfully boots from the CD, follow the prompts to Try Ubuntu. Within a few minutes, you should be staring at your brownish Ubuntu desktop, running straight from the CD. Congrats! Feel free to play around as much as you like, and when you reboot, your Windows will be there waiting for you.

Note: running from a CD is MUCH slower than running from your hard disk.

Method 2 – Wubi

Wubi windows If you want a more permanent solution than a Live CD, you owe it to yourself to check out Wubi.

http://wubi-installer.org/

Without a doubt, Wubi is the easiest way to get a full Ubuntu installation without fear of damaging Windows. With a few clicks, Wubi will install Ubuntu within Windows, just like any other Windows application. No CDs to burn. No disk partitioning. Only good times.

To install Wubi, you can either download the installer directly, or run it straight from the Ubuntu Live CD.

Ubuntu CD Menu

When you first pop the Ubuntu CD into the drive, you will have the option to Install inside Windows. Clicking that option brings up the Wubi installer, allowing you to specify a few setup options.

Ubuntu - Wubi Setup

Choose a username and password, and off you go! Wubi will install like a typical Windows application. Go get a cup of coffee because installation will take a few minutes. When it’s done, reboot, and you will have your choice of Windows or Ubuntu to run.

At any point, if you decide to get rid of Ubuntu, just uninstall it in the Windows Control Panel (Add/Remove Programs), just like any other app.

Method 3 – Virtual Machine

The third option requires a little more nerd factor than the previous two, though not by too much. Most newcomers to Linux should stick with the first two options, but if you are a more experienced Windows user, go ahead and give method three a try – running Linux in a virtual machine.

A virtual machine allows you to run multiple operating systems simultaneously, all without conflicting or damaging one another. The only limitations are in how much RAM and disk space your host computer has.

All you need to run Linux in a virtual machine is:

  1. An ISO of a Linux distro (see Method 1 above)
  2. Free Virtual Machine server software

The titans of free virtual server software are VMware, VirtualPC, and VirtualBox. Of those three, I prefer VirtualBox.

http://www.virtualbox.org/

With VirtualBox, you can easily try Ubuntu without doing any damage to Windows, and if your computer was built within the last four years or so, the Ubuntu virtual machine should perform much faster than the Live CD as well.

Here’s a screenshot of my Macbook running Ubuntu in a virtual machine:

One cool aspect of VirtualBox is the ability to take snapshots of the current system. Scared your tinkering is about to break the virtual Ubuntu? Just take a snapshot first, then tweak to your heart’s content. You can always restore the previous snapshot with a click or two.

Want more information on setting up VirtualBox? See my previous walkthrough.

There you go – three easy ways to try Ubuntu without breaking Windows. I can’t promise it will become your favorite operating system, but now you have no excuse not to learn more about it! Enjoy.