Atalho de teclado para "abrir um terminal aqui"

70

Como posso criar um atalho de teclado para que, quando pressiono o F12nautilus (ou a área de trabalho), obtenho um terminal no diretório atual?

wim
fonte
11
Uma dica adicional, não usar sudoem dconf-editor, executá-lo sem. Descobri isso da maneira mais difícil, passei alguns minutos reiniciando e reiniciando antes de eu descobrir.
velocidade de deriva
Imo, esta é a melhor resposta a esta pergunta: askubuntu.com/a/696901/499347 (curto, compreensível e ele simplesmente funciona)
dreua

Respostas:

50

Finalmente entendi .. primeiro sudo apt-get install dconf-tools nautilus-open-terminal, depois execute dconf-editore org/gnome/desktop/interface/can-change-accelsative o booleano. Em seguida, abra o nautilus usando este comando (para desativar temporariamente o menu global do Unity):

nautilus -q
UBUNTU_MENUPROXY=0 nautilus

Agora você pode passar o mouse sobre a ação no menu arquivo e alterar a aceleração digitando sua tecla enquanto a ação está destacada; finalmente, reinicie o seu nautilus. Se você não vê Abrir no terminal no menu Arquivo e acabou de instalar nautilus-open-terminal, pode ser necessário executar primeiro nautilus -q.

insira a descrição da imagem aqui

insira a descrição da imagem aqui

Ubuntu 14.04 e superior

Se você não encontrar a can-change-accelschave na configuração do dconf, tente a seguinte solução:

  1. Pare o nautilus executando nautilus -q
  2. Abra ~/.config/nautilus/accelsem um editor de texto de sua escolha, por exemplo, gedit:

    gedit ~/.config/nautilus/accels
    
  3. Tente ver se você pode encontrar a seguinte linha:

    ;(gtk_accel_path "<Actions>/DirViewActions/OpenInTerminal" "")
    
  4. Se a linha existir, adicione o atalho de teclado no segundo segmento de aspas duplas e remova o comentário da linha removendo ;:

    (gtk_accel_path "<Actions>/DirViewActions/OpenInTerminal" "F12")
    

    Isso definiria o atalho para F12. Para obter uma lista de todos os códigos possíveis, consulte esta resposta .

    Se a linha não existir, basta copiar e colar a encontrada nesta resposta no final do arquivo.

  5. Salve o arquivo e reinicie o Nautilus clicando no ícone do Nautilus no seu iniciador / traço.

Ubuntu 15.10 e 16.04

Aqui, o comando relevante em ~/.config/nautilus/accelsé TerminalNautilus:OpenFolderLocal. ( NautilusOpenTerminal::open_terminalainda está presente no arquivo, mas parece não ter nenhum efeito.) Portanto, siga as instruções acima, exceto alterar a linha

; (gtk_accel_path "<Actions>/ExtensionsMenuGroup/TerminalNautilus:OpenFolderLocal" "")

para

(gtk_accel_path "<Actions>/ExtensionsMenuGroup/TerminalNautilus:OpenFolderLocal" "F12")

para fazer do F12 o seu atalho de teclado. Observe que ;é novamente removido.

Por fim, efetue logout para que as alterações entrem em vigor.

wim
fonte
O truque com a tecla F12 não funciona para mim :(
Radu Rădeanu
11
Conforme indicado na resposta, use dconf-editor. O uso gconf-editorpode não ajudar.
Kadir
Não está funcionando para mim no Ubuntu 14.04
Deepen
@DpN Para 14.04, tente editar o arquivo ~/.config/nautilus/accelse adicionar uma linha como (gtk_accel_path "<Actions>/DirViewActions/OpenInTerminal" "F12"), depois reinicie o nautilus.
Wim
Não está funcionando, eu inseri após a linha 'Conectar ao servidor' nesse arquivo que acelera começando com;
Aprofundar a
12

Usar a abordagem do dconf-editor não parece funcionar no Trusty Gnome. Mas o seguinte faz:

No diretório inicial, pressione Ctrl + h, abra a pasta .config, a pasta nautilus e o arquivo accels;

ou seja, abra ~/.config/nautilus/accelse altere a linha:

; (gtk_accel_path "<Actions>/ExtensionsMenuGroup/NautilusOpenTerminal::open_terminal" "")

para

(gtk_accel_path "<Actions>/ExtensionsMenuGroup/NautilusOpenTerminal::open_terminal" "F12")

Observe que o delimitador de comentários foi removido.

Salve o arquivo, efetue logout e logon novamente.

John F. Healy
fonte
3
Sim, essa é a abordagem que já sugeri no comentário sobre a resposta aceita.
Wim
Esta abordagem funciona perfeitamente
Hasan
2
Não há necessidade de sair e entrar novamente. Um simples nautilus -qfaz o trabalho.
adn
Eu testei isso 3.28.1e não funcionou. Alguém pode testar com a mesma versão?
Orschiro 18/07/19
Eu não encontrei essa linha
Vitor Abella
10

Desde a versão 3.15.4, o Nautilus não carrega mais o arquivo accel (fonte) .

Felizmente, existe uma abordagem melhor para conseguir o que você deseja. Explicação longa / recursos úteis podem ser encontrados aqui e também aqui . Em resumo:

  1. Crie um script chamado Terminal(sim, sem extensão) dentro da pasta ~/.local/share/nautilus/scriptscom o seguinte conteúdo:

    #!/bin/sh
    gnome-terminal
    
  2. Torne-o executável e feche qualquer instância do Nautilus:

    $ chmod +x Terminal
    $ nautilus -q
    
  3. Crie (ou edite) o ~/.config/nautilus/scripts-accelsarquivo adicionando estas linhas:

    F12 Terminal
    ; Commented lines must have a space after the semicolon
    ; Examples of other key combinations:
    ; <Control>F12 Terminal
    ; <Alt>F12 Terminal
    ; <Shift>F12 Terminal
    
  4. Teste-o! Abra o Nautilus, clique com o botão direito do mouse e escolha Scripts> Terminal. Ou use o atalho de teclado que você acabou de configurar :)

