2

Как открыть магнитные ссылки в Firefox с помощью приложения командной строки, а именно с удаленной передачей?

Я думаю, что мне нужно создать упакованное приложение, которое принимает аргументы, и вот что я сделал до сих пор:

  1. Используйте Automator для запуска сценария оболочки со следующим:

    transmission-remote -a $@

  2. Сохраните скрипт Automator как Transmission.app

  3. Выберите Transmission.app в Firefox, когда используете его для магнитных ссылок.

Однако для передачи аргументов необходимо:

open Transmission.app --args magnet:etc

Я предполагаю, что Firefox делает что-то вроде: Transmission.app %s , но я не могу сказать, как Firefox передает аргументы вспомогательному приложению. Я также попытался создать сценарий оболочки оболочки и назвать его helper.app безрезультатно.

Или же Firefox может использовать что-то вроде этого в качестве обработчика протокола, где я могу передать в% s?

open Transmission.app --args %s

РЕДАКТИРОВАТЬ: DS ответ, очевидно, работает на Snow Leopard и Lion, но у меня все еще проблемы с пустыми аргументами, посылаемыми из Firefox. Я также вставлю свой комментарий здесь:

Я пробовал следующее, но отправляются только пробелы: echo "$ @" >> ~/somefile и echo "$ *" >> ~/somefile с кавычками и без них. Возможно, это мои настройки Firefox (о: config?). Я использую 19.0.2 (последняя версия), OSX 10.8.2 на случай, если кто-нибудь еще подключится ...

1 ответ1

1

Я боролся с тем же вопросом. Я заставил это работать, и я думаю, что вы пропустили маленький шаг. Очевидно, что Firefox на Mac для своих приложений "Open With" не передает аргументы через переменные командной строки, переменные окружения или любой другой unix-подобный метод. Он использует Mac Launch Services. Automator может перевести их в аргументы командной строки. Следующие работы на Snow Leopard:

  1. Запустите Automator, выбрав Приложение для "Выберите шаблон для вашего рабочего процесса".
  2. Найдите действие "Выполнить сценарий оболочки" и перетащите или дважды щелкните его, чтобы добавить его.
  3. Для выпадающего списка "Пропустить ввод": выберите "В качестве аргументов" <- я думаю, что этот шаг вам не хватает.
  4. Для выпадающего меню "Shell": выберите оболочку, которая вам нравится (вероятно, /bin /sh, судя по вашему вопросу).
  5. Automator предоставит вам пример кода, но вам просто нужно то, что у вас уже есть: transmission-remote -a "$@" (двойные кавычки позволяют правильно пересылать аргументы, содержащие пробелы).
  6. Сохраните приложение.

Когда Firefox запускает это приложение для открытия файлов / загрузок, он передает их родным способом для Mac, затем Automator преобразует их в аргументы оболочки, а сценарий оболочки пересылает их на transmission-remote .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .