Newsgroup: it.comp.os.linux.sys
Titolo: lanciare applicazioni con privilegi di root in X.

Salve.
Prima di usare kdm come login grafico lanciavo X attraverso il comando startx.
Una volta dentro l'ambiente grafico se dovevo lanciare qualche applicazione che
richiedeva i privilegi di root facevo "su" da consolle e, sempre da
consolle, lanciavo l'applicazione che mi serviva.
Ora da quando entro in X attraverso kdm non posso lanciare applicazioni da
root, mi dice: 
Xlib: connection to ":0.0" refused by server
Xlib: No protocol specified
Gtk-WARNING **: cannot open display: :0.0
Come posso ora lanciare applicazioni con i privilegi di root?
Grazie.


E' una FAQ da .iniziare :-)
Prova a dare il comando "xhost +127.0.0.1" prima di fare su.
Usa "man xhost" per i dettagli.
Alessandro.

 
ci ho provatyo ma non e' cambiato nulla inoltre non ho capito qual'e' il file
delle acl gestite da xhost.
Se faccio xhost +127.0.0.1 quale file viene aggiornato?
 

 
Non credo che si tratti di un file su disco. Comunque non saprei di preciso,
pe questo ti ho rimandato alla man page :-)
Alessandro.

 preciso, pe questo ti ho rimandato alla man page :-)
Si, l'ho letto e parla di /etc/X*.hosts solo che di questi files in /etc non 
c'e' traccia.



Bhe, non è che se viene citato in una man page allora esiste per forza.
Devi crearlo tu, pensa un po'! E per crearlo DEVI usare vi! E se non sai
usare vi peggio per te!
Crea un file che si chiami /etc/X0.hosts e dentro ci scrivi, uno per riga,
gli host da cui vuoi che si possa accedere al tuo display X. L'unico problema
che ho riscontrato è che, anche mettendoci
LOCAL:
localhost
127.0.0.1
comunque, a me, non aggiunge localhost e, a manina, devo scrivere xhost
+localhost
Il comando xhost +<nomehost> non scrive niente da nessuna parte. In nessun
file intendo, ma aggiunge alla sessione X quell'host. La quale informazione
resta fino a quando non riavvii la sessione.
In bocca al lupo
Andrea
P.S:: Scusa, ma oggi sono proprio acido

 P.S:: Scusa, ma oggi sono proprio acido
:-)) non c'e' problema, anzi sei stato fin troppo paziente, grazie.
Ciao.

Ma poi....perche' se lancio X col il comando startx posso fare "su" e 
lanciare applicazioni che, conseguentemente, girano con i privilegi di 
root, mentre se uso un login grafico non posso farlo?

 root, mentre se uso un login grafico non posso farlo?
Puoi darlo anche in grafica, (con Ctrl-Alt-F1 ti sposti sulla console,
Alt-F7 ritorni in grafica) *oppure* apri un terminale (xterm, kterm,
eterm...) *oppure* aggiungi una voce ad un menu', *oppure* crei uno script e
lo esegui dal file manager...
Alessandro
...che pensa che e' meglio che ti sposti su .iniziare

test wrote:

Si scusa ma devo precisare.
Forse non mi sono spiegato bene.
Allora se da consolle lancio il comando startx entro in grafica, da qui apro 
xterm, do il comando "su" e lancio qualsiasi applicazione che, a questo 
punto, girera' con i privilegi di root.
Successivamente ho installato kdm.
Ora all'avvio parte subito kdm che mi presenta un login e mi permette di 
entrare in grafica.
Se ora lancio xterm, do il comando "su" e lancio qualsiasi applicazione 
ottengo il messaggio:
Xlib: connection to ":0.0" refused by server
Xlib: No protocol specified
Gtk-WARNING **: cannot open display: :0.0
La domanda e': perche' non posso fare la stessa cosa come quando entro in 
grafica da consolle col comando startx?
Non so se sono riuscito a spiegarmi questa volta :-)
Ciao e grazie per la pazienza. 

grafica da consolle col comando startx?
Forse perche' nel secondo caso non viene impostata/esportata la variabile
d'ambiente DISPLAY. Hai verificato?
Alessandro.

 
Se non avesse DISPLAY impostato non gli potrebbe dire
Gtk-WARNING **: cannot open display: :0.0
non trovi?!?!?!
Andrea



Io uso Debian e GDM e se faccio "su" riesco a lanciare le applicazioni X, ma
se faccio "su -" no. 
Un mio collega usa KDM e ha il tuo stesso problema. Deve dare xhost
+localhost altrimenti non funziona.
Penso sia un problema di xauth. Secondo me KDM non esegue xauth con i
parametri corretti e quindi i "biscottini magici del MIT" (MIT-MAGIC-COOKIES)
vanno a male.
Infatti con "su" mantengo comunque la mia euid, come anche la mia home e
quindi il mio file .Xauthority, con "su -" cambio sia la uid che la euid,
quindi mi cambia la home e quindi mi cambia il file .Xauthority.
Spero che sia tutto chiaro :)
Andre


Se DISPLAY non fosse impostato non vuol dire che non venga assunto un valore
di default e ":0.0" sarebbe un default ragionevole.
Se cosi' fosse e' possibile che il client cerchi di accedere al server
via unix socket (o quel che e') e non via TCP/IP, e non so se le impostazioni
fatte con xhost abbiano influenza anche su questo.
Ovviamente ci possono essere altre spiegazioni (come quella da te proposta)
ma la prima cosa che controllerei e' proprio $DISPLAY.
Alessandro.

 grafica da consolle col comando startx
Devi autorizzare l'utente root ad accedere al display :0 con il comando
xhost +local:
Eventuelmente devi anche impostare, nella shell di root, la variabile
DISPLAY a :0
Ciao
  Andrea
-- 
Sognatore e' un uomo coi piedi saldamente ancorati sulle nuvole

 e' proprio $DISPLAY.
xhost +local: serve proprio per autorizzare le connessioni via socket, mentre
xhost +INET:hostname (che è la forma estesa di xhost +hostname) serve proprio
per abilitare quelle TCP/IP. Infatti la "famiglia" di indirizzi è INET:
Saluti
Andrea