Solution 1:

There isn't currently any quick and easy way to enable this kind of functionality on the desktop version of Ubuntu.

Personally I'm a big fan of the default compose key shortcuts; I find them faster and a lot more intuitive than mobile-style long press selection (♥). That said, if you have the time and determination, you might be able to piggyback the slowkeys option in the default core Universal Access application to build something similar to the mobile option.

Poking around in that myself, XKB seems to be associated with slowkeys control. You can use XKB to configure and enhance Ubuntu's keyboard bindings, and as far as I can tell, this section has what you need. So it shouldn't be that (relatively) difficult to have an alternative character print when a key is long-held.

Where things get complicated is assigning multiple special characters to a keystroke (example: hold down "a" and get options for ä, à, á, â, etc.). How do you cycle through the options? Do you have the characters pop up in a dialogue window, then use the mouse, tab or arrow keys to select one? Seems time consuming.

Or you could assign different hold lengths to different characters. 100ms hold for à, 200ms hold for á, 300ms for â... But remembering how many seconds are for which characters could get tricky, not to mention assigning all of them individually would be a headache. Plus when you get into longer lists of characters you could be sitting there holding a key for a good 3-4 seconds. Seems even more time consuming.

Rather than slowkeys, you could try the repeatkeys option instead to have multiple taps of a key provide a special character: 3 taps of "a" for à, for instance. But then you run the risk of having unwanted special characters popping up when you type anything like "good", or "eerie", or "aaaaaaahhh!"

You may have come up with some other, more efficient implementation method that I'm not thinking of, in which case go forth and modify! But I'll still recommend compose key combinations in the meantime. ☺