Firefox 3.6.3 на Snow Leopard 10.6.3 - символьная ссылка на двоичный файл командной строки не работает?

У меня есть Firefox 10.6.3 установленных на Snow Leopard Mac OS X от DMG. Я могу запустить Firefox от терминального использования /Applications/Firefox.app/Contents/MacOS/firefox-bin. Однако, если я создаю символьную ссылку:

sudo ln -s /Applications/Firefox.app/Contents/MacOS/firefox-bin /bin/firefox

затем это отказывается работать, или по крайней мере отображаться. Когда я выпускаю "Firefox" от терминала, я вижу процесс в вершине, но никогда не заставляю GUI появляться.

ls -lr /bin/firefox 
lrwxr-xr-x  1 root  wheel  52 May  5 15:19 /bin/firefox -> /Applications/Firefox.app/Contents/MacOS/firefox-bin

Какие-либо идеи?

0
задан 20.07.2011, 14:18

3 ответа

Я заметил что-то вроде этого только что (Firefox 3.6.3 на Mac OS X 10.4: это отображает свое главное окно, но не свою строку меню; весь ввод с клавиатуры переходит к последний раз активному приложению, не Firefox). Я заменил символьной ссылкой сценарием:

#!/bin/sh
exec '/Applications/Firefox.app/Contents/MacOS/firefox-bin' "$@"

Мне понравилась символьная ссылка лучше, но недостаточно разыскать проблему. Существуют некоторые возможно связанные ошибки в Bugzilla Mozilla (как “Стартовый Firefox, меню не появляются, и ввод текста отключен”), но ничто, что было похоже на точное совпадение.

0
ответ дан 24.11.2019, 06:55

Это - возможно, проблема исполняемого файла, связывающегося с общими библиотеками с помощью относительных путей? Это предотвратило символьные ссылки на exes, работающий на меня в прошлом на OSX 10.6.3.

Можно проверить на полные или относительные пути в использовании определений,

otool -L /Applications/Firefox.app/Contents/MacOS/firefox-bin

Вещи как @loader_path во встроенных путях к библиотеке часто не будет работать, когда exe назовут из ссылки. Можно изменить относительные пути в использовании exe install_name_tool, согласно этому ответу.

0
ответ дан 24.11.2019, 06:55

Приложения Mac OS X используют относительные пути для нахождения других файлов в их комплекте приложений. Я не мог воспроизвести Вашу проблему, но Firefox, запущенный через символьную ссылку, не имел Значка панелей или строки меню для меня. Другие приложения распечатали следующую ошибку:

2011-03-05 15:20:03.083 appname[25356:903] No Info.plist file in application bundle or no NSPrincipalClass in the Info.plist file, exiting

Надлежащий способ достигнуть, что Вы хотите, состоит в том, чтобы создать сценарий, который называет исполняемый файл, или лучше (если у Вас нет нескольких различных версий Firefox, работающего по любой причине), используйте Launch Services:

#!/usr/bin/env bash
open -a Firefox

Это запускает экземпляр Firefox, зарегистрированный в Launch Services. Преимущество состоит в том, что можно переместить комплект приложений вокруг, и он будет все еще работать, или люди Firefox могли переименовать двоичный файл, и он продолжит работать так или иначе.

2
ответ дан 24.11.2019, 06:55

Теги

Похожие вопросы