I voted for XFCE because I don't want to burn a lot of CPU cycles on my desktop. I used to go even more miminal, running Fvwm, but that has become problematic since USB storage devices became popular.
Having a desktop that can (via dbus and a daemon) auto-mount USB devices is really convenient. Older window-manager-only desktops make you install software for that - it's something I could do, but I'd rather not bother.
But most of the time, I don't bother with any desktop. My Linux systems boot to a text console. I will type "startx" when I need to run a GUI on the console, but most of the time I log in remotely from some other computer (typically a Mac or Windows PC) that is running its own X11 server (XQuartz on macOS or Cygwin/X on WIndows). This way the Linux PC running my app doesn't burn any CPU cycles maintaining a desktop - all that overhead is consumed by the computer I'm logging in from instead.
On my system, the "Alt" key is not the M- prefix. Alt is the A- prefix. "Meta" is the M- prefix. When run on systems with PC type keyboards, Alt is mapped to Meta for convenience, because PC keyboards don't have Meta keys.
On other systems, it may be different. For example on older Sun systems, there are modifier keys with hollow diamond symbols on them that are frequently mapped to Meta, allowing the Alt key to generate A- keystrokes.
Additionally, these mappings are site-configurable. Even on Linux on PC hardware, they might be configured differently.
In general, I find it helpful to teach that only Meta mapping is available on all platforms at all times - the ESC key. If you see M-x in the documentation, that might be Alt-x on some platforms. It might be a specialized Meta-x keystroke on others. But on all systems you can type ESC followed by "x" for the same effect.
And just to make it more confusing, Emacs supports two more modifier keys. Super (S-) and Hyper (H-) don't normally have functions assigned to them by default, but you can use them for your own macros. Most keyboards don't have Super and Hyper keys, but some installations create mappings. For instance, I've seen installations where the "Windows" keys are Super and the Menu key is Hyper.
Of course, there's no need to explain all of this for a beginner tutorial, but you really should point out the difference between Alt- and Meta-. Even if they're mapped to each other by default these days, they aren't always and the resulting confusion can be a killer if the user doesn't know what's going on.
Authored Comments
I voted for XFCE because I don't want to burn a lot of CPU cycles on my desktop. I used to go even more miminal, running Fvwm, but that has become problematic since USB storage devices became popular.
Having a desktop that can (via dbus and a daemon) auto-mount USB devices is really convenient. Older window-manager-only desktops make you install software for that - it's something I could do, but I'd rather not bother.
But most of the time, I don't bother with any desktop. My Linux systems boot to a text console. I will type "startx" when I need to run a GUI on the console, but most of the time I log in remotely from some other computer (typically a Mac or Windows PC) that is running its own X11 server (XQuartz on macOS or Cygwin/X on WIndows). This way the Linux PC running my app doesn't burn any CPU cycles maintaining a desktop - all that overhead is consumed by the computer I'm logging in from instead.
On my system, the "Alt" key is not the M- prefix. Alt is the A- prefix. "Meta" is the M- prefix. When run on systems with PC type keyboards, Alt is mapped to Meta for convenience, because PC keyboards don't have Meta keys.
On other systems, it may be different. For example on older Sun systems, there are modifier keys with hollow diamond symbols on them that are frequently mapped to Meta, allowing the Alt key to generate A- keystrokes.
Additionally, these mappings are site-configurable. Even on Linux on PC hardware, they might be configured differently.
In general, I find it helpful to teach that only Meta mapping is available on all platforms at all times - the ESC key. If you see M-x in the documentation, that might be Alt-x on some platforms. It might be a specialized Meta-x keystroke on others. But on all systems you can type ESC followed by "x" for the same effect.
And just to make it more confusing, Emacs supports two more modifier keys. Super (S-) and Hyper (H-) don't normally have functions assigned to them by default, but you can use them for your own macros. Most keyboards don't have Super and Hyper keys, but some installations create mappings. For instance, I've seen installations where the "Windows" keys are Super and the Menu key is Hyper.
Of course, there's no need to explain all of this for a beginner tutorial, but you really should point out the difference between Alt- and Meta-. Even if they're mapped to each other by default these days, they aren't always and the resulting confusion can be a killer if the user doesn't know what's going on.