X.org без привилегий суперпользователя

Прошли годы, и благодаря systemd, наш коллега, инженер Red Hat, Hans de Goede, добился работы X без дополнительных привилегий, и без одновременного доступа к /dev/ttyXX. Первая серия патчей уже отправлена им в список рассылки.

Идея запускать такой сложный кусок системы, как X, не под суперпользователем (и без suid-бита) не нова. С ней экспериментировал Intel в рамках уже давно забытого проекта moblin, потом Canonical попыталась реализовать, но столкнулась с рядом проблем, и отложила планы. Участники Fedora немного чувствуют вину за неудачу Canonical, т.к. мы дали им неверные подсказки, например использовать ConsoleKit, в то время, как вкладывались в systemd, переводя ConsoleKit в разряд неподдерживаемого ПО. Тем не менее, даже без ConsoleKit, оставались бы нерешенными проблемы, связанные с отсутствием системного вызова revoke, доступного, например, в OpenBSD. Разумеется, в частных случаях отдельные энтузиасты добивались работы X на самосборных системах, когда не требовалось обеспечивать безопасность единственного пользователя (см. "админ локалхоста").

И вот, наконец-то, благодаря systemd, и высокой интеграции его компонентов, мы можем в общем случае запускать X не от суперпользователя. Одна из внезапно возникших проблем, это логи X.org, которые он ведет самостоятельно, не используя даже syslog. Недавно пришедший к нам Tom Gundersen предлагает использовать syslog или Journald для ведения логов. В обсуждении в ленте Google+ участника ArchLinux, David Herrmann, инженер Linaro, Koen Kooi, предлагает использовать Journal, т.к. это сильно упростит жизнь embedded-разработчиков, которые переходят на systemd, а Aaron Seigo высказывается за общесистемное решение, т.е. за syslog или Journald.