¿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.


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

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.


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
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.