Мне все равно, если это небезопасно, потому что я делаю это только как упражнение по программированию, но это то, что я хочу сделать:

Я хочу создать программу на C, которая с помощью команды "system" будет вызывать dpkg и устанавливать некоторые файлы .deb.

Но я хочу, чтобы он использовал что-то вроде gksu для запроса пароля вне среды командной строки.

Итак, в основном, я дважды щелкну по моей программе, и она подойдет мне:

  1. Проверьте наличие файлов .deb
  2. Если нет, используйте notify-send, чтобы сообщить пользователю, что файл отсутствует
  3. Если они все присутствуют, вызовите gksu dpkg, чтобы установить пакеты, и используйте notify-send, чтобы сообщить, когда пакеты установлены.

Как мне это сделать?

1 ответ1

0

Я бы не использовал gksu для операций командной строки / терминала, gksu - это «GTK + интерфейс для su и sudo», почему бы просто не использовать sudo напрямую?

Скрипт Bash будет легко работать в командной строке. См man bash для информации, как

test: test [expr]
Оценить условное выражение.
-e ФАЙЛ Истина, если файл существует.
-f ФАЙЛ Истина, если файл существует и является обычным файлом.

так

#!/bin/bash
if test -f somefile.deb
then
    sudo dpkg -i somedebfile
else
    notify-send "somefile.deb is missing"
fi

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