On Fri, Jul 27, 2012 at 11:36:04AM +0200, Fernando Santagata wrote:
> c'e` nessuno che sappia se sia possibile accedere al session bus del DBus
> di un user da processi che non girano nella sessione X corrente, ma
> appartenenti all'utente che ha generato la sessione?
>
> Si`, sono cosciente delle implicazioni che questo ha sulla sicurezza del
> sistema e sono anche cosciente del fatto che probabilmente e` questo il
> motivo per cui non trovo info sull'argomento, a parte delle discussioni su
> un fantomatico "user bus", mai implementato :-)
Problemi di sicurezza? No:
$ tr '\0' '\n' < /proc/`pgrep nm-applet`/environ |grep
DBUS_SESSION_BUS_ADDRESS
(se non c'è nm-applet, va bene qualunque altro processo nella sessione X)
o anche solo:
$ export $(grep -z DBUS_SESSION_BUS_ADDRESS /proc/`pgrep nm-applet`/environ)
Nel senso, se giri coi permessi dell'utente, non è un problema tirar
fuori le informazioni necessarie a collegarti al bus di sessione.
Però c'è un modo migliore:
source ~/.dbus/session-bus/$(cat /var/lib/dbus/machine-id)-${DISPLAY#:}
Caveat: non ho trovato documentazione specifica, ma ho messo assieme
questa roba da link tipo:
http://ubuntuforums.org/archive/index.php/t-1147321.html
http://stackoverflow.com/questions/10374520/gsettings-with-cron
Sarebbe carino trovare tipo una FAQ di dbus che dice che sto metodo è
supportato, è quello giusto, e va anche con la versione di dbus che esce
10 minuti dopo che hai messo i tuoi nuovi script in produzione.
Ciao,
Enrico
--
GPG key: 4096R/E7AD5568 2009-05-08 Enrico Zini <enrico@xxxxxxxxxxxxxx>
signature.asc
Description: Digital signature
|