Actualicé el sistema hace 2 días y ahora me di cuenta de que un script startx systemd no se pudo iniciar. Esto parece deberse al hecho de que Arch arrancó en tty1 de forma predeterminada. Cambiar a tty7 y reiniciar el script startx systemd funciona bien, presumiblemente porque el script systemd especifica tty7. Al ejecutar solo el comando "startx" se genera el siguiente error donde funcionó 2 días antes:
(==) Log file: "/home/XXXXX/.local/share/xorg/Xorg.0.log", Time: Wed Feb 10 19:13:22 2016
(==) Using system config directory "/usr/share/X11/xorg.conf.d"
(EE)
Fatal server error:
(EE) parse_vt_settings: Cannot open /dev/tty0 (No such file or directory)
(EE)
(EE)
Please consult the The X.Org Foundation support
at http://wiki.x.org
for help.
(EE) Please also check the log file at "/home/XXXXX/.local/share/xorg/Xorg.0.log" for additional information.
(EE)
(EE) Server terminated with error (1). Closing log file.
xinit: giving up
xinit: unable to connect to X server: Connection refused
xinit: server error
Couldn't get a file descriptor referring to the console
Aquí está el fragmento relevante del script systemd:
TTYPath=/dev/tty7
ExecStart = /usr/bin/xinit /usr/bin/dbus-launch --exit-with-session /usr/bin/kodi-standalone -- :0 -nolisten tcp vt7
Restart = on-abort
StandardInput = tty
Normalmente, el sistema arranca en tty7 y las aplicaciones GUI no tienen problemas para iniciarse, ya sea que se especifique tty7 o no, ahora startx intenta usar tty0 de forma predeterminada, lo que parece no existir. ¿Hubo un cambio en el comportamiento predeterminado? ¿Como puede ésto ser resuelto?
Respuesta1
Finalmente descubrí la causa. Edité Xwrapper.config, que es necesario para Kodi y lo cambié desde entonces para probar su requisito. Una actualización debe haber cambiado algo que hizo que fuera necesaria nuevamente.
sudo nano /etc/X11/Xwrapper.config
allowed_users=anybody
needs_root_rights = yes // no value caused issues
Sudo startx todavía funcionaba sin opción, aunque ejecutarlo y salir haría imposible cambiar a tty7.
Todavía no sé por qué es necesario, ya que tengo entendido que startx no requiere permisos de root.