Я создаю графическое приложение, которое при первом запуске проверяет, установлено ли все необходимое программное обеспечение (пожалуйста, не отвечайте о зависимостях deb/rpm). Собственное приложение (в Python) определяет, запущено ли приложение в Ubuntu или Fedora. Если в Ubuntu я запускаю эту команду, чтобы установить необходимые пакеты:

apturl apt://xdotool

Это запускает диалог, спрашивающий пользователя, хочет ли он установить его, а затем запрашивает пароль:

Диалоговое окно-изображение

Есть ли подобная команда в Fedora (конечно, в базовой установке на рабочем столе)?

1 ответ1

0

Вы должны использовать PackageKit, чтобы сделать это. С этого сайта приведена слегка измененная версия примера кода для python:

import dbus

try:
    bus = dbus.SessionBus()
except dbus.DBusException, e:
    print 'Unable to connect to dbus: %s' % str(e)
    sys.exit()
try:
    proxy = bus.get_object('org.freedesktop.PackageKit', '/org/freedesktop/PackageKit')
    iface = dbus.Interface(proxy, 'org.freedesktop.PackageKit.Modify')
    iface.InstallPackageNames(dbus.UInt32(0), ["xdotool","otherpackage","whatever"], "show-confirm-search,hide-finished")
except dbus.DBusException, e:
    print 'Unable to use PackageKit: %s' % str(e)

Бонус! Это должно работать на GNOME как в Fedora, так и в Ubuntu.

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