Сочетание клавиш для «открыть терминал здесь»

70

Как создать сочетание клавиш, чтобы при нажатии F12на nautilus (или на рабочем столе) я получал терминал в текущем каталоге?

Wim
источник
1
Добавил наконечник, не использовать sudoна dconf-editor, запустить его без. Обнаружил это нелегким путем, потратил несколько минут на перезагрузку и перезагрузку, прежде чем я понял это.
Дрейф скорости
Имо, это лучший ответ на этот вопрос: askubuntu.com/a/696901/499347 (коротко, понятно и это просто работает)
dreua

Ответы:

50

Наконец-то разобрался .. сначала sudo apt-get install dconf-tools nautilus-open-terminal, затем запусти dconf-editorи org/gnome/desktop/interface/can-change-accelsвключи логическое значение. Затем откройте nautilus с помощью этой команды (чтобы временно отключить глобальное меню Unity):

nautilus -q
UBUNTU_MENUPROXY=0 nautilus

Теперь вы можете навести курсор мыши на действие в меню «Файл» и изменить ускорение, набрав клавишу, когда действие выделено, и, наконец, перезапустить nautilus. Если вы не видите «Открыть в терминале» в меню «Файл», и вы только что установили nautilus-open-terminal, возможно, вам придется сначала запустить nautilus -q.

введите описание изображения здесь

введите описание изображения здесь

Ubuntu 14.04 и выше

Если вы не можете найти can-change-accelsключ в вашей конфигурации dconf, вы можете попробовать следующее решение:

  1. Остановите наутилус, выполнив nautilus -q
  2. Откройте ~/.config/nautilus/accelsв текстовом редакторе по вашему выбору, например, gedit:

    gedit ~/.config/nautilus/accels
    
  3. Попробуйте посмотреть, можете ли вы найти следующую строку:

    ;(gtk_accel_path "<Actions>/DirViewActions/OpenInTerminal" "")
    
  4. Если строка существует, добавьте сочетание клавиш во второй сегмент в двойных кавычках и раскомментируйте строку, удалив ;:

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

    Это бы установить ярлык на F12. Для получения списка всех возможных кодов ключей, пожалуйста, обратитесь к этому ответу .

    Если строка не существует, просто скопируйте и вставьте найденную в этом ответе в конец файла.

  5. Сохраните файл и перезапустите Nautilus, нажав на значок Nautilus в вашей панели запуска / тире.

Ubuntu 15.10 и 16.04

Здесь соответствующая команда ~/.config/nautilus/accelsнаходится в TerminalNautilus:OpenFolderLocal. ( NautilusOpenTerminal::open_terminalвсе еще присутствует в файле, но, похоже, не оказывает никакого влияния.) Так что следуйте инструкциям выше, за исключением изменения строки

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

в

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

сделать F12 вашим сочетанием клавиш. Обратите внимание, что ;снова удален.

Наконец, выйдите из системы, чтобы изменения вступили в силу.

