Took a few times of finding random text in my code to realize what was happening, and even longer to figure out how.
For a long time I thought that opening links in a new tab would sometimes take you instead to a random page on the internet.
Perhaps it's a Linux thing. When I'm on Macs I also have trouble remembering that I have to explicitly 'Copy' things before I can paste them.
I haven't figured out how to disable the X11 clipboard yet. If you find a way, please post it ;)
You could probably write a daemon to keep the primary selection empty. The `xsel` program would be a good place to start. I thought you could do it with `while true; do echo -n '' | xsel -n -i; done`, but it quits immediately if the input is empty so that would be constantly executing a new program. Still, I expect there's some trickery you could do with it, or you could look at how it's implemented and copy that.
(edit - or to eliminate a lot of the pain,
while true; do echo -n ' ' | xsel -n -i; done
The major advantage this has over the X11 clipboard, IMO, is that text persists after its source application is closed.
Personally I find it amusing this "feature" has survived all this time, all the way into modern linux desktops.
Inertia is a powerful beast indeed.
I understand the reluctance to throw out such decisions, even if they were made over 20(!) years ago, because inevitably the vocal minority will jump out of the woodwork and declare how they can not possibly live on without this feature.
However at some point common sense has to take precedence in UI design. Otherwise you end up with a trainwr^W^Wthe linux desktop.
Put another way, the iOS interface, by rapidity of adoption alone, would seem to be far superior to traditional desktop-paradigm UIs. Would you agree that "common sense has to take precedence" and Windows and Mac users should have to abandon their systems and use iPads instead?
While there may still be (weak) arguments for preferring "select-to-copy" over "CTRL-C-to-copy" there is not a single argument for maintaining the mess of multiple inconsistent copy/paste methods in parallel.
This is not a matter of polish, preference or imitating what others do. It's a matter of finally applying the no-brainer lowest baseline of common sense.
(setq x-select-enable-clipboard t)
(if (functionp 'x-cut-buffer-or-selection-value)
(setq interprogram-paste-function 'x-cut-buffer-or-selection-value))