The compose key works well on Linux. Typically mapped to right alt, compose-hyphen-hyphen-hyphen produces an em dash. (hyphen-hyphen-period produces an en dash.)
Given the compose sequences are mnemonic, I’d prefer it over Mac every time. Compare Compose+<< and >> for «» to Opt+[ and Opt+Sh+[ on Mac. Which may or may not work depending on locale.