Doesn't return correct system exit code

Bug #51633 reported by Sebastian Heinlein on 2006-07-02
42
This bug affects 3 people
Affects Status Importance Assigned to Milestone
gksu (Ubuntu)
Undecided
Unassigned

Bug Description

Gksu doesn't return the exit code of the wrapped application:

Steps to reproduce:

1. open language support

2. run the following command in a terminal:
gksu synaptic && echo "spitze"

sudo works perfectly:
sudo synaptic && echo "spitze"

Jouni Mettala (jouni-mettala) wrote :

gksu and sudo are doing exactly same thing now. Closing. Feel free to reopen if this is still a problem.

Changed in gksu:
status: Unconfirmed → Fix Released
Sebastian Heinlein (glatzor) wrote :

This is not true. Please test the bug before you close it.

Changed in gksu:
status: Fix Released → Confirmed
Martin Pitt (pitti) wrote :

I just spent 20 minutes banging my head over my code before it occured to me that gksu was to blame. And indeed:

$ gksu false; echo $?
0

This is wrong.

Gustavo Noronha Silva (kov) wrote :

I agree... this is done like this to let applications calling gksu know if an error to the process of scaling privileges has happened. We could change that to a message printed to stderr instead, and make gksu return the error code returned by the application. What do you think, Michael?

wodz (wodz) wrote :

In my opinion gksu should return exit code of wrapped application. It is dumb to have graphical su/sudo behaving differently than console su/sudo:
wodz@skatol:~$ sudo false; echo $?
Password:
1
wodz@skatol:~$ gksu false; echo $?
Password:
0

Jens (sirion) wrote :

I have scripts that use something like

sudoCmd="sudo"
[...]
"$sudoCmd" "$0" "$@"

In the [...]-part there is code that decides whether a terminal is connected or not and then changes $sudoCmd if not.

Is there another way for me to query whether the programm called with gksu(do) succeeded?

udude (igal) wrote :

I'm also having issues w/this behavior. My scripts count on gksudo exit code to error when the executed command fails.
Does anyone know about any workarounds/gksudo replacements?
I don't even mind launching a new terminal running sudo or something in that direction...

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Duplicates of this bug

Other bug subscribers