It appears the following one-liner patch fixes the permissions problem in Lubuntu, which is caused by /usr/share/ubiquity/plugininstall.py being called without elevated privileges.
=== modified file 'ubiquity/filteredcommand.py'
--- ubiquity/filteredcommand.py 2013-02-19 11:33:07 +0000
+++ ubiquity/filteredcommand.py 2018-04-05 22:14:08 +0000
@@ -193,6 +193,8 @@
# default action or else they won't notice if the
# debconffilter dies. signal.signal(signal.SIGPIPE, signal.SIG_DFL)
+ # Regain root.
+ misc.regain_privileges()
ret = subprocess.call(self.command, preexec_fn=subprocess_setup)
if ret != 0:
It is not clear to me if this is correct, or why plugininstall.py is handled via this code path on Lubuntu when it evidently is not on other flavors (or alternatively: why this code is called with privileges already raised on all other flavors).
It appears the following one-liner patch fixes the permissions problem in Lubuntu, which is caused by /usr/share/ ubiquity/ plugininstall. py being called without elevated privileges.
=== modified file 'ubiquity/ filteredcommand .py' filteredcommand .py 2013-02-19 11:33:07 +0000 filteredcommand .py 2018-04-05 22:14:08 +0000
signal. signal( signal. SIGPIPE, signal.SIG_DFL) privileges( )
--- ubiquity/
+++ ubiquity/
@@ -193,6 +193,8 @@
# default action or else they won't notice if the
# debconffilter dies.
+ # Regain root.
+ misc.regain_
ret = subprocess. call(self. command, preexec_ fn=subprocess_ setup)
if ret != 0:
It is not clear to me if this is correct, or why plugininstall.py is handled via this code path on Lubuntu when it evidently is not on other flavors (or alternatively: why this code is called with privileges already raised on all other flavors).