L'esecuzione di qualsiasi cosa relativa a Gnome nel terminale radice dà errore


1

Installazione Debian 6.0.3 piuttosto recente, con Gnome 2.30.2. In un terminale root, ogni volta che cerco di aprire qualcosa relativo a Gnome, otterrò questo errore:

unable to open display ":0.0"

A volte questo è preceduto da:

No protocol specified

Ho aggiunto il mio nome host a xhost, e metti xhost +[myhostname] in root bashrc, ma questo non funziona quando apro il terminale root. Aiuto?

EDIT: L'unico modo per farlo funzionare è disattivare completamente il controllo degli accessi, ma so che ci deve essere una soluzione migliore.


Stai effettuando il login su X11 come root o come utente normale?
grawity

Bene, non accedo manualmente a X11, ma il mio login Gnome è un utente normale. Questo risponde alla tua domanda?
ACK_stoverflow

Non ho detto "manualmente"; Anche la schermata di login di GNOME è X11.
grawity

Risposte:


1

" No protocol specified "Di solito significa che ti è stato negato l'accesso al display X11. Ci sono alcuni modi per fare ciò che vuoi:

  • Punto $XAUTHORITY al tuo file Xauthority. A volte lo è ~/.Xauthority nella tua home directory; con GNOME è un file temporaneo in profondità /var. I seguenti metodi funzioneranno in entrambi i casi:

    • Basta copiare la variabile di ambiente sul terminale di root, usando echo $XAUTHORITY e export XAUTHORITY=....

    • Rendere su crea una copia di Xauthority aggiungendo pam_xauth alla sua configurazione PAM.

    • Uso sudo -se configuralo per avere " XAUTHORITY " nel suo env_keep opzione.

    • Uso gksu gnome-terminal per avviare un terminale root.

  • Inserisci root agli utenti autorizzati, eseguendo xhost +si:localuser:root da un normale terminale. Ciò renderà Xauthority inutile.

Fare non aggiungere il nome host del computer a xhost, poiché non è affidabile (problemi di RDNS), non funzionerà con connessioni locali (solo TCP), ed è insicuro (consente qualsiasi utente per connettersi al display).


Bella risposta! Grazie per l'aiuto! Sembra strano che Debian aggiunga un launcher di applicazioni per un terminale root al pannello di default, ma non fornisce i privilegi dell'utente root per il display. Ma immagino che questa sia una caratteristica di sicurezza, e ho appena abusato del terminale root. Grazie ancora!
ACK_stoverflow

Non è davvero una caratteristica, solo la sua mancanza. (root può già aggiungersi a Xauthority, ad esempio.) Chiunque abbia aggiunto il programma di avvio probabilmente ha pensato che gli amministratori usino solo programmi basati su terminale (che sono la maggior parte degli amministratori di sistema).
grawity
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.