Я создал ярлык с помощью опции «сделать ссылку». Когда я вхожу в папку этого ярлыка, я не вижу никаких папок над ним, поэтому я не могу легко перейти к ним.
Есть ли способ открыть одну папку в графическом интерфейсе? Может быть, горячая клавиша? (Не могу сделать cd ..
это время ^ __ ^).
Например, в Windows я действительно могу ориентироваться так, как я описываю, вот образ Win10, который это объясняет:
nautilus
symbolic-link
JohnDoea
источник
источник
Alt+up key
Ответы:
Почему это сложный вопрос
Вопрос имеет несколько проблем:
nautilus
не связывается напрямую из командной строки, например, для получения текущего активного каталога, и вы не можете «отправить» открытую в данный момент папку (-window) в другой каталог из командной строки."NAUTILUS_SCRIPT_CURRENT_URI"
Nautilus, не возвращает реальный путь к текущей папке, а «видит» ссылку, как если бы она была реальной папкой.Таким образом, решение настолько грязное, насколько это возможно; нам нужно найти обходные пути. Ниже четыре варианта решения проблемы.
1. щелкните правой кнопкой мыши, чтобы перейти на один уровень вверх
Чтобы получить реальный путь к текущему каталогу, нам нужно получить информацию по ссылке. Мы можем сделать это либо используя
ls -l
ссылку, которая выдаст, например:где раздел после
->
- это реальный путь внутри символической ссылки, или, используяpython
:Используя это в
nautilus
скрипте, мы можем косвенно получить реальный путь к текущему файлу или папке.Тогда, если у нас есть путь, как мы заставим наутилуса двигаться на один уровень вверх?
Опять же, мы не можем решить эту проблему и держать наши руки в чистоте. Чтобы переместиться на один уровень вверх, мы сначала немного отредактируем найденный путь, начиная с:
в
затем, используя
xdotool
для имитации Ctrl+ L(ярлык GUI для вставки пути в окно nautilus, так как нет опции cli для перемещения в другой каталог, используя текущее окно ), и впоследствии сделайтеxclip
вставку отредактированного пути + Enter, у нас есть рабочее решение !На практике
Мы находимся в папке, открытой по ссылке («Ссылка на Telegram») на моем рабочем столе. Реальная папкой является подпапкой моей
Downloads
папки:Затем, если мы щелкнем правой кнопкой мыши по любому из файлов в папке, чтобы запустить скрипт:
Автоматически, путь к старшему каталогу вставляется:
И также автоматически Returnнажимается, и мы перемещаемся на один уровень вверх по каталогу:
Сценарий
Как настроить
Скрипту нужны оба
xdotool
иxclip
:создать, если он еще не существует, каталог
Скопируйте приведенный выше скрипт в пустой файл, сохраните его как
level_up
(без расширения)~/.local/share/nautilus/scripts
и сделайте его исполняемымТеперь вы сможете запустить скрипт, щелкнув правой кнопкой мыши файл (любой)> scripts> level_up:
[ РЕДАКТИРОВАТЬ ] Я изменил скрипт выше, чтобы вставить путь в
nautilus
окно, вместо того, чтобы делатьxdotool
тип его. Онneeds
xclip
должен быть установлен, но это значительное улучшение, особенно на очень длинных трассах.2. В качестве альтернативы, откройте новое окно nautilus в старшем каталоге
Вы можете избежать использования
xdotool
, заставив скрипт открыть новое окно nautilus в каталоге родителя. Тогда сценарий будет еще короче:В этом случае вам не нужно устанавливать
xdotool
. Мы могли бы даже расширить скрипт, закрыв исходное окно и поместив новое окно точно в ту же позицию (и размер).Недостатком является то, что история оригинального окна теряется таким образом.
3. Дополнительное решение: альтернативный способ (автоматически) создавать ссылки
Не относится к существующим ссылкам, но при использовании из графического интерфейса
.desktop
может быть полезен скрипт nautilus для автоматического создания исполняемых файлов при щелчке правой кнопкой мыши:щелкните правой кнопкой мыши каталог, чтобы создать ярлык (ведущий себя как ссылка)
В отличие от символических ссылок, эти ссылки приведут вас к реальной папке, не ведя себя как сама папка:
Сценарий
Как пользоваться
make_link
(без расширения)~/.local/share/nautilus/scripts
и сделайте его исполняемым.desktop
файл будет создан в том же каталоге, переместите его в другое место, если вам нужно; связанный путь является абсолютным.Дайте ссылку отличительный значок
Вы можете дать альтернативной ссылке отличительный значок. Если вы ищете внутри каталога
/usr/share/icons
«папку», всплывают многочисленные допустимые параметры.Если в сценарии строка
"Icon=folder",
заменена наIcon=stock_folder-copy,
(используйте имя иконки без расширения), результат в моей системе:Конечно, вы также можете использовать свой собственный значок, но если вы используете полный путь (не используйте
~
), вы должны включить расширение значка.4. Перейдите в каталог высшего уровня с помощью клавиши быстрого доступа.
Наверное, самый удобный вариант; с окном nautilus впереди, нажмите клавишу быстрого доступа, чтобы переместить один каталог вверх.
Сценарий
Использовать
Для этого решения оба
xclip
иxdotool
должны быть в вашей системе.Скопируйте скрипт в пустой файл, сохраните его как
level_up.py
(где угодно).Добавьте его к клавише быстрого доступа: выберите: «Системные настройки»> «Клавиатура»> «Ярлыки»> «Пользовательские ярлыки». Нажмите «+» и добавьте команду:
NB . Опции ярлыков в этом случае немного ограничены, так как сам скриптимитируетCtrl+L, иCtrl+Alt+Lзаставит вас выйти ...Ctrl+\отлично работал в моей системе.
объяснение
Этот скрипт также имитирует Ctrl+ L, но вместо использования nautilus '
"NAUTILUS_SCRIPT_CURRENT_URI"
он используетxclip
для копирования автоматически выбранный путь в окне nautilus. Как и в варианте 1, сценарий затем вычисляет реальный путь и получает старший каталог.Эта опция может быть полезна, если вы предпочитаете использовать клавиатуру правой кнопкой мыши.
источник
Или для Ubuntu 14.04, nautilus 3.10-1, с
xdotool
добавленным пакетом, просто используйте в своем.local/share/nautilus/scripts/updirtree
файле следующее:Окончательная цитата должна просто содержать символ новой строки или return (
0x0a
). Находящийсяpwd
внутри nautilus результат дает другой результат, чем при запуске из bash / терминала - он возвращает фактический путь, а не путь, использующий ссылку.Я согласен, что это не имеет смысла, это недокументировано, и я даже не могу понять, в какой среде выполнения выполняется код (я не могу найти оболочку, которая дает такой результат), но это работает. Это взлом, поэтому я включил версию nautilus. Кто знает как долго это будет работать? Может произойти сбой при следующем обновлении nautilus (или неизвестного интерпретатора), но для меня это работает с ссылками на смонтированные местоположения, ссылками на места в дереве каталогов или просто на простые места в дереве каталогов.
источник
$(pwd)
это рабочий каталог оболочки , а не nautilus . См. Help.ubuntu.com/community/NautilusScriptsHowtoxclip
вставку пути, которая не зависит от длины пути.Чистое исправление, но необходимо восстановить исходный код, вернув этот коммит :
Инструкции по сборке:
Скачать источник:
Скачать зависимости сборки
Сделайте нужную модификацию сверху патча
редактировать
src/nautilus-mime-actions.c
Сборка и установка
Протестировать без установки
Чтобы установить это
Это заставит nautilus преобразовывать ссылки в их целевой путь. Кстати, это было сообщено как ошибка некоторое время назад. Если вы считаете, что это особенность, отправьте еще один отчет об ошибке, попросив установить переключатель или специальный ярлык для него.
Ссылка: Как я могу остановить Наутилус от разыменования символических ссылок? [закрыто]
источник
/usr/local/bin/
, поэтому система всегда будет запускать измененную копию, как указано в$PATH