Это совсем не пример многопользовательского линукса. Юзеры могут быть залогинены одновременно. Например один в иксах второй по ssh. Или допустим у вас демон, выполняется под своим юзером и ему нужно узнать кто запустил иксы. Или например вы хотите чтоб запустилось пользовательское gui приложение, когда вы вставили флешку. У udev есть права чтоб запустить от юзера, но он не в курсе от которого запускать. Короче id -un .вообще не вариант. Когда копал в этом направлении в некоторых версиях who можно было отличить юзера иксов, как сейчас с этим не знаю. С systemctl работает хорошо, но это только с системд и допущением, что seat0. такого решения чтоб 100% не знаю, еще ж wayland есть )