Come eseguire startx come non root?


10

Di recente sono passato da Ubuntu ad Arch Linux. Ho installato X11 come sistema Windows e KDE come ambiente desktop. Ho partizione separata per /home, /var, /ed /boote tutto il monte al momento dell'avvio. Quando corro startx, viene visualizzato il seguente messaggio.

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

Per sbaglio, ho cancellato quel file. Quindi l'ho copiato da /root. Ho cambiato la sua autorità usando il codice qui sotto:

# chown hello:users ~/.Xauthority

Anche dopo questo, non sono in grado di eseguire startxse non uso l'account di root.


La copia del file è un rischio per la sicurezza. Hai cambiato le sue autorizzazioni (proprietà), non la sua autorità.
ctrl-alt-delor

(Ri) sposta ~ / .Xauthority e riprova startx. Funziona? In caso contrario, qual è il messaggio di errore esatto?
Adaephon,

Risposte:


11

Innanzitutto un chiarimento, nonX è un gestore di finestre , è un sistema di finestre .

Ora, il ~/.Xauthorityfile è semplicemente il punto in cui Xsono archiviate le credenziali di identificazione per la sessione dell'utente corrente , è il file letto quando il sistema deve determinare se si ha il diritto di utilizzare la Xsessione corrente .

Non devi mai copiarne uno esistente da un altro account, il file deve sempre appartenere all'utente in esecuzione Xe viene creato automaticamente all'avvio di una nuova Xsessione. Quindi, basta eliminare quello che hai e quindi eseguire di startxnuovo, tutto dovrebbe funzionare normalmente:

$ rm ~/.Xauthority; startx

Tredon, anche dopo aver rimosso il file .Xauthority. Non riesco a starx. Continua a visualizzare lo stesso errore.
Habi,

@Habi devi assicurarti che non ci siano sessioni X in esecuzione, quindi rimuovere il file, quindi eseguire di startxnuovo.
terdon

Ora X viene eseguito ma visualizza un altro messaggio Chiamata a Inusertemp non riuscita (directory temporanee piene?). Controlla la tua installazione.
Habi,

@Habi ah, bene, sono progressi :). Si prega di inviare un'altra domanda per questo poiché si tratta di un problema completamente diverso. Nella nuova domanda, mostraci l'output di df -he assicurati anche che questo problema sia ancora presente dopo il riavvio.
terdon

Tredon, considererò quel progresso. :). Btw, grazie.
Habi,

3

Penso che un problema sia che le persone accedono come root, quindi cambiano utente usando su -l username, il che crea / genera un sottoprocesso in root di proprietà di "nome utente". X utilizzerà il .Xauthorityprocesso top (in questo caso root), che "username" non ha i permessi da usare.

L'errore verrà mostrato:

Cannot open virtual console 1 (Permission denied).

Per risolvere questo problema, esegui logininvece di suavviare una nuova shell come processo principale.


0

L'ho riscontrato su un Lenovo IdeaPad con due schede grafiche, una Intel e l'altra Nvidia.

L'errore derivante dall'inclusione di startxquesta riga:

addscreen / screeninit non riuscito per driver 0 kde plasma

Questa era la soluzione:

  1. Modifica /etc/mkinitcpio.confaggiungendoMODULES=(nouveau)
  2. sudo mkinitcpio -p linux
  3. riavvio
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.