web-dev-qa-db-fra.com

Faites confiance aux icônes du bureau sans les cliquer manuellement dans Ubuntu 18.04 Gnome 3

Après avoir déplacé un fichier .desktop dans l’emplacement "Bureau" ~/Desktop, il affiche l’icône sur le Bureau. Pour la première fois, vous devez faire confiance à l'application. Est-il possible de faire confiance directement sans cliquer? chmod +x *.Desktop est déjà fait pour rendre le fichier exécutable

enter image description here

2
Sander

Grâce à personne à part, les fichiers du bureau peuvent être approuvés via la ligne de commande: gio set Your_desktop_file.desktop "metadata::trusted" yes

REMARQUE:

  • Vous devez exécuter cette commande avec le même utilisateur que le propriétaire des fichiers du bureau.
  • Cela ne fonctionne que si vous exécutez la commande dans le shell gnome (pas via SSH)
  • Pour faire cela automatiquement à la connexion, vous devez créer un script de connexion qui exécutera un script, car il ne sera exécuté qu'au démarrage de Gnome. Par exemple, vous pouvez créer un fichier .desktop dans ~/.config/autostart/ exécuter un script Shell incluant les commandes gio.
  • Assurez-vous que nautilus-desktop est vraiment démarré. Vous pouvez créer une boucle while avec un sleep 1 till nautilus-desktop run
  • Les icônes ne s'actualiseront pas automatiquement. Vous pouvez y parvenir en appuyant sur F5 sur le bureau ou en redémarrant Nautilus dans votre script de démarrage automatique. killall nautilus && nautilus-desktop & (le dernier signe est de s'assurer que le reste de votre code sera exécuté. Sinon, le script sera arrêté jusqu'à la fermeture du processus nautilus-desktop).
7
Sander

Inspiré par l'excellente réponse de @Sander, je suis assez satisfait de cette approche dans Ubuntu 18.04. J'utilise ceci dans une configuration de création VM automatisée, où les icônes du bureau sont d'abord placées, puis ces scripts sont préparés. Ils ne sont exécutés qu'au premier démarrage.

Je crée un fichier de bureau ~/.config/autostart/desktop-truster.desktop avec le contenu suivant:

[Desktop Entry]
Name=Desktop-Truster
Comment=Autostarter to trust all desktop files
Exec=~/.config/autostart/desktop-truster.sh
Type=Application

A côté de lui, un script ~/.config/autostart/desktop-truster.sh, qui est appelé par le fichier de bureau à démarrage automatique:

#!/bin/bash
# Wait for nautilus-desktop
while ! pgrep -f 'nautilus-desktop' > /dev/null; do
  sleep 1
done
# Trust all desktop files
for i in ~/Desktop/*.desktop; do
  [ -f "${i}" ] || break
  gio set "${i}" "metadata::trusted" yes
done
# Restart nautilus, so that the changes take effect (otherwise we would have to press F5)
killall nautilus-desktop && nautilus-desktop &
# Remove X from this script, so that it won't be executed next time
chmod -x ${0}
1
Janos

Vous devez rendre les fichiers .desktop exécutables (confiance), ce que vous pouvez faire en allant à ~/Desktop dans un terminal et en émettant la commande suivante

chmod u+x foo*

Utilisez évidemment un caractère générique adapté à vos besoins, puis actualisez votre bureau. Ce serait plus d'effort que le mécanisme confiance pour une seule entrée, mais gagnez du temps si vous importiez plus de n entrées (où n est votre nombre maximal d'inconvénients).

Il existe des moyens de surveiller le répertoire et de le faire automatiquement avec des outils externes, mais je vous conseillerais de réfléchir sérieusement aux implications en termes de sécurité d'une telle chose.

Mais je ne suis au courant d'aucun moyen de faire cela dans votre DE.

NOTE: Ceci fonctionne sur KDE mais apparemment ne fonctionne pas sur Gnome.

0
nobody special