[Gambas-user] kdesu vs gksu

Jesus Guardon jguardon at ...2035...
Tue May 19 22:00:12 CEST 2009


Thanks, Jose

This is a good approach, too. But also not perfect, ;-) ... A friend of 
mine tells that in his Debian testing (KDE), no kdesu is available. 
Instead it have 'kdesudo', so in this case your code (and David's too) 
might fail. We must check for this, too.

Another issue is that I want to start, is a daemon process and a bit 
later, another process that connects to this daemon. So, to clarify:

1st) I start a daemon with shell "gksu -u root 'some process'"

2nd) Meanwhile (we type the passwd), the other process has started, but 
no host to connect to, because this process has started before the 1st 
one, which is the host. So my client process fails misserably.

I'm not be able to use WAIT in the first shell statement, because a 
daemon never stops running, so I need to insert a 'WAIT n' in between, 
not very elegant...

Sorry for the brick

Best regards

Jesus

Jose J. Rodriguez escribió:
> On 5/18/09, Jesus Guardon <jguardon at ...2035...> wrote:
>> Yes, I know it may be a little off-topic, but the question is:
>>
>>  I need to launch a process with root privileges from SHELL command in
>>  Gambas. Users of my application can have Gnome or KDE, so I don't know
>>  which command I must issue to get it to work.
>>
>>  Is there a way to choose between either gksu o kdesu commands at runtime?
>>  I've figured it out if it could be something like:
>>
>>   SHELL "gksu | kdesu -u root 'some_command'"
>>
>>  or
>>
>>  SHELL "gksu -u root 'some_command' | kdesu -u root 'some_command'"
>>
> 
> Here's what I do in the vl-hot-config utility:
> 
> *******************************************************
> ' Gambas module file
> 
> PUBLIC SUB Main()
> DIM MyProc AS Process
> DIM Ret AS String
> 
> IF System.User.Id <> 0 THEN
>    EXEC ["which", "kdesu"] TO Ret
>    IF InStr(Ret, "kdesu") THEN
>       EXEC ["kdesu", Application.Path &/ "vl-hot-config.gambas"]
>    ELSE
>       EXEC ["which", "gksu"] TO Ret
>       IF InStr(Ret, "gksu") THEN
>          EXEC ["gksu", Application.Path &/ "vl-hot-config.gambas"]
>       ELSE
>          PRINT "No kdesu or gksu available (vl-hot-config needs to run
> as root)..."
>       ENDIF
>    ENDIF
>    QUIT
> ENDIF
> 
> FMain.Show
> 
> END
> *******************************************************
> 
> Regards,
> Joe1962
> 
> ------------------------------------------------------------------------------
> Crystal Reports - New Free Runtime and 30 Day Trial
> Check out the new simplified licensing option that enables 
> unlimited royalty-free distribution of the report engine 
> for externally facing server and web deployment. 
> http://p.sf.net/sfu/businessobjects
> _______________________________________________
> Gambas-user mailing list
> Gambas-user at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/gambas-user
> 





More information about the User mailing list