Comando de linha de comando para atualizar a área de trabalho da GUI, como quando pressionar F5?

8

Existe algum comando para atualizar os ícones da área de trabalho (exatamente como o botão F5)?

Eu preciso disso, porque em aplicativos de inicialização eu definir um comando para montar minha partição de backup e criei um link de desktop para alguns diretórios lá. O problema é que os ícones não são atualizados quando eu efetuo login, a menos que eu pressione F5. Eu gostaria de colocar um comando nos Aplicativos de Inicialização para fazer isso. (note que eu não quero reiniciar o shell GNOME ou Unity, como eles disseram aqui . Eu só preciso de um comando para fazer exatamente o que F5 faz)

    
por Eduardo De Mello Castanho 02.09.2014 / 02:25

2 respostas

5

Se a atualização é complicada, podemos reiniciar o Nautilus:

pkill nautilus
nautilus -n

Sua entrada Aplicativos de inicialização pode ser facilmente modificada para adicionar esses comandos também, como parte do script, encadeando:

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

O Nautilus tem uma opção -q para sair sozinho, mas isso não funciona funciona bem com nautilus -n .

    
por muru 10.09.2014 / 20:37
5

Você pode emular pressionando a tecla com xdotool , se você não consegue encontrar como chamar diretamente a função, ela é mapeada para:

xdotool key F5

A parte difícil é fazer isso quando a janela atual não é a área de trabalho.
Deve ser possível encontrá-lo com o comando search - mas pode precisar de alguma experiência;

Primeiro, tente encontrar a janela da direita, usando o getwindowname para mostrar o título das janelas correspondentes:

xdotool search --class Desktop getwindowname

Se o resultado parece certo, tente:

xdotool search --class Desktop key F5

Caso contrário, veja man xdotool para muitas outras opções de xdotool search .
Se você precisar de mais informações sobre as janelas existentes para fazê-lo funcionar, esses comandos são os mais úteis para inspecioná-los: xwininfo e xprop .

    
por Volker Siegel 02.09.2014 / 06:45