como atualizar o gerenciador de arquivos dolphin em tempo real

4

Se eu tiver o golfinho aberto e eu estiver trabalhando no terminal ou no Windows, os arquivos poderão ser movidos ou adicionados. Como eu iria garantir que atualize o status de um diretório em tempo real?

Atualmente eu não posso nem usar de volta para atualizar e constantemente tem que reabrir o golfinho, muito irritante

    
por user140393 22.06.2013 / 05:59

6 respostas

3

Este parece ser um bug ainda ativo no Kubuntu 18.04, onde o Dolphin nem sempre atualiza automaticamente e mostra instantaneamente as alterações feitas por outro programa, no qual a atualização manual é necessária. F5 parece funcionar bem para este fim agora.

    
por cipricus 15.05.2018 / 09:35
3

O caminho para atualizar o Dolphin é pressionar F5 . No entanto, isso seria manual.

Para atualizar continuamente, uma solução automática, crie um script bash que seja executado na inicialização. Este script bash deve pressionar F5 a cada cinco segundos se o Dolphin estiver aberto. Crie um arquivo chamado dolphin-update in /usr/local/bin com o seguinte conteúdo:

#!/bin/bash
while true; do
    PID=$(pgrep "dolphin")
    if [ "$?" -ne "0" ]; then
        xdotool key 'F5'
    fi
    sleep 5
done

Pode ser necessário primeiro criá-lo como root e depois alterar o proprietário para seu usuário:

sudo chown username:username /usr/local/bin/dolphin-update 

Certifique-se de que tenha permissões executáveis:

chmod +x /usr/local/bin/dolphin-update

Agora precisamos que seja executado na inicialização. Para isso, execute sudo crontab -e e adicione a seguinte linha ao final do arquivo:

@reboot /usr/local/bin/dolphin-update

Este script será executado na inicialização.

Agora você deve ter um Dolphin continuamente refrescante!

Existem algumas advertências para este script.

  • Se você abrir o Dolphin, vá para outro aplicativo onde F5 aciona algo, (por exemplo, o Chromium atualiza a página), o script ainda será executado e será um aborrecimento constante. Solução: Feche o Dolphin quando não estiver usando ativamente.
  • Como um trabalho cron é usado, se o computador travar, o script não será executado na inicialização. No entanto, isso é um problema com cron e não no script.

O que o script significa, linha por linha:

  • #!/bin/bash - shebang para executar com bash
  • while true; do - é executado continuamente
  • PID=$(pgrep "dolphin") - encontre o ID do processo de uma instância dolphin . Isso é apenas para verificar se existe uma instância do Dolphin em execução.
  • if [ "$?" -ne "0" ]; then - verifica o resultado da existência de uma instância do Dolphin em execução. Se houver, então ...
  • xdotool key 'F5' - pressione F5
  • fi - termina o bloco if
  • sleep 5 - aguarde 5 segundos antes de repetir o processo
  • done - termina o bloco while
por ubashu 16.05.2018 / 01:59
1

Concordo que este é um problema com o Dolphin. Eu não o uso, mas estava testando alguns scripts bash que escrevi em uma VM do KDE e descobri que, embora o Dolphin atualize em tempo real quando está na pasta home, ele não faz isso quando está em / dev / shm. Eu encontrei sua pergunta aqui e votei, porque isso ainda precisa ser respondido.

O que eu usei no meu script é: xdotool key 'F5'

O que funcionou para o meu script, mas não é exatamente o tempo real. Meu script gera um monte de arquivos e você não pode ver isso acontecendo, mas assim que terminar, ele "pressiona" 'F5' e os arquivos ficam visíveis.

    
por Colin Keenan 07.10.2014 / 15:12
1

O próximo script usa o xdotool para enviar a tecla F5 para redefinir a janela do Dolphin sempre que ela estiver em foco. Salve-o, torne-o executivo e execute-o na inicialização.


#!/bin/bash
     # indefinite loop
     while  : ; do
         # gets root window property _NET_ACTIVE_WINDOW
         WIN=($(xprop -root _NET_ACTIVE_WINDOW))

         # extracts window id (base seven)
         WIN="${WIN[4]%%","*}"

         WIN="$(printf "%s\n" ${WIN})"  # bypass weird array bug

          # Decimal window id of dolphin
          WindowID="$(xdotool search --class "dolphin" 2>/dev/null | tail -1)"

          # Convert dolphin's win id to base seven
          WindowIDbSeven=$(printf "0x%07x" ${WindowID})

         # test if an acive window id mathes with the dolphin's window id
         if [[ "${WIN}" == "${WindowIDbSeven}" ]]; then
             # sends F5 to dolphin's window id
             xdotool key --clearmodifiers "$WindowIDbSeven" F5
         fi

          # clears array
          WIN=()

         sleep 5
     done
    
por user829010 17.05.2018 / 07:06
1

A pergunta original do OP tem quase 5 anos. Há um bug mestre publicado em 2009 com 15 erros duplicados apontando para ele. A correção do bug apareceu no Debian (comentário # 58) depois que a pergunta do OP foi postada.

O relatório de que esse bug ainda está acontecendo em 2018 por um novo relatório de bug é um pouco enganoso porque o usuário que preencheu o relatório (Jeremy9856) postou uma dúzia de comentários tentando soluções diferentes:

  • atualizou o número permitido de kernel inotify watches
  • desativando tlp , o que coloca as unidades em suspensão
  • do mkdir / rmdir várias vezes para acionar o problema
  • Outro usuário (comentário # 10) testou um one-liner e declara que o problema não existe while true ; do mkdir abc ; sleep 1 ; rmdir abc ; sleep 1 ; done
  • quando há um acento no caminho (por exemplo, /home/jeremy/Téléchargements/Séries )

O último comentário de Jeremy9586 afirma:

  

Bem, eu removi os links simbólicos das pastas dentro de / home (Desktop,   Downloads, etc ...) que apontou para / media / Data e usou as configurações do kde   (em aplicativos) para mudar os lugares dessas pastas e eu não   teve o problema por cerca de uma semana!

     

Então, isso pode estar relacionado aos links simbólicos?

Resumo

O bug que o OP teve foi relatado pela primeira vez em 2009 e resolvido em 2013.

O bug que o novo bounty aponta parece não ter nada a ver com a atualização da lista de arquivos em geral e precisa pressionar F5 . O bug foi causado por links simbólicos entre /home e /media/home .

    
por WinEunuuchs2Unix 20.05.2018 / 19:10
0

O xdotool pode enviar a tecla F5 para o dolphin no evento de entrada do mouse ou sempre que a janela estiver focada.

Esses comandos são executados indefinidamente para que você possa definir um deles para ser executado na inicialização.

Localiza a janela com o golfinho de classe e envia o F5 sempre que o ponteiro do mouse entra na janela:

xdotool search --onlyvisible --class dolphin  behave %@ mouse-enter key F5

Localiza a janela com o golfinho de classe e envia o F5 sempre que o golfinho recebe foco:

xdotool search --onlyvisible --class dolphin  behave %@ focus key F5
    
por user829010 17.05.2018 / 00:46