I am using GDebI 0.9.5.7 to one-click install .deb packages and it's my opening program default for .deb files. My browser is Mozilla Firefox 58.0.2. I use Ubuntu 17.10 with XFCE.
When I try to open a .deb package downloaded in firefox with gdebi and click on Install Package, the gdebi instantly closes. However, if I open gdebi directly and open the .deb with it, the instalation goes as normal.
I run firefox on terminal to see any uncommon output in that scenario. And, check this out, at the moment I click on "Install Package" on gdebi opened by firefox it says "Refusing to render service to dead parents." on terminal.
I already searched for this sentence. And even went through a russian forum with the help of Google Translate and nothing. I already purged and installed it via apt. Still the same.
Does anyone know how to help me?
It's because, just as the error message says, pkexec will not execute a command if it does not have a parent process.
For gdebi when launched from a browser or file manager, one workaround is to write a simple wrapper script, named eg gdebi-gtk.wrapper:
#!/bin/sh
gdebi-gtk "$@"
And put it in ~/bin (make sure ~/bin is in your $PATH).
Then modify the desktop file:
cp /usr/share/applications/gdebi.desktop ~/.local/share/applications/gdebi.desktop
In your local gdebi.desktop, edit the Exec= line to read
Exec=gdebi-gtk-wrapper
Now calls to the desktop file will have the wrapper script as a parent. I have been using this workaround for a couple of years now.
For menu items trying to use pkexec, a much simpler way is to replace
pkexec gdebi
with
sh -c 'pkexec gdebi'
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With