First, make sure you've started xterm in a UTF-8 locale, either via the
LC_CTYPE environment variable or with the
locale resource (which can be set from the command line). The environment variable method is recommended since it applies to all applications; if you've set up Unicode system-wide, it's probably there already.
Now, to insert unicode characters... Type them on your keyboard. Yes, really. It's not really xterm's job to facilitate the input of arbitrary characters: X already has features for this. Which of these features is best for you depends on the language(s) you want to type.
Most keyboard layout for languages based on the latin alphabet have an AltGr key to access the third and fourth (with shift) characters on a key. You can even go up to 8 symbols by configuring an
There are standard ways of switching between alphabets, typically used by layouts for languages using non-latin alphabets. I'm not familiar with them so can't offer pointers.
Traditional Unix keyboards often have a Compose, which is the most mnemonic way of entering characters with diacritics and other modifications, e.g. Compose ' e → é, Compose o e → œ, Compose space space → unbreakable space, etc. PCs don't have a key labeled “Compose”, so on most Linux distributions the key needs to be enabled explicitly (the “menu” key just left of the right Ctrl key on most PC keyboards is a common choice).
Going further, and practically necessary to type in non-alphabetical scripts, there are fancier input methods such as SCIM and UIM. There are several different programs available, and how to set them up depends on your system (Ubuntu, Fedora, ...).
Some editors, such as Vim and Emacs, have their own input methods that you can use with any interface.
If you need an unusual character as a one-off, you can copy-paste it from somewhere (such as unicode.org, although they don't make it particularly easy). There are “character map” applications, such as Gucharmap and KCharSelect, where you can browse the Unicode database or search a character by name then copy it to the clipboard. If you want to stay in the terminal, you can use the
unicode program, which is a sort of command-line-based character map.