У меня очень неустойчивая проблема (и теперь постоянный сбой) при запуске gnu-screen на OSX из hudson.У меня есть сценарий оболочки, который делает только это:
#!/bin/bash
screen -dm -S foobar
Из командной строки как пользователь hudson это работает просто отлично, и этот сеанс экрана отображается с screen -ls.Из задачи Гудзона это не работает.Раньше он работал несколько часов, и я понятия не имею, почему он больше не работает.
Что я пробовал до сих пор:
- Поместите команду экрана вотдельный скрипт bash.Например./tmp/foo.sh
- Поставить префиксы пути, если экранная команда не найдена.Но screen -ls работает просто отлично, так что это не так
- Запустите экран в автономном режиме, просто как тест.Это терпит неудачу, как и ожидалось, с «Должен быть подключен к терминалу».Так что это означает, что экран, по крайней мере, думает о том, чтобы делать правильные вещи.
- Запустить экран как LaunchDaemon, который я начинаю с launchctl (создайте файл plist как OnDemand).Та же проблема.
Есть ли способ, как я могу отладить происходящее?Я не могу придумать, как понять, почему что-то не работает, и у меня совершенно нет идей.И я не вижу журналов, которые могли бы помочь.
Моя система: OSX 10.6.5;версия экрана4.00.03
Обновление: Я просто подумал заглянуть в /var/log/system.log и вижу:
Feb 24 23:19:00 macmini2 com.apple.launchd[1] (0x1037c0.anonymous.screen[57291]): Switching sessions is not allowed in the system Mach bootstrap.
Feb 24 23:19:00 macmini2 com.apple.launchd[1] (0x1037c0.anonymous.screen[57291]): _vprocmgr_switch_to_session(): kr = 0x44c
У меня будеткажется, что исследовать это дальше, но я не хочу идти по пути, предложенному в моей первой паре поисков этой ошибки, которая заключается в установке fink-версии экрана или создании экрана из исходного кода.Я предпочел бы оставить машину как есть, если это вообще возможно (хотя я не против компиляции экрана из исходного кода, если это единственное решение).