Linux has a lot of advantages, but long battery life on a laptop isn't usually one of them.
Manufacturers optimize their device drivers to work best on Windows, and while a laptop may perform just as well with Linux as on Windows, it will often eat through the battery more quickly. New versions of the Linux kernel have improved power-saving this in the past and hopefully will in the future, but here's how you can get longer battery life today.
For laptops with Nvidia and AMD graphics
If you have a gaming laptop with Nvidia Optimus or AMD's equivalent switchable graphics, Linux flat-out doesn't handle it properly out of the box. By default, your laptop will use that power-hungry Nvidia or AMD GPU all the time. This can result in dramatically shorter battery life than you'd get on Windows.
Even if you don't have switchable graphics and just have Nvidia or AMD graphics, the open-source graphics drivers aren't as far along with power-management support. You'll likely get better battery life by installing the proprietary Nvidia or AMD graphics drivers, which can enable the GPU's lower-power state more reliably.
To fix this, you'll want to install the Nvidia or AMD drivers. If you don't care about graphics switching at all, both the Nvidia X Server Settings and AMD Catalyst Control Center tools offer a way to disable the dedicated GPU and always use the integrated one. After you make this change, you could get hours of longer battery life.
This is the one big "gotcha" with many modern laptops. Linux handles everyone else decently out-of-the-box, but not switchable graphics.
The usual power-saving tweaks
The usual tips for boosting battery life on a Windows laptop apply to Linux laptops, too.
You can easily control the power-saving options from your Linux desktop's main settings window. For example, these options are all available in System Settings on Ubuntu's Unity desktop.
Reduce your laptop's screen brightness to get longer battery life. If your laptop has built-in brightness-reducing hotkeys, they should work on Linux. Otherwise, your desktop's settings window should have a brightness option.
Configure your display to automatically turn off when you're not using your computer. Don't use a screensaver--that just wastes battery power. If your Linux distribution uses a screensaver by default, disable it and just have it turn the display off.
Set your laptop to automatically go into suspend mode after a reasonable amount of time so it will conserve battery power if you step away while it's on.
Disable Bluetooth if you aren't using it to lower power usage and get longer battery life. If you're really desperate--let's say you're using your laptop on an airplane and aren't tapping into the in-flight Wi-Fi--disable Wi-Fi, too.
Sign up for CIO Asia eNewsletters.