Fedora: Lançar instalação gráfica do pacote

0

Estou criando um aplicativo gráfico que, na primeira execução, verifica se todos os softwares necessários estão instalados (por favor, não responda sobre dependências deb / rpm). O próprio aplicativo (em Python) detecta se o aplicativo está sendo executado no Ubuntu ou no Fedora. Se no Ubuntu, eu inicio este comando para instalar os pacotes necessários:

apturl apt://xdotool

Isso inicia uma caixa de diálogo perguntando ao usuário se ele deseja instalá-lo e, em seguida, solicita a senha:

Existe um comando similar no Fedora (claro, em uma instalação básica de desktop)?

    
por okelet 03.09.2017 / 15:08

1 resposta

0

Você deve usar o PackageKit para fazer isso. A partir desse site, aqui está uma versão ligeiramente modificada do código de exemplo do 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)

Bônus! Isso deve funcionar no GNOME em ambos Fedora e Ubuntu.

    
por 03.09.2017 / 21:54

Tags