Вопрос или проблема
Как я могу создать комбинацию клавиш, чтобы при нажатии 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, вы можете попробовать следующее решение:
-
Остановите nautilus, выполнив
nautilus -q
-
Откройте
~/.config/nautilus/accels
в текстовом редакторе на ваш выбор, например, gedit:gedit ~/.config/nautilus/accels
-
Попробуйте найти следующую строку:
;(gtk_accel_path "<Actions>/DirViewActions/OpenInTerminal" "")
-
Если строка существует, добавьте вашу комбинацию клавиш во втором сегменте в двойных кавычках и раскомментируйте строку, удалив
;
:(gtk_accel_path "<Actions>/DirViewActions/OpenInTerminal" "F12")
Это установит комбинацию клавиш на F12. Для списка всех возможных кодов клавиш, пожалуйста, обратитесь к этому ответу.
Если строка не существует, просто скопируйте и вставьте найденную в этом ответе в конец файла.
-
Сохраните файл и перезапустите 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 (Источник).
К счастью, есть более простой способ, чтобы получить желаемое. Долгое объяснение/полезные ресурсы можно найти здесь, а также здесь. Вкратце:
-
Создайте скрипт с именем
Terminal
(да, без расширения) внутри папки~/.local/share/nautilus/scripts
с следующим содержимым:#!/bin/sh gnome-terminal
-
Сделайте его исполняемым, затем закройте любой экземпляр Nautilus:
$ chmod +x Terminal $ nautilus -q
-
Создайте (или отредактируйте) файл
~/.config/nautilus/scripts-accels
, добавив эти строки:F12 Terminal ; Закомментированные строки должны иметь пробел после точки с запятой ; Примеры других комбинаций клавиш: ; <Control>F12 Terminal ; <Alt>F12 Terminal ; <Shift>F12 Terminal
-
Протестируйте это! Откройте 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 и изменение ускорителей
-
Запустите
dconf-editor
:dconf-editor
-
Найдите значение
org/gnome/desktop/interface/can-change-accels
и установите его вtrue
. Это позволит изменять сочетания клавиш в приложении Nautilus. -
Закройте все окна Nautilus, вызвав команду:
nautilus -q
-
Перезапустите Nautilus с отключенным глобальным меню:
UBUNTU_MENUPROXY=0 nautilus
-
В меню Nautilus найдите пункт "Открыть в терминале", наведите курсор на него и измените сочетание клавиш, нажав F12.
-
Перезапустите Nautilus, чтобы изменения вступили в силу:
nautilus -q
Если опция "Открыть в терминале" не появляется, убедитесь, что вы правильно установили nautilus-open-terminal
, и перезапустите Nautilus.
Редактирование файла accels вручную (если dconf-editor не работает)
Если вы используете более старую версию Ubuntu (например, 14.04 и выше):
-
Остановите Nautilus:
nautilus -q
-
Откройте файл
~/.config/nautilus/accels
в текстовом редакторе:gedit ~/.config/nautilus/accels
-
Найдите строку:
; (gtk_accel_path "<Actions>/ExtensionsMenuGroup/NautilusOpenTerminal::open_terminal" "")
-
Измените её на:
(gtk_accel_path "<Actions>/ExtensionsMenuGroup/NautilusOpenTerminal::open_terminal" "F12")
Убедитесь, что убрали точку с запятой в начале строки, чтобы она не была закомментирована.
-
Сохраните изменения и перезапустите Nautilus.
Использование скриптов Nautilus
Если указанный выше метод не подходит, вы можете создать Nautilus-скрипт, который будет открывать терминал в текущем каталоге.
-
Создайте скрипт в каталоге
~/.local/share/nautilus/scripts
с именемTerminal
(без расширения) и добавьте в него следующий код:#!/bin/bash gnome-terminal --working-directory="$PWD"
-
Сделайте скрипт исполняемым:
chmod +x ~/.local/share/nautilus/scripts/Terminal
-
Откройте или создайте файл
~/.config/nautilus/scripts-accels
, чтобы настроить сочетания клавиш:F12 Terminal
-
Проверьте, работают ли новые настройки: откройте Nautilus, щелкните правой кнопкой мыши и выберите "Скрипты" → "Terminal", или используйте F12.
Альтернативные методы
- Вы также можете использовать сочетание клавиш
Ctrl + Alt + T
, чтобы открыть терминал из рабочего стола, но это будет не в текущем каталоге.
Итого
Теперь вы знаете, как настроить сочетание клавиш F12 для открытия терминала в текущем каталоге в Nautilus. Это не только увеличит вашу продуктивность, но и сделает работу с терминалом более удобной.