Well, it’s a container, in most situations you would be running as root because the root inside the container is an unprivileged user outside it. So in effect the root inside the container will only be able to act as root inside that container and nowhere else. Most people simply do it that way and don’t bother with it.
If you really want there are ways to specify the user… but again there’s little to no point there.
lxc exec container-name --user 1000 bash
lxc exec container-name -- su --shell /bin/bash --login user-name
For your convenience you can alias that in your host’s ~/.bashrc
with something like:
lxcbash() { lxc exec "$1" -- sudo --login --user "$2"; }
And then run like:
lxcbash container-name user-name
You can run full GUI apps inside LXC containers and have X11 deal with the rest. Guides here and here.