Existe uma boa combinação de linha de comando e navegador de arquivos gráficos?


15

Existe uma solução viável que combine as vantagens de uma linha de comando e um navegador de arquivos gráfico?

Por exemplo, a linha de comando é boa para alterar o diretório e executar comandos, mas não pode mostrar miniaturas e o navegador de arquivos é intuitivo, fornece uma boa visão geral de onde você está na árvore, mas não pode "conversar" com o computador como em uma linha de comando.

EDIT: para mim, como usuário da linha de comando, é mais como precisar de uma linha de comando com recursos adicionais de navegador de arquivos do que ter um navegador de arquivos com alguns recursos da linha de comando.

Respostas:


9

O Dolphin se parece com o que você está procurando:

Mas o terminal é escravo de sua navegação de diretório (se você alterar o diretório na GUI, ele muda no terminal, mas não o contrário).

Para alterar o diretório do aplicativo quando você altera o diretório atual no terminal, você pode fazer com que o seu shell envie uma mensagem ao Dolphin para atualizar sua exibição. Adicione isso aos seus arquivos shell rc ( aviso: não foi completamente testado, mas funciona aqui para as situações mais comuns, use por seu próprio risco):

Bater:

if [ -n "$KONSOLE_DBUS_SERVICE" ]; then
  if qdbus "$KONSOLE_DBUS_SERVICE" /dolphin >/dev/null 2>&1; then
    cd() {
      builtin cd "$@"
      qdbus "$KONSOLE_DBUS_SERVICE" /dolphin/MainWindow0 org.kde.dolphin.MainWindow.changeUrl "$PWD" >/dev/null
    }
  fi
fi

Zsh:

if [ -n "$KONSOLE_DBUS_SERVICE" ]; then
  if qdbus "$KONSOLE_DBUS_SERVICE" /dolphin >/dev/null 2>&1; then
    chpwd() {
      qdbus "$KONSOLE_DBUS_SERVICE" /dolphin/MainWindow0 org.kde.dolphin.MainWindow.changeUrl "$PWD" >/dev/null
    }
  fi
fi

Há um problema com isso. Quando a janela do Dolphin altera o diretório atual, o terminal perde o foco. Você pode solicitar uma correção de bug (ou até mesmo suporte nativo completo para esse recurso) aos desenvolvedores, se quiser.


Infelizmente, alterar os diretórios da linha de comando é um dos recursos importantes para mim.
DStulle

@dStulle: Se você quiser usar o teclado para alterar o diretório, digite Ctrl-LDolphin para fazer o cursor pular para a barra de endereços, onde você pode digitar o endereço do novo diretório e pressionar Enterpara navegar até ele. Se você realmente deseja digitar cdna linha de comando, poderá executar um hack que é executado qdbuspara enviar a mensagem de org.kde.dolphin.MainWindow.changeUrl($PWD)volta ao Dolphin. Mas acho que você deve tentar, está se acostumando principalmente a um novo paradigma de integração GUI-Terminal.
Juliano

não se trata de "digitar" o local, mas de "estar" na linha de comando. O qdbus é muito bom e pode funcionar para isso, mas não conseguiu encontrar como vincular o Terminal à sua instância dolphin. se houver mais de uma janela do Dolphin aberta, parece que você não conseguiu determinar qual delas alterarUrl e também não consegui encontrar uma maneira de alias, script ou função para alterar também o diretório atual da linha de comando. Edição: parece que alguém fez enquanto eu estava tentando ...
dStulle 12/11/10

O serviço Dolphin pode ser visto no terminal a partir da variável env $ KONSOLE_DBUS_SERVICE. É um problema real se você tiver duas janelas abertas da mesma instância do Dolphin. Eu realmente não sei distinguir entre eles. Existe um $ KONSOLE_DBUS_SESSION, mas ele é vinculado apenas à sessão do konsole, não à janela do dolphin. De qualquer forma, você deve sugerir esse recurso aos desenvolvedores do Dolphin, metade dele foi implementado acima.
Juliano

Para esclarecer: o que o Dolphin falta é: (1) não tire o foco do widget do terminal quando changeUrl () é chamado e (2) uma variável de ambiente que informa em qual janela o terminal está conectado, para que o script acima possa enviar o mensagem para a janela correta.
Juliano

4

O Gnome Commander é um gerenciador de arquivos com uma linha de comando shell na parte inferior. Midnight Commander (mc) é semelhante, mas no modo de texto. (Ambos se inspiram no Norton Commander .)


infelizmente, parece não ter a importante função [tab] -auto-complete da linha de comando e uma visualização real de miniatura de arquivo.
dStulle

Ctrl-O o levará a um shell no Midnight Commander e Ctrl-Enter colocará o nome de qualquer item selecionado na linha de comando. Não é exatamente o mesmo que [tab] preenchimento automático, mas é bem próximo.

3

O Nautilus Terminal é um plugin para o Nautilus (gerenciador de arquivos do Gnome).

Os diretórios não seguem a linha de comando, mas é razoavelmente rápido de fazer pwd | xclip, <Ctrl> +<l>,<Ctrl>+<v>


Também é bom, mas como mencionado, o navegador de arquivos também não segue a linha de comando. Também parece não "cd" no novo diretório, mas inicia uma nova instância completa do bash. E alguns atalhos como "ctrl-a" não afetam na linha de comando, mas no navegador de arquivos.
dStulle


0

Abaixo está uma variação da resposta de @Juliano usando o terminal dolphin + qdbus + (adicionado aqui como resposta em vez de um comentário para formatar o trecho de código). Essa variação também tem limitações e é definitivamente um hack.

Isso também pressupõe que "dolphin" esteja executando um terminal conectado (veja> painéis> terminal; ou pressione "F4"). Assim como a outra proposta, ele envia um comando para o dolphin para atualizar o caminho na GUI para corresponder ao PWD no console. Para forçar o terminal a manter o foco, ele envia um fechamento / abertura (f4 + f4) para a janela do terminal usando xte (xautomation): ou seja, fechando automaticamente e reabrindo imediatamente o terminal para recuperar o foco.

if [ -n "$KONSOLE_DBUS_SERVICE" ]; then
  if qdbus "$KONSOLE_DBUS_SERVICE" /dolphin >/dev/null 2>&1; then
    cd() {
      [ "$1" != "$PWD" ] && do_send=true || do_send=false;
      builtin cd "$@"
      if $do_send ; then
        qdbus "$KONSOLE_DBUS_SERVICE" /dolphin/MainWindow0 org.kde.dolphin.MainWindow.changeUrl "$PWD" >/dev/null 2>&1
        xte 'key F4' >/dev/null > /dev/null 2>&1 
        xte 'key F4' >/dev/null > /dev/null 2>&1 
      fi
    }
  fi
fi

O principal problema (além da ligeira oscilação quando o terminal é fechado / reaberto) é que o dolphin (por algum motivo) insere um "controle + c" mais "cd {dir}" (onde "dir" é o caminho do arquivo gerente) no terminal toda vez que o terminal reabrir, interferindo nos outros comandos que estão sendo digitados. (Editar: para adicionar hack após hack, como outra solução alternativa para isso: alias ccd=cd desde que o caractere "c" deste controle + c sempre parece ser inserido na frente de a cd {path}...)

Obviamente, seria melhor ter uma correção adequada no dolphin, para que o terminal retenha o foco e / ou tenha todo esse recurso incorporado ao dolphin.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.