Я написал сценарий bash (здесь) для извлечения координат EXIF GPS из изображения и отображения этих координат в качестве указателя в Картах Google. Он отлично работает, когда используется в терминале:
GUI=1 ./show_location_in_chrome.sh /path/to/image.jpg
Я добавил команду Nautilus правой кнопкой мыши, используя Nautilus-Actions с этими настройками:
Path: GUI=1 /home/tomas/show_location_in_chrome.sh Parameters: %f Basename filter: *.jpgНо когда я щелкнул правой кнопкой мыши файл JPEG и щелкнул элемент меню, ничего не происходит. Единственное исключение - когда «Режим выполнения» установлен в «Отображать вывод», и в этом случае сценарий работает по назначению. К сожалению, Nautilus также отображает большое окно с выходом скрипта, которое мне нужно вручную закрывать каждый раз.
Как я могу понять, почему сценарий не работает в каком-либо другом режиме выполнения, чем «Display output»? Прокомментируйте, если я могу предоставить более конкретную информацию.
«Команда запуска», отображаемая на выходе команды:
/bin/sh -c 'GUI=1 /home/tomas/show_location_in_chrome.sh '\''/home/tomas/Dropbox/Camera Up loads/2013-07-21 14.58.33.jpg'\'''Редактировать: I добавили #!/usr/bin/env bash в начало моего скрипта и удалили явный вызов bash в настройке «Путь». Ничего не изменилось.
Edit : Я добавил echo "Works" > ~/test.txt в начало скрипта (ниже shebang), затем щелкнул элемент меню. Никакие файлы не были добавлены в мою домашнюю папку, поэтому я пришел к выводу, что сценарий даже не выполняется, когда в режиме выполнения есть что-то иное, чем «Отображать вывод».