Я включил родительский контроль на MacBook Pro моего сына (OS X 10.8.1, Mountain Lion) и ограничил приложения, которые может использовать его учетная запись. Все отлично работает за исключением Майнкрафта (конечно самое главное для него приложение). Minecraft помечен как приложение, которое ему разрешено использовать в настройках родительского контроля.
Когда я пытаюсь запустить Minecraft под его учетной записью, появляется сообщение о том, что ему не разрешено запускать его, предоставляя следующие три варианта:
При нажатии Allow One Time
я должен ввести имя пользователя и пароль учетной записи администратора, и игра запускается без проблем. Но когда я нажимаю Always Allow
, он также запрашивает учетную запись администратора, но затем снова появляется то же сообщение. Я проверил, что использую правильное имя пользователя и пароль учетной записи администратора, но игра по-прежнему отказывается запускать игру.
Когда я отключаю родительский контроль, все работает, но когда я включаю его снова, он не работает, несмотря на наличие Minecraft в списке разрешенных приложений для его учетной записи.
В Console
приложении я вижу следующее странное сообщение об ошибке всякий раз, когда это происходит:
com.apple.launchd.peruser.501[148]:
([0x0-0x11c11c].com.Mojang Specifications.Minecraft.Minecraft[1216])
Job failed to exec(3) for weird reason: 13
Кто-нибудь еще сталкивался с этим или знает, как это исправить?
Это дало мне достаточно информации, чтобы исправить программу запуска Minecraft. Предыдущий ответ работает, но имеет уродливое название меню, из-за которого мой сын будет приставать ко мне. Поэтому вместо этого я исправил настройку Minecraft.app.
Вкратце, в терминале:
cd /Applications/Minecraft/Contents/MacOS
mv JavaApplicationStub Minecraft
cat > JavaApplicationStub << EOF
#!/bin/sh
exec `dirname $0`/Minecraft "$@"
EOF
chmod +x ./JavaApplicationStub
По сути, может показаться, что ParentalControls ожидает, что запускаемое приложение будет соответствовать имени исполняемого файла (что не относится к распределенному приложению: это Minecraft.app и JavaApplicationStub), поэтому, перемещая исполняемый файл в соответствии с именем приложения, оно работает. Мне пришлось создать сценарий оболочки, чтобы фактически выполнить исполняемый файл, потому что в противном случае я получил «Путь не найден».
Это, казалось, сработало.
Я разместил это здесь только потому, что это сработало для меня. Если вы снова не понимаете блок кода, имейте в виду, что вам, возможно, придется повторно загрузить приложение (или сначала сделать копию).
Я разместил тот же вопрос на форумах поддержки Apple здесь - похоже, у многих людей такая же проблема, но пока нет ответов.
Между тем, я работал над этим, и мне удалось заставить его работать на MacBook Pro моего сына. Вот что я сделал:
Я добавил сценарий оболочки MyMinecraft
со следующим содержимым:
#!/bin/bash
java -jar -Xms512m -Xmx1024m /Applications/Minecraft.app/Contents/Resources/Java/MinecraftLauncher.jar
После сохранения этого файла я сделал его исполняемым (либо через Finder Show Info , либо с помощью chmod +x MyMinecraft
терминала) и попытался запустить его из учетной записи моего сына. Он работал нормально и запустил Minecraft. Все идет нормально.
Чтобы сделать его немного красивее, я создал настоящее приложение для Mac из скрипта — для этого есть несколько вариантов:
MyMinecraft.app/Contents/MacOS
и переместите MyMinecraft
туда скрипт. Теперь вы можете добавить оригинальный значок Minecraft через диалоговое окно « Показать информацию » в Finder.Двойной щелчок по значку MyMinecraft теперь должен запускать Minecraft.
Когда вы используете /Applications/Utilities/Console.app для поиска ошибок и получаете:
Job failed to exec(3) for weird reason: 13
... обычно это проблема с разрешениями. Симптом заключается в том, что вы нажмете на приложение, и оно вообще не запустится. Вам нужно будет сделать исполняемый двоичный файл приложения для текущего пользователя.
Я делаю это, открывая /Applications/Utilities/Terminal.app и выполняя следующую команду:
chmod u+x <Application.app>/Contents/MacOS/<application binary>
<Application.app>
необходимо изменить на местоположение приложения и <application binary>
на имя двоичного файла.
Для Minecraft, если он находится в корневой /Applications
папке, команда будет такой:
chmod u+x /Applications/Minecraft.app/Contents/MacOS/JavaApplicationStub
Если он находится в /Users/jsmith/Applications
, где jsmith
будет ваше имя пользователя на вашем Mac, команда будет выглядеть так:
chmod u+x /Users/jsmith/Applications/Minecraft.app/Contents/MacOS/JavaApplicationStub
chmod
это команда для изменения режимов файлов или списков контроля доступа. Вы можете прочитать руководство chmod
, выполнив команду: man chmod
В этом случае мы разрешаем выполнение файла текущим пользователем. Так u+x
что означает «пользователь добавляет разрешение на выполнение». Если вы хотите сделать исполняемый файл доступным для всех пользователей, вы должны изменить u+x
приведенные выше команды на a+x
.
Надеюсь, это поможет.
Ответ на эту проблему связан с датой. Если вы измените системную дату на что-то до 2008 года, это вызовет эту проблему.
Сбросьте дату - затем «Всегда разрешать» приложение и вуаля!
программист-любитель
нвинклер