Итак, я не уверен, возможно ли это, но я создаю меню, и пользователь может выбрать опцию, которая установит два бита программного обеспечения, однако, после нажатия этой кнопки больше не может быть никаких других запросов.

Можно ли это сделать? Мне нужны gnome-disk-utility и gparted для установки.

любая помощь будет оценена

2 ответа2

2

Я бы порекомендовал просто добавить эти программы к требованиям вашего скрипта, чтобы скрипт не мог быть установлен, если эти программы отсутствуют. Если GNOME еще не установлен в вашей целевой системе, установка этих двух утилит gnome также установит множество библиотек из проекта GNOME. Как пользователь, я был бы раздражен, если бы мне пришлось загрузить несколько сотен мегабайт данных и раздуть мою систему только для запуска вашего инструмента.

В любом случае, выбор за вами. Что касается установки, вы не можете установить программу глобально на * nix без пароля root, нет. Вы можете установить локально из источника без паролей, но я бы не советовал.

Если вы знаете, что ваши пользователи будут использовать какую-то производную от Debian, основанную на GNOME, вы можете попросить команду меню запустить gksudo synaptic или любой другой, чтобы позволить пользователю ввести свой пароль.

Я не знаю, почему вы хотите этого, конечно. Просто получите сообщение об ошибке, объясняющее вашему пользователю, что эти программы должны быть установлены. Почему вы хотите, чтобы они устанавливались через ваш скрипт? Вы усложняете свою и их жизнь без реальной выгоды.

0

Вам нужно запустить этот инструмент с правами root. Все, что он запускает, будет также выполняться от имени пользователя root, поэтому ничего не будет запрашивать пароль.

Поэтому в основном вам нужно проверить, запущен ли инструмент от имени пользователя root, и запросить пользователя в противном случае. Чтобы выполнить команду от имени пользователя root, если у вас установлен sudo, используйте:

sudo (command)

Без sudo вам придется использовать это:

su -c '(command)'

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .