¿Cómo ejecutar startx como no root?

10

Recientemente, cambié de Ubuntu a Arch Linux. He instalado X11 como mi sistema de ventanas y KDE como mi entorno de escritorio. Tengo partición separada para /home, /var, /y /booty todo el monte en el arranque. Cuando ejecuto startx, se muestra el siguiente mensaje.

xauth:timeout in locking authority file /home/hello/.Xauthority

Accidentalmente, eliminé ese archivo. Entonces, lo copié /root. He cambiado su autoridad usando el siguiente código:

# chown hello:users ~/.Xauthority

Incluso después de esto, no puedo ejecutar a startxmenos que use una cuenta raíz.

Habi
fuente
Copiar el archivo es un riesgo de seguridad. Cambiaste sus permisos (propiedad), no su autoridad.
ctrl-alt-delor
(Re) mueva ~ / .Xauthority e intente startxnuevamente. ¿Funciona? Si no, ¿cuál es el mensaje de error exacto?
Adaephon

Respuestas:

11

Primero una aclaración, noX es un administrador de ventanas , es un sistema de ventanas .

Ahora, el ~/.Xauthorityarchivo es simplemente donde Xse almacenan las credenciales de identificación para la sesión del usuario actual , es el archivo leído cuando el sistema necesita determinar si tiene derecho a usar la Xsesión actual .

Nunca debe copiar uno existente de otra cuenta, el archivo siempre debe pertenecer al usuario que se Xestá ejecutando y se crea automáticamente cuando comienza una nueva Xsesión. Entonces, simplemente elimine el que tiene y luego startxvuelva a ejecutarlo , todo debería funcionar normalmente:

$ rm ~/.Xauthority; startx
terdon
fuente
Tredon, incluso después de eliminar el archivo .Xauthority. No puedo starx. Sigue mostrando ese mismo error.
Habi
@Habi, debe asegurarse de que no haya sesiones X en ejecución, luego elimine el archivo y startxvuelva a ejecutarlo .
terdon
Ahora, X se ejecuta pero muestra otro mensaje Falló la llamada a Inusertemp (¿directorios temporales llenos?). Verifica tu instalación.
Habi
@Habi ah, bien, eso es progreso :). Publique otra pregunta para esto, ya que es un problema completamente diferente. En la nueva pregunta, muéstrenos el resultado de df -hy también asegúrese de que este problema siga ahí después de reiniciar.
terdon
Tredon, ya consideraré ese progreso. :). Por cierto, gracias.
Habi
3

Creo que un problema es que las personas inician sesión como root, luego cambian de usuario su -l username, lo que crea / genera un subproceso bajo root propiedad de "nombre de usuario". X usará el .Xauthorityproceso superior (en este caso, root), cuyo "nombre de usuario" no tiene permiso para usar.

Se mostrará el error:

Cannot open virtual console 1 (Permission denied).

Para resolver esto, simplemente ejecute en loginlugar de suiniciar un nuevo shell como un proceso superior.

Jonathan Komar
fuente
0

Encontré esto en un Lenovo IdeaPad con dos tarjetas gráficas, una de Intel y otra de Nvidia.

El error resultante de startxincluye esta línea:

addcreen / screeninit falló para el controlador 0 kde plasma

Esta fue la solución:

  1. Cambiar /etc/mkinitcpio.confagregandoMODULES=(nouveau)
  2. sudo mkinitcpio -p linux
  3. reiniciar
Matthias Braun
fuente