Abra um terminal de qualquer diretório usando um atalho de teclado?

1

Eu quero ser capaz de abrir um terminal usando um atalho de teclado de qualquer diretório no qual eu esteja atualmente. Abordagens baseadas em software não são uma opção, já que não tenho a capacidade de instalar software neste PC. É um escritório e não tenho direitos de administrador.

A segunda resposta para este post especifica como configurar um atalho de teclado para abrir um terminal, mas acontece que ele sempre abre o terminal no diretório inicial, então não é o que estou procurando.

Existe uma maneira de abrir um terminal de qualquer diretório usando apenas um atalho de teclado?

    
por csss 23.08.2016 / 10:42

2 respostas

2

Se você estiver usando o gerenciador de arquivos Dolphin, há uma compilação no atalho Shift + F4 que faz exatamente isso.

    
por 23.08.2016 / 13:13
1

EDITAR:

Ao contrário do @LuboKanev, eu entendi o OP como: um atalho para abrir um novo terminal no diretório de trabalho atual em que me encontro, no terminal atualmente ativo , não no gerenciador de arquivos ( BTW, no KDE existe o mesmo truque apontado na outra resposta: no Doplhin, você usa Shift + F4 ; acredito que qualquer gerenciador de arquivos decente fornecerá uma chave ).

O script abaixo é um pouco complexo por este motivo: na janela ativa atual você pode ter uma tarefa atualmente em execução (digamos, você está assistindo a um filme via vlc ), para que você não tenha o prompt disponível; Como você recupera seu PWD sem esperar pela conclusão da tarefa, isto é, sem esperar que o filme termine? O script resolve exatamente esse problema.

O script a seguir primeiro identifica a janela ativa atual e, em seguida, identifica o processo em execução (será algo como konsole ou xterm ou ..., se for um terminal) e, em seguida, localiza processos filhos de konsole/xterm/... e, para cada processo filho que é um shell bash , localiza seu diretório de trabalho atual e abre uma janela konsole no diretório atual fornecido. Ele faz isso para todas bash shells encontradas abertas, não apenas para a primeira.

#!/bin/bash

ACT_WIN=$(xdotool getactivewindow)
MY_PPID=$(xprop -id $ACT_WIN _NET_WM_PID | awk '{print $3}')

for i in $(pgrep -P $MY_PPID); do
      ps -o cmd -p "$i" | grep bash > /dev/null
      if [ $? -eq 0 ]; then
         MYPWD=$(readlink -e /proc/$i/cwd)
         konsole --workdir $MYPWD 2>/dev/null & disown
      fi
done

Cuidado , não há verificação de erros acima ...

A coisa boa sobre este script é que, se a janela ativa atual não é um terminal, portanto, ele não gerou shells bash , nada acontecerá. Você pode então clicar com o mouse no seu terminal, que se torna o diretório ativo atual, e reenviar o atalho: você então obterá seu terminal e o diretório apropriado.

Depois de tornar este script executável, você pode associá-lo a um atalho de teclado; isso depende do DM. Para o KDE, vá para System Settings -> Shortcuts and Gestures -> Custom Shortcuts -> Edit (in the lower left corner) -> New -> Global -Shortcut -> Command/URL . Em New Action , escolha Comment para explicar o que você está fazendo, então o trigger (o comando, algo como Alt + F10 ), e então, sob ação, insira o caminho absoluto para o script executável acima.

    
por 23.08.2016 / 11:57