Disons que je construis une application dans un package DEB, qui a comme dépendance recommandée un package, appelons-le package1.
Ainsi, package1, s'il est installé, peut fournir des fonctionnalités supplémentaires à mon programme, mais pas directement lié aux fonctionnalités de base de mon programme (c'est pourquoi il s'agit d'un package recommandé)
Ainsi, l'utilisateur ne choisit pas initialement d'installer le package recommandé (dans Ubuntu Software Center, vous pouvez choisir en cochant / décochant pour installer ou ne pas installer les packages recommandés), mais à l'avenir, lors de l'utilisation de mon application, il demandera la fonctionnalité correspondante.
Quelle est la meilleure façon de lui dire qu'un package supplémentaire doit être installé pour que cette fonctionnalité fonctionne? Quel programme puis-je utiliser pour installer ce package directement à partir de mon programme avec une boîte de dialogue indiquant comment se déroule le processus d'installation?
Je veux le faire via la méthode par défaut et, de préférence, une méthode indépendante de l'environnement de bureau Linux.
En bref, je veux un moyen d'installer un paquet à partir de mon programme ni en ouvrant Ubuntu Software Center (via une URL apt: //) ni en le faisant en arrière-plan.
Idéalement, ce serait une boîte de dialogue comme celle utilisée par Update Manager (ou, pour ceux qui s'en souviennent, par Synaptic Package Manager).
PS: Je préférerais quelque chose qui pourrait être implémenté en C ++!
la source
Vous pouvez prendre exemple sur le lecteur multimédia totem lorsqu'il invite l'utilisateur à installer les codecs manquants, ou lorsque vous ouvrez les options de partage d'un répertoire dans nautilus via un clic droit, il vous invite à installer samba.
Je pense qu'ils utilisent le
sessioninstaller
package pour cela. Voirman session-installer
et https://launchpad.net/sessioninstallerVous pouvez également utiliser la commande
xdg-open apt://package
: elle ouvrira le gestionnaire de packages par défaut avec la possibilité d'installer votre package (Ubuntu Software Center dans les versions récentes).la source
C'est une vieille question mais j'ai trouvé la réponse, qui est
apturl
.Cela fonctionne comme suit:
apturl apt:packagename
et c'est exactement ce dont j'ai besoin et ce que nautilus utilise!Surtout, il est disponible pré-installé sur de nombreuses distributions Linux :)
la source