Целый час рыл гугл, не нашёл ответа

И man читал.
Вот тестовый скрипт, описывающий проблему:
#!/bin/bash
gksudo -S :
sudo gnome-commander
Gnome-commander
не открывается, если данный скрипт запускается из Наутилуса или *-коммандера. Только если через терминал.
Что делать?
Если интересно, зачем, то вот подробности:
Есть скрипт, общающийся с пользователем через Zenity. Иногда он выполняет последовательность команд, требующих прав рута, и в таком случае используется gksudo. Далеко не всегда требуются права рута, поэтому не хочется вводить пароль при каждом запуске. Пока я запускал его через терминал, всё было хорошо. Но потом выяснилось, что если запускать через GUI, полученные права не сохраняются и каждая команда требует повторного ввода пароля.