Nota : Testado no Ubuntu 18.04.

amartin1911
fonte
11
Obrigado, confirmou o trabalho no Ubuntu 18.04 <3
Karlsson
2
Ainda funciona para 19.04. Obrigado!
Alex K.
11
Ainda funciona para o Ubuntu 18.04.2. Te agradece!
JJD 11/07
Obrigado, trabalhando no Ubuntu 18.04
Naami 02/09
Se você reabrir o nautilus antes de editar scripts-accels, precisará executar nautilus -qnovamente. Provavelmente deveria mover essa instrução para baixo?
Matthias Dailey
5

Você também pode usar um script nautilus em vez de uma extensão dedicada:

#!/usr/bin/perl -w
#
# Open terminal here
#
# Nautilus script that opens a gnome-terminal at the current location, if it's
# a valid one. This could be done in shell script, but I love Perl!.
#
# 20020930 -- Javier Donaire <[email protected]>
# http://www.fraguel.org/~jyuyu/
# Licensed under the GPL v2+
#
# Modified by: Dexter Ang [[email protected]]
# 2003-12-08: Modified for Gnome 2.4
#       - Added checking if executed on Desktop "x-nautilus-desktop:///"
#         so that it opens in /home/{user}/Desktop

use strict;

$_ = $ENV{'NAUTILUS_SCRIPT_CURRENT_URI'};
if ($_ and m#^file:///#) {
  s/%([0-9A-Fa-f]{2})/chr(hex($1))/eg;
  s#^file://##;
  exec "gnome-terminal --working-directory='$_'";
}

# Added 2003-12-08 Dexter Ang
if ($_ == "x-nautilus-desktop:///") {
  $_ = $ENV{'HOME'};
  $_ = $_.'/Desktop';
  exec "gnome-terminal --working-directory='$_'";
}

Instruções sobre a instalação do script e a atribuição de um atalho de teclado.

Glutanimado
fonte
E como exatamente ter um script do Nautilus em vez de uma extensão dedicada ajuda a atribuir um atalho de teclado?
MestreLion
11
@MestreLion Obrigado pelo seu comentário. Esta resposta foi mesclada em outra sessão de perguntas e respostas (consulte o log de edição para obter mais detalhes). Por isso, não havia uma seção sobre a atribuição de um atalho.
Glutanimado
Ohh, entendo. Desculpa, então! Um pouco lamentável que essas questões distintas (embora relacionadas) foram mescladas . Sua resposta foi ótima para a outra pergunta, mas incompleta para essa.
MestreLion
2

Para expandir na John F. Healypostagem de:

nautilus -q
sudo apt-get install nautilus-open-terminal
sed -i 's/; (gtk_accel_path "<Actions>\/ExtensionsMenuGroup\/NautilusOpenTerminal::open_terminal" "")/(gtk_accel_path "<Actions>\/ExtensionsMenuGroup\/NautilusOpenTerminal::open_terminal" "F12")/g' ~/.config/nautilus/accels

Isso deve funcionar no Ubuntu 14.10 Utopic Unicorn. A última linha edita o ~/.config/nautilus/accelsarquivo. Para garantir que a edição foi bem-sucedida, tente o seguinte comando:

grep NautilusOpenTerminal::open_terminal ~/.config/nautilus/accels
busca livre
fonte
1

Após a instalação nautilus-open-terminal, verifique se você matou todos os processos do nautilus (sempre há um processo não visível do nautilus em execução, use-os pgrep nautiluspara encontrá-los e use o killcomando).

Então, se você iniciar o nautilus, deverá ver o Open in Terminal se clicar com o botão direito do mouse na lista de arquivos, como fiz na captura de tela abaixo (onde eu estava executando o 14.04):

insira a descrição da imagem aqui

Sylvain Pineau
fonte
4
O problema é que eu uso a exibição de lista onde não há espaço em branco se a pasta contiver muitos arquivos. Agora eu uso a árvore na exibição de lista na configuração de exibição como uma solução temporária.
Xgdgsc