X11 forwarding comes in handy from time to time. For example, say you want to use virt-manager
to work with KVM VMs on your lab machine but want to do it from your Mac (ahem).
Yeah, if you didn’t gather it already, by “you”, I mean “me”. 😉
The one main issue with this very specific above scenario is that virt-manager
will more than likely require some sort of root-level privileges, and neither the ~/.Xauthority
file, nor the DISPLAY
or XAUTHORITY
environment variables survive sudo
escalation.
The manual fix is pretty easy though. Before escalation, run xauth list
to get the session data.
The output looks like:
$ xauth list localhost.localdomain/unix:99 MIT-MAGIC-COOKIE-1 aabbccddeeffgghh00112233445566
Take the second line (which is the session data). Then, after getting root (sudo su -
works great), run xauth add
with the session data:
xauth add localhost.localdomain/unix:99 MIT-MAGIC-COOKIE-1 aabbccddeeffgghh00112233445566
This will create the ~/.Xauthority
file and aforementioned environment variables.
We are now able to run X11 apps as root!
Shout out to Backdrift for the source.