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

Вопрос или проблема

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

Редактировать: больше не актуально для Ubuntu 16.10 и новее

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

nautilus -q
UBUNTU_MENUPROXY=0 nautilus

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

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

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

Ubuntu 14.04 и выше

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

  1. Остановите nautilus, выполнив 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 вашей комбинацией клавиш. Обратите внимание, что ; снова удаляется.

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

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

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

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

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

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

    F12 Terminal
    ; Закомментированные строки должны иметь пробел после точки с запятой
    ; Примеры других комбинаций клавиш:
    ; <Control>F12 Terminal
    ; <Alt>F12 Terminal
    ; <Shift>F12 Terminal
    
  4. Протестируйте это! Откройте Nautilus, щелкните правой кнопкой и выберите Скрипты > Terminal. Или используйте комбинацию клавиш, которую вы только что настроили 🙂

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

Обновление Ubuntu 20.10: К сожалению, это больше не работает в Nautilus 3.38 (Ubuntu 20.10).

Обновление Ubuntu 21.10: К счастью, файл scripts-accels снова работает в Files 40 (Ubuntu 21.10).

Использование подхода 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")

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

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

Это не совсем ответ на этот вопрос

Если всё, что вам нужно, это доступ к терминалу в текущем каталоге, вы можете попробовать:

Shift + F10, затем e
или
Ctrl + F10, затем e

(2020) Когда я это писал, это было Ctrl
(2024) Кажется, теперь это Shift

Shift/Ctrl + F10: То же самое, что и щелчок правой кнопкой мыши в текущем каталоге
e: Выбирает “Открыть в терминале”


Это может измениться, если ваша ОС на другом языке.

Например, на португальском из Бразилии это будет:
Shift/Ctrl + F10, затем t

Просто посмотрите на подчерки буквы, чтобы знать, какая клавиша.
(2024) Мне пришлось использовать стрелочные клавиши, чтобы увидеть подчеркивающую букву.


Если вы используете ноутбук, вам также нужно будет использовать супер клавишу:
Shift/Ctrl + Super + F10, затем e


Вы упоминали о запуске с рабочего стола, самое близкое, что я мог придумать, это открыть терминал в домашнем каталоге:
Ctrl + Alt + t

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

#!/usr/bin/perl -w
#
# Открыть терминал здесь
#
# Скрипт Nautilus, который открывает gnome-terminal в текущем местоположении, если это
# допустимое. Это можно сделать и с помощью оболочки, но я люблю Perl!.
#
# 20020930 -- Хавьер Дональд <[email protected]>
# http://www.fraguel.org/~jyuyu/
# Лицензировано по GPL v2+
#
# Модифицировано: Декстер Анг [[email protected]]
# 2003-12-08: Модифицировано для Gnome 2.4
#       - Добавлена проверка, если выполняется на рабочем столе "x-nautilus-desktop:///"
#         чтобы открыть в /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='$_'";
}

# Добавлено 2003-12-08 Декстер Анг
if ($_ == "x-nautilus-desktop:///") {
  $_ = $ENV{'HOME'};
  $_ = $_.'/Desktop';
  exec "gnome-terminal --working-directory='$_'";
}

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

Чтобы дополнить пост 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

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

Затем, если вы запустите nautilus, вы должны увидеть “Открыть в терминале”, если щелкнете правой кнопкой на списке файлов, как я это сделал на снимке экрана ниже (где я использовал 14.04):

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

Кроме настройки вручную, также есть графическое приложение для управления этими сочетаниями клавиш: https://github.com/echo-devim/nautilusaccelsmanager (тестировалось)

Это довольно полезно, поскольку конфигурация может быть нарушена из-за мелочей, таких как регистр. С этим полезным инструментом просто нажмите желаемые горячие клавиши, и конфигурация будет создана в правильном стиле.

Для подробного объяснения, как это работает, смотрите https://askubuntu.com/a/696901/1147792.

Основываясь на ответе Тиаго Ладеша де Алескара…

Правая мышь + e открывает терминал.

Это работает в пустом пространстве или вы можете щелкнуть правой кнопкой непосредственно на нужной папке.

