Рейтинг:3

Переход с помощью сочетания клавиш в определенную папку в Nautilus

флаг cn

Нажатие Альт+Дом в Наутилусе ведет меня прямо к /гомер/пользователь. Это очень удобно!

Я хотел бы настроить пользовательское сочетание клавиш для произвольной папки в моей системе, поскольку, кроме /дом/пользователь есть несколько других папок, к которым мне нужно часто обращаться при просмотре различных папок в моей системе (например, /медиа/пользователь/my_pictures, если я подключил внешний жесткий диск, содержащий много фотографий и видео, которые я снял).

я бы хотел одна единственная комбинация клавиш взять мой туда; это означает отсутствие решений, таких как добавление папки в закладки, а затем вход с помощью F6 на вкладке закладок, а затем перейдите в нужную папку. Это нужно сделать одним махом, как Альт+Дом переносит меня в мою домашнюю папку.

vanadium avatar
флаг cn
Возможно, я смогу что-то придумать, если найду ответ на этот вопрос: https://askubuntu.com/q/1387251/558158
vanadium avatar
флаг cn
Боюсь, что через 10 лет взлом с помощью имитации клавиатуры (xdotool) будет единственным вариантом: см. https://askubuntu.com/a/123801/558158. Nautilus остается смехотворно ограниченным в параметрах командной строки: вы даже не можете открыть новую вкладку из командной строки.
l7ll7 avatar
флаг cn
@vanadium omg, это безумие, в каком плохом состоянии может быть действительно широко используемое программное обеспечение. xdotool (соответственно xclip, поскольку в ответе, который вы указали, он был обновлен), выглядит многообещающе. Пока решение работает, оно не обязательно должно быть элегантным. Как вы думаете, вы могли бы опубликовать решение с помощью xdotool? Тогда я мог принять это; ответ, который вы связали, выглядит довольно техническим, я не уверен, что смогу адаптировать его к моему сценарию.
l7ll7 avatar
флаг cn
Еще одна идея: должны ли `Alt`+`Home` быть жестко запрограммированы где-то в исходном коде? Может, туда добавить еще одну строчку, а потом скомпилировать Nautilus из исходников? (Хотя, по крайней мере, для проблемы, которую ОП имел в ответе, который вы указали, в одном ответе говорилось, что его проблема не разрешима таким образом, поэтому я тоже не уверен в своей.)
vanadium avatar
флаг cn
Этот другой ответ также является взломом с использованием `xdotool`. Да, я могу опубликовать что-нибудь с помощью xdotool, которое вроде как работает.
Рейтинг:1
флаг cn

В Nautilus, к сожалению, невозможно назначить горячую клавишу для открытия закладки или иным образом отобразить содержимое определенной папки в текущем окне. Интерфейс командной строки nautilus также крайне ограничен. Достаточно легко создать сочетания клавиш, открывающие папку в новом окне, но не очевидно, что с помощью сочетания клавиш можно изменить отображаемую папку в текущем окне.

Потенциально API nautilus-python предоставляет необходимую функциональность, но для этого требуются некоторые навыки программирования и доступ к явно скрытой документации. Мы надеемся, что такой ответ придет.

Ниже приведен только хак. Ввод с клавиатуры для перехода к другой папке с помощью панели пути генерируется с использованием xdotool. Это можно начать изнутри наутилус с помощью скрипта наутилуса. В nautilus есть непонятная функция, позволяющая определить ярлык для выполнения скрипта. Все вместе это дало бы тот эффект, к которому мы стремимся.

Взломать с помощью xdotool

  1. Создайте скрипт наутилуса:

    gedit ~/.local/share/nautilus/scripts/_1 Документы

  2. Вставьте следующий код для скрипта:

код

#!/бин/баш
НАЗНАЧЕНИЕ=~/Документы
СТАРЫЙ ВЫБОР=$(mktemp)
эхо "$DESTINATION" | xsel-би
Клавиша xdotool sleep 0.2 Control+l Control+v Возврат
xsel -bi < "$OLDSELECT" ; гм "$OLDSELECT"

/код

  1. Определите комбинацию клавиш для скрипта:

    gedit ~/.config/nautilus/scripts-accels

  2. Добавьте строку вида

    <Управление>0 _1 Документы

Это реализует сочетание клавиш Ctrl+0 который изменит текущий вид на нужную папку, ~/Документы в этом примере. Он имитирует открытие панели пути (Ctrl+л, затем вставьте путь к папке, затем нажмите Войти.

Сценарий сохраняет текстовое содержимое, которое в данный момент может находиться в буфере обмена, сохраняет желаемый путь в буфере обмена, а затем использует xdotool изменить папку с помощью панели пути. Как всегда небольшая задержка(спать 0,2) необходим, чтобы сделать скрипт более надежным.

Это взлом. Есть несколько предостережений:

Предостережение 1: не будет работать на Wayland

xdotool и xsel не работают на Wayland, сервере отображения по умолчанию, начиная с Ubuntu 21.10. Либо измените сеанс Xorg, либо адаптируйте скрипт. Такие инструменты, как йдотул и wl-буфер обмена может имитировать ввод с клавиатуры и управлять буфером обмена на Wayland.

Предостережение 2: скрипты-ускорения сломан в некоторых версиях Nautilus

~/.config/наутилус/скрипты-ускорение, файл конфигурации, который позволяет назначать сочетания клавиш для сценариев, не работает в Ubuntu 20.04. Это работало раньше и, к счастью, снова работает на Files 40.2 (Ubuntu 21.10).

Обходной путь

Вместо этого можно определить сочетания клавиш для всего рабочего стола и в сценарии проверить, является ли активное окно Nautilus, прежде чем выполнять остальные (wmctrl). Недостаток: эти ключи больше нельзя использовать в другом приложении/контексте для чего-то другого.

Предостережение 3: можно назначать ограниченное количество клавиш

Механизм ~/.config/наутилус/скрипты-ускорение не позволяет переопределить существующие ключи. Например, такие ключи <Управление>1 и <Управление>2 уже используются для изменения представления nautilus. <Альт># клавиши уже используются для смены вкладок. Так что экспериментируйте, что работает, а что нет. Ключи определены как:

; Пример сочетания клавиш
; Модификаторы: <Control> <Alt> <Shift>
; F4 открыть терминал-здесь
; <Alt>x удалить-расширение
l7ll7 avatar
флаг cn
«Следование — это всего лишь взлом». Но очень хороший лайфхак! +1 Большое спасибо за такой подробный ответ! Как вы можете дать такой подробный ответ для различных версий Ubuntu, у вас где-то работает целая ферма десктопов? ;) (Действительно, у меня Ubuntu 20.04, поэтому полезно знать, что мне нужно поэкспериментировать с `wmctrl`.)
l7ll7 avatar
флаг cn
Прежде чем я приму, не могли бы вы сообщить мне, что, поскольку «Alt» + «Home» переходит в домашнюю папку, я хотел бы, чтобы аналогичная комбинация клавиш, например, «Alt» + «End», переходила в мою папку. нужную папку. Вы знаете, как я могу ввести эту комбинацию клавиш в текстовый файл?
vanadium avatar
флаг cn
Нет, не знаю, и мне неизвестна никакая документация, кроме строк, которые я привел в ответе.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.