[Merge] lp:~brian-murray/ubuntu-release-upgrader/improve-inhibit-idle into lp:ubuntu-release-upgrader
Steve Langasek
steve.langasek at canonical.com
Fri Jul 6 17:39:33 UTC 2018
Review: Approve
one wording suggestion.
Diff comments:
> === modified file 'DistUpgrade/DistUpgradeController.py'
> --- DistUpgrade/DistUpgradeController.py 2018-06-27 23:34:19 +0000
> +++ DistUpgrade/DistUpgradeController.py 2018-07-05 23:26:42 +0000
> @@ -1984,6 +1988,57 @@
> _("The partial upgrade was completed."))
> return True
>
> + def _inhibitIdle(self):
> + if os.path.exists("/usr/bin/gnome-session-inhibit"):
> + self._uid = os.environ.get('SUDO_UID', '')
> + if not self._uid:
> + self._uid = os.environ.get('PKEXEC_UID', '')
> + if not self._uid:
> + logging.debug("failed to determine user upgrading")
> + logging.error("failed to inhibit gnome-session idle")
> + return
> + self._getUserEnv()
> + if not self._user_env:
> + return
> + #seteuid so dbus user session can be accessed
> + os.seteuid(int(self._uid))
> +
> + logging.debug("inhibit gnome-session idle")
> + try:
> + xdg_desktop = self._user_env.get("XDG_CURRENT_DESKTOP", "")
> + if not xdg_desktop:
> + logging.debug("failed to find XDG_CURRENT_DESKTOP")
> + logging.error("failed to inhibit gnome-session idle")
> + return
> + idle = subprocess.Popen(["gnome-session-inhibit", "--inhibit",
> + "idle", "--inhibit-only"],
> + env=self._user_env)
> + self._view.information(_("Lock screen disabled"),
> + _("Your lock screen has been "
> + "disabled and will continue "
> + "to be so until you reboot."))
"and will remain disabled until you reboot"?
> + except (OSError, ValueError):
> + logging.exception("failed to inhibit gnome-session idle")
> + os.seteuid(os.getuid())
> +
> + def _getUserEnv(self):
> + try:
> + pid = subprocess.check_output(["pgrep", "-u", self._uid,
> + "gnome-session"])
> + pid = pid.decode().split('\n')[0]
> + with open('/proc/' + pid + '/environ', 'r') as f:
> + data = f.read().split('\x00')
> + for line in data:
> + if len(line):
> + env = line.split('=', 1)
> + self._user_env[env[0]] = env[1]
> + except subprocess.CalledProcessError as e:
> + if e.returncode == 1:
> + logging.debug("gnome-session not running for user")
> + else:
> + logging.exception("failed to read user env")
> +
> +
>
> if __name__ == "__main__":
> from .DistUpgradeViewText import DistUpgradeViewText
--
https://code.launchpad.net/~brian-murray/ubuntu-release-upgrader/improve-inhibit-idle/+merge/349028
Your team Ubuntu Core Development Team is subscribed to branch lp:ubuntu-release-upgrader.
More information about the Ubuntu-reviews
mailing list