...having to decide which of two dozen distributions sucks least for your needs
...following the recommendation to divide your hard drive into seven different partitions, because that's what worked best in 1974
...having to know how much swap space you'll need before you've even installed the operating system
...remembering for the rest of your life that 82 and 83 are the partition IDs for Linux and Linux Swap
...never remembering which is which
...manually configuring your boot-loader to tell the kernel which SCSI driver to load
...borrowing someone else's computer for a day while your entire operating system recompiles itself
...having to find a new hack to make your sound-card work, each time you upgrade
...having to Google to find an X server for your graphics card
...having to recompile your kernel to get it working properly
...having to find a new sound card hack again after you've recompiled your kernel
...doing all the necessary research to find which 802.11g wireless card is currently supported by the kernel, only to find after buying it that they've changed the chipset
...learning that for sound, graphics or network hardware, 'built into the motherboard' generally means 'google to find the dodgy third-party driver'
...having a GUI that looks and feels a decade behind Mac OS X, and at least five years behind Windows
...dismissing all the advances of the last five to ten years as 'pointless eye-candy'
...until somebody posts an ugly hack on Slashdot that makes one (kinda) work in X
...having to research the appropriate mode-lines to get your new monitor working
...knowing what a monitor mode-line is
...realising that the only worthwhile GUI apps for Linux are the cross-platform ones
...convincing yourself that you use 'mutt' because it's better
...convincing yourself that a GUI is just a fancy way to see multiple terminal windows at the same time
...giving up on the GUI entirely, and doing 75% of your computing in one 'screen' session
...copying and pasting a URL into the browser instead of clicking on it
...taking a day off work to get your printer working
...a pixel-by-pixel familiarity with the Redhat postscript printing test page
...coming to accept that most PDFs are going to look shite
...coming to accept that copy-and-paste is mediated by some capricious pixie living inside the machine
...waiting five years for USB support that didn't require recompiling your kernel and hand-configuring the device driver
...knowing you'll have to wait another five years for easy access to whatever replaces USB
...'Linux taking over the desktop' being just a year away... for the last ten years
...learning the significant difference between 'rm -rf foo/*' and 'rm -rf foo /*' at 3am
...learning the significant difference between 'dd if=bootimage of=/dev/fd0' and 'dd if=bootimage of=/dev/hda' at any time of day
...being in awe of system administrators who have managed to recover from either of the above with just a single running copy of emacs
...worshipping uptime like a heathen totem
...being a sysadmin, whether you want to or not
...discovering that the non-free software you have to run will crash randomly because your glibc is one minor version different to what it expects
...reinstalling everything when you discover that the same non-free software that your continued employment depends on only runs reliably on the one Linux distribution you swore you'd never run again
...--funroll-loops
...the feeling that you are there to make life easier for your computer
...thinking 'Tux Racer' is fun
...still thinking Tux Racer is fun, after spending all day hunting down drivers and recompiling your kernel to get hardware 3d acceleration working
...realising that, for end-user applications, innovation is something that happens on other platforms
...waiting for some free software programmer to copy that cool new app from Windows or OS X
...hoping they don't entirely miss the point
...realising that most innovation in Linux is focused on coming up with new, slightly incompatible open source licenses
...a hundred different file formats in /etc
...configuration file formats so bad that the recommended way to build one is to write another configuration file, then run that through a program that generates the real configuration file
...knowing there's a shell command to manage /etc/init.d, but realising the time it would take to find out what it is, is less than it would take to manage things manually
...knowing the shell command for everything, but the value of nothing

Some of the issues are outdated. Many of them are things I still see the Linux users of my acquaintance struggling with on a daily basis. It's a grab bag of things that pissed me off for ten years, and things that are still pissing people off.