Commande en ligne de commande pour actualiser le bureau de l'interface graphique, comme lorsque vous appuyez sur F5?

8

Existe-t-il une commande pour actualiser les icônes du bureau (exactement comme le fait le bouton F5)?

J'en ai besoin car dans les applications de démarrage, j'ai défini une commande pour monter ma partition de sauvegarde et j'ai créé un lien de bureau vers certains répertoires. Le problème est que les icônes ne sont pas actualisées lorsque je me connecte, sauf si j'appuie sur F5. Je voudrais mettre une commande dans les applications de démarrage pour ce faire. (notez que je ne veux pas redémarrer le shell GNOME ou Unity, comme ils l'ont dit ici . J'ai juste besoin d'une commande pour faire exactement ce que F5 fait)

Eduardo De Mello Castanho
la source
Je ne pense pas que cela soit possible car F5 est quelque chose qui est capturé par Nautilus. Ce n'est pas une commande AFAIK.
Kaz Wolfe
Vous pensez que redémarrer Nautilus (au lieu de Unity) pourrait vous aider? askubuntu.com/questions/498914/…
muru
Pour résoudre ce problème, serait-il acceptable de créer automatiquement les raccourcis une fois la connexion établie?
Jacob Vlijm
muru, le redémarrage de Nautilus a très bien fonctionné! Ce n'est probablement pas le moyen le plus efficace, mais il a certainement fait ce que je voulais, merci beaucoup.
Eduardo De Mello Castanho
Peut-être que vous pourriez aussi essayer celui-ci ~ $ xrefresh
Apprenant

Réponses:

5

Si le rafraîchissement est délicat, nous pouvons redémarrer Nautilus:

pkill nautilus
nautilus -n

Votre entrée des applications de démarrage peut être facilement modifiée pour ajouter également ces commandes, dans le cadre du script, en chaînant:

udisks --mount  ... && pkill -u nautilus && nautilus -n

Nautilus a une -qoption pour le faire quitter seul, mais cela ne fonctionne pas bien avec nautilus -n.

muru
la source
5

Vous pouvez émuler en appuyant sur la touche avec xdotool, si vous ne trouvez pas comment appeler directement la fonction à laquelle elle est mappée:

xdotool key F5

La partie difficile est de le faire lorsque la fenêtre actuelle n'est pas le bureau.
Il devrait être possible de le trouver avec la searchcommande e - mais peut nécessiter quelques expérimentations;

Tout d'abord, essayez de trouver la bonne fenêtre, en utilisant getwindowname pour afficher le titre des fenêtres correspondantes:

xdotool search --class Desktop getwindowname

Si le résultat semble correct, essayez:

xdotool search --class Desktop key F5

Sinon, voyez man xdotoolpour de nombreuses autres options de xdotool search.
Si vous avez besoin de plus d'informations sur les fenêtres existantes pour le faire fonctionner, ces commandes sont les plus utiles pour les inspecter: xwininfoet xprop.

Volker Siegel
la source
1
Vous pouvez utiliser xdotoolpour taper le raccourci pour minimiser toutes les fenêtres (Super-D?), Puis l'utiliser pour taper F5.
muru
Volker Siegel, le getwindowname ne m'a pas t worked. It simply executes and shows no message (same when trying the third command, with Desktop key). I tried xwininfo and xprop and they didndonné d'informations utiles pour cette affaire. Pourtant, j'ai essayé la clé xdotool F5. Sur la ligne de commande, c'était comme si vous appuyiez sur F5 sur la ligne de commande et non sur le bureau; sur les applications de démarrage, cela n'a rien fait, probablement parce qu'il n'est toujours pas sur la fenêtre du bureau au moment où il exécute la commande. La solution qui a fonctionné avec moi était celle que 'muru' a donnée sur les commentaires: redémarrer Nautilus Merci quand même
Eduardo De Mello Castanho
@muru Je suis d'accord, redémarrer nautilus est beaucoup mieux pour votre cas. Je laisse cette réponse ici car elle est utile pour d'autres avec des cas similaires lorsqu'il n'est pas possible de redémarrer. Et oui, il est difficile de trouver le bon motif de recherche pour la fenêtre;
Volker Siegel le