Wim
источник
Уловка с клавишей F12 не работает для меня :(
Раду Рэдяну
1
Как указано в ответе, используйте dconf-editor. Использование gconf-editorможет не помочь.
Кадир
У меня не работает в Ubuntu 14.04
Deepen
@DpN Для 14.04 попробуйте отредактировать файл ~/.config/nautilus/accelsи добавить строку вроде (gtk_accel_path "<Actions>/DirViewActions/OpenInTerminal" "F12"), затем перезапустите nautilus.
Вим
Не работает, я вставил после строки 'Connect to server' в тот файл, который принимает, начиная с;
Углубиться
12

Использование подхода dconf-editor не работает в Trusty Gnome. Но следующее делает:

В вашем домашнем каталоге нажмите Ctrl + h, откройте папку .config, папку nautilus и файл accels;

т.е. откройте ~/.config/nautilus/accelsи измените строку:

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

в

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

Обратите внимание, что разделитель комментариев был удален.

Сохраните файл, выйдите из системы и вернитесь обратно.

Джон Ф. Хили
источник
3
Да, это подход, который я уже предложил в комментарии к принятому ответу.
Вим
Этот подход работает отлично
Хасан
2
Нет необходимости выходить из системы и входить снова. Простое nautilus -qделает работу.
ADN
Я проверил это, 3.28.1и это не сработало. Может кто-нибудь, пожалуйста, проверить с той же версией?
Орширо
Я не нашел эту строку
Vitor Abella
10

Начиная с версии 3.15.4, Nautilus больше не загружает файл acl (Источник) .

К счастью, есть лучший подход, чтобы получить то, что вы хотите. Длинные объяснения / полезные ресурсы можно найти здесь, а также здесь . Короче говоря:

  1. Создайте сценарий с именем Terminal(да, без расширения) внутри папки ~/.local/share/nautilus/scriptsсо следующим содержимым:

    #!/bin/sh
    gnome-terminal
    
  2. Сделайте его исполняемым, затем закройте любой экземпляр Nautilus:

    $ chmod +x Terminal
    $ nautilus -q
    
  3. Создайте (или отредактируйте) ~/.config/nautilus/scripts-accelsфайл, добавив следующие строки:

    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. Проверь это! Откройте Nautilus, щелкните правой кнопкой мыши и выберите «Сценарии»> «Терминал». Или используйте сочетание клавиш, которое вы только что настроили :)

Примечание : протестировано на Ubuntu 18.04.

amartin1911
источник
1
Спасибо, подтвердил работу в Ubuntu 18.04 <3
Карлссон
2
До сих пор работает на 19.04. Спасибо!
Алекс К.
1
Все еще работает для Ubuntu 18.04.2. Спасибо вам!
JJD
Спасибо, работа в Ubuntu 18.04
Наами
Если вы откроете nautilus перед редактированием scripts-accels, вам придется nautilus -qснова запускать . Вероятно, следует переместить эту инструкцию вниз?
Матиас Дейли
5

Вы также можете использовать скрипт наутилуса вместо выделенного расширения:

#!/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 <jyuyu@fraguel.org>
# http://www.fraguel.org/~jyuyu/
# Licensed under the GPL v2+
#
# Modified by: Dexter Ang [thepoch@mydestiny.net]
# 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='$_'";
}

Инструкция по установке скрипта и назначению сочетания клавиш.

Glutanimate
источник
И как именно наличие сценария Nautilus вместо выделенного расширения помогает назначить ему сочетание клавиш?
МестреЛион
1
@MestreLion Спасибо за ваш комментарий. Этот ответ был объединен с другими вопросами и ответами ( подробности см. В журнале редактирования ). Вот почему в нем не было раздела по назначению ярлыка.
Glutanimate
О, я вижу. Тогда извини! Немного жаль , что такие различные (хотя и связанные с ними) вопросы были объединены . Ваш ответ был отличным для другого вопроса, но неполным для этого.
MestreLion
2

Чтобы расширить John F. Healyпост пользователя:

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

Это должно работать на Ubuntu 14.10 Utopic Unicorn. Последняя строка редактирует ~/.config/nautilus/accelsфайл. Чтобы убедиться, что редактирование прошло успешно, попробуйте следующую команду:

grep NautilusOpenTerminal::open_terminal ~/.config/nautilus/accels
freeseek
источник
1

После установки nautilus-open-terminalубедитесь, что вы уничтожили все процессы nautilus (всегда запущен один невидимый процесс nautilus, поэтому используйте его, pgrep nautilusчтобы найти, а затем используйте killкоманду).

Затем, если вы запустите nautilus, вы должны увидеть Open in Terminal, если вы щелкнете правой кнопкой мыши в списке файлов, как я сделал на скриншоте ниже (где я запускал 14.04):

введите описание изображения здесь

Сильвен Пино
источник
4
Проблема в том, что я использую представление списка, где не осталось пустого пространства, если в папке много файлов. Теперь я использую дерево в виде списка в настройках дисплея в качестве временного решения.
xgdgsc