Brian,

You have several different options. Here are a few, in ascending order
of difficulty:

     1. Use the process spawning API in glib [1] to spawn gksudo. I have
        a feeling this is what you'll end up doing.
     2. Use the process spawning API to spawn sudo with the -S argument,
        and pass the password to stdin. #1 is easier and more secure.
     3. Create Vala bindings for libgksu [2]. You might be able to
        generate them [3], or you might need to write them by hand.
        Either way, it's a simple library, so it should be relatively
        easy to do.
     4. Move the code you need to run with elevated privileges to a
        separate executable. Use PolicyKit (I think you would need to
        write bindings), and perhaps D-Bus activation.

Also, you gave the example of modifying the sources list. If that is
your goal, I believe there is an interface for doing that in PackageKit.
Probably also libapt-pkg, rpmlib, etc.

What the right choice is depends a lot on your application.

-Evan


[1] http://references.valadoc.org/glib-2.0/GLib.Process.html
[2] http://www.nongnu.org/gksu/
[3] http://live.gnome.org/Vala/Bindings


On Fri, 2009-08-28 at 16:38 -0400, Brian Vidal wrote:
> but how could I do that??
> 
> i've read that gksu will have a D-bus interface (or something) in Vala.
> 
> But, if I want to develop something that needs to modify system settings,
> how can i do that now.
> 
> e.g.: modifying the sources list
> 
> or copy files to /usr/bin directory.
> 
> 
> I want to avoid users to have to start the app from a command line and type
> sudo appname.
> I want, when the app is started, give the user the choice to desist from the
> changes, and exit. Otherwise, ask the password and act.
> 
> 2009/8/28 David Keijser <[email protected]>
> 
> > 2009/8/28 Brian Vidal <[email protected]>:
> >  > I really need to execute commands trough gksu
> > >
> > > I'm developing a GTK based app, so i can't use spawn... sudo.
> > > Maybe could there be a way to ask for password and pass to sudo??
> > >
> > > Any ideas?
> > > --
> > > Brian Vidal
> > >
> > > _______________________________________________
> > > Vala-list mailing list
> > > [email protected]
> > > http://mail.gnome.org/mailman/listinfo/vala-list
> > >
> > >
> >
> > hmm, you mean gksu does not suite you for some reason?
> > it's a GObject library so getting bindings should be easy.
> >
> 
> 
> 
> _______________________________________________
> Vala-list mailing list
> [email protected]
> http://mail.gnome.org/mailman/listinfo/vala-list

_______________________________________________
Vala-list mailing list
[email protected]
http://mail.gnome.org/mailman/listinfo/vala-list

Reply via email to