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.

dStulle
fonte

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.

Juliano
fonte
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 .)

Gilles 'SO- parar de ser mau'
fonte
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>

Shawn J. Goff
fonte
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.

Michael
fonte