Я полагаю, что более распространенный метод состоит в том, чтобы просто заявить, что для выполнения скрипта требуется sudo, например:
sudo ./script_name.sh
Таким образом, весь сценарий запускается с правами администратора. Если вы думаете об этом с точки зрения модели безопасности, то нет причин, по которым скрипт, которому требуется sudo хотя бы для его части, не должен запускаться только с sudo. В противном случае это просто неприятность.
Однако, если вы настаиваете на использовании sudo только для определенных частей, вы можете поместить sudo в ваш настоящий скрипт bash, и он запросит пароль и будет ждать ввода, пока не продолжит выполнение сценария. После получения хотя бы одной записи пароля sudo все последующие sudos сохранят повышенные привилегии и больше не будут запрашивать пароль. Это также оставит вам весь сеанс терминала с повышенными привилегиями для будущего sudo, не выполненного в скрипте.
Что касается gksudo, я думаю, что вариант состоит в том, чтобы сказать индивидууму использовать диалог запуска alt-f2, и вместо того, чтобы вводить sudo script_name.sh, введите gksudo, а затем нажмите кнопку «Выполнить с файлом» и попросите их перейти и выбрать файл сценария, который они должны запустить. Я знаю, это громоздко. Надеюсь, у кого-то есть более элегантное решение.