Теоретически вы делаете правильную вещь. Теоретически наличие N на уровне выполнения означает, что все службы, связанные с номером N, работают, а те, которые не работают, не работают.
На практике вы не можете сделать этот переход, не указав системе явно сделать этот переход за вас.
Вы запутали запуск startx тем, что обычно происходит на уровне запуска 5. Когда вы вводите уровень запуска 5, система запускает вход в систему диспетчера отображения (gdm, kdm и т.д.). Это простой менеджер дисплеев, который затем запускает X при входе в систему (аналогично тому, что вы делали с помощью startx ... различия довольно малы).
Если вы запустили gdm с правами root с уровня запуска 3, вполне возможно, что некоторая реализация перехода / управления на уровне выполнения остановит gdm, если вы тогда указали, что хотите быть на уровне запуска 3. Я бы не рассчитывал на то, что это будет работать в реальной жизни. Во-первых, система может игнорировать вас, потому что никто не сказал ей, что она была на уровне выполнения 5, даже если gdm работает. Во-вторых, система может не иметь дело с процессом, который вы запустили, так же, как она будет иметь дело с процессом, который был запущен автоматически.