Абсолютно без разницы от кого он будет работать, абы работал. Можно поподробнее как его туда впихнуть? И вы уверены что в /etc/rc.local а не в /etc/rc.d/rc.local (попытки поиска в большинстве своем ссылаются на этот путь, хотя есть и предложенный вами)?
Ну если без разницы (хотя как по мне - разница есть и еще какая!) то впихнуть его не составит никаких проблем. Путь /etc/rc.local правильный (по крайней мере для Ubuntu и Debian). Остается только дописать в него (перед exit 0) запуск нужной софтины в иксах. Например:
startx gedit // - тут ошибка, смотри дальше в теме.
При таком раскладе получаем запущенные от рута иксы с нужной софтиной. Закрываем софтину - выходим из иксов.
PS: Врядли мое мнение вас сильно заинтересует, но за реализацию такого решения на сервере руки надо отрывать до самых ушей.

Несколько исправить ситуацию поможет вдумчивое чтение мана по su и применение оной для запуска НЕ от рута. Но все равно - так делать не надо.