Update as of 3/2021
While I in general prefer GTK applications in terminal emulators the reigning champ Qt is being overtaken not by them but by projects eschewing traditional GUI toolkits entirely!
My current picks for my favorite Linux iTerm2 replacements are, in no particular order:
Has GPU acceleration, built in multiplexer (tabs and splits), ligature support, built in imgcat support, background images, transparency, shell integration, almost everything one could want. One feature I miss is profiles, but you can always have multiple config files (author made the interesting choice of using Lua rather than ini/toml/yaml/json for the config file). The only other thing I want is a hotkey dropdown terminal, not the end of the world. If you're a ricer, this is the terminal emulator for you. It's a newer project but this may be the iTerm2 killer. Go give the project some love.
Fantastic and polished terminal emulator, been my daily driver for a while now. Not on par with iTerm2 in terms of feature set, but a very solid choice for a daily driver. It just works. I'm not wild about the choice of configuring through dconf rather than just having a text file in $HOME/.config, but not the end of the world.
The stock KDE terminal is a solid choice and in addition to a rich feature set it's the only terminal I know of that comes out of box with that recent MacOS-ish translucency blur onion skin effect (a.k.a. gaussian blur).
Not quite as polished as some of the others, but has a very full feature set, see my old review below for more details.
Update as of 8/2020
Some other worthy contenders not mentioned in the original answer are Tilix and Terminator (check them out!), and my top pick is still for the most part
Qterminal. Linux terminals in general seem to be getting closer to parity with iTerm2.
Current as of 9/2018
Here's a short list of iterm2 (v3) features:
- True color (16 million color) support
- Split panes
- Show images (i.e. imgcat)
- Show inline images e.g. beer mug for homebrew
- Full support/integration for various shells (e.g. zsh, fish)
- Hotkey support (e.g. drop-down terminal)
I haven't even come close to listing them all, although these are the ones I use/care about the most.
I cannot find a single linux terminal that completely matches this feature set (much less all the ones I didn't mention) but there are linux terminals that come pretty darn close, and can do things that iterm2 can't do (like set per window/pane background images). So here are a few terminals that are probably closest to iterm2 in terms of feature parity:
This is an abbreviation of qt terminal. It has full true color support, a dropdown hotkey, transparency, background image, panes, tabs, shell integration. Install via apt. Cons: no built-in way to preview images, it's handling of background images can be wonky.
The default KDE terminal (e.g. for kubuntu) has true color, tabs, background image, transparency. Cons: no hot-keyed drop down window, no independent panes, handling of background images can be wonky.
A terminal that AFAICT was just written by one guy with a surprisingly rich feature set: has true color, horizontal splits, transparency, shows images, shell integration. Cons: no background images (there's an issue open), no vertical splits without configuration, no drop down, and while it has packages for several distros ubuntu isn't one of them (have to manually install deps and compile from source).
The default terminal of the Enlightenment desktop. It by far has the best image handling of any terminal emulator I've ever used and has been my daily driver for a couple of years now. Has resizable independent panes (vertical and horizontal), tabs, transparency, shell integration, but it lacks true color support (maintainer says he will not be adding it) which is becoming increasingly annoying as a heavy neovim/ncurses user. Cons: 256 color only, no drop down, package in repositories is extremely out of date and installing/compiling the latest version of the EFL dependencies literally takes half an hour.
There are a lot of other worthy terminal emulators: rxvt-unicode, suckless, termite, etc. but they all have glaring flaws, sometimes even worse than the above. Suckless (st) for example keeps it's configuration in a header file meaning every config change requires a recompile. Many of them (including some of the ones I highlighted above like konsole) seem to be configurable only via mouse, which is beyond annoying for a terminal emulator.
Many might consider the existence of tmux to make splits/panes a non-issue for the terminal itself. I don't disagree, but YMMV.
There's a glaring omission: I haven't mentioned any of the electron-based projects like hyper. That's because I personally keep about 12 different terminal sessions going at a given time, and electron is just too greedy for that kind of usage. Which is a shame, as some of those offerings have impressive feature sets. If you tend to have fewer sessions open you might give one of them a try, I've played with extraterm and it seems a little more in line with what iterm2 offers.
I wish everyone luck, but my quest for the one true terminal emulator continues onward.