…Когда я использую nautilus, я обычно держу левую руку на клавиатуре, а правую на мыши, так что это действительно естественно, учитывая мое положение рук.

Если вам нужно специализированное сочетание клавиш с одной клавишей, вы можете использовать xdotool, чтобы имитировать щелчок и нажатие клавиши, как ниже (назначьте этот bash-скрипт вашей предпочтительной комбинации клавиш). Я делаю быструю проверку, чтобы убедиться, что я случайно не запускаю этот скрипт для других окон, которые не являются nautilus.

#!/bin/bash

# является ли nautilus активным окном?
naut_act=$(xprop -id $(xdotool getactivewindow) | grep WM_CLASS.*nautilus)
[[ -z $naut_act ]] && exit # если нет, выход

sleep .2 # может потребоваться настройка 
/usr/bin/xdotool key --clearmodifiers  shift+F10 e  # может быть ctrl+F10 в других дистрибутивах

Вы можете использовать Ctrl+Alt+T, чтобы вызвать терминал непосредственно с рабочего стола.

Ответ или решение

Для создания удобного сочетания клавиш, которое открывает терминал в текущем каталоге прямо из Nautilus или рабочего стола, требуется выполнить несколько шагов. В этом руководстве мы подробно рассмотрим, как настроить клавишу F12 для выполнения этой задачи в различных версиях Ubuntu.

Установка необходимых пакетов

Откройте терминал и выполните следующую команду, чтобы установить пакет nautilus-open-terminal, который добавляет опцию "Открыть в терминале" в меню Nautilus.

sudo apt-get install dconf-tools nautilus-open-terminal

Настройка dconf и изменение ускорителей

  1. Запустите dconf-editor:

    dconf-editor
  2. Найдите значение org/gnome/desktop/interface/can-change-accels и установите его в true. Это позволит изменять сочетания клавиш в приложении Nautilus.

  3. Закройте все окна Nautilus, вызвав команду:

    nautilus -q
  4. Перезапустите Nautilus с отключенным глобальным меню:

    UBUNTU_MENUPROXY=0 nautilus
  5. В меню Nautilus найдите пункт "Открыть в терминале", наведите курсор на него и измените сочетание клавиш, нажав F12.

  6. Перезапустите Nautilus, чтобы изменения вступили в силу:

    nautilus -q

Если опция "Открыть в терминале" не появляется, убедитесь, что вы правильно установили nautilus-open-terminal, и перезапустите Nautilus.

Редактирование файла accels вручную (если dconf-editor не работает)

Если вы используете более старую версию Ubuntu (например, 14.04 и выше):

  1. Остановите Nautilus:

    nautilus -q
  2. Откройте файл ~/.config/nautilus/accels в текстовом редакторе:

    gedit ~/.config/nautilus/accels
  3. Найдите строку:

    ; (gtk_accel_path "<Actions>/ExtensionsMenuGroup/NautilusOpenTerminal::open_terminal" "")
  4. Измените её на:

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

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

  5. Сохраните изменения и перезапустите Nautilus.

Использование скриптов Nautilus

Если указанный выше метод не подходит, вы можете создать Nautilus-скрипт, который будет открывать терминал в текущем каталоге.

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

    #!/bin/bash
    gnome-terminal --working-directory="$PWD"
  2. Сделайте скрипт исполняемым:

    chmod +x ~/.local/share/nautilus/scripts/Terminal
  3. Откройте или создайте файл ~/.config/nautilus/scripts-accels, чтобы настроить сочетания клавиш:

    F12 Terminal
  4. Проверьте, работают ли новые настройки: откройте Nautilus, щелкните правой кнопкой мыши и выберите "Скрипты" → "Terminal", или используйте F12.

Альтернативные методы

  • Вы также можете использовать сочетание клавиш Ctrl + Alt + T, чтобы открыть терминал из рабочего стола, но это будет не в текущем каталоге.

Итого

Теперь вы знаете, как настроить сочетание клавиш F12 для открытия терминала в текущем каталоге в Nautilus. Это не только увеличит вашу продуктивность, но и сделает работу с терминалом более удобной.

Оцените материал
Добавить комментарий

Капча загружается...