Мне нужно знать, работает ли моя программа на OSX в графической среде?
мы запускаем через ssh через консоль только канал?
на большинстве Unix я бы проверил на DISPLAY в переменных среды, но как вы проверяете это на OSX?
Мне нужно знать, работает ли моя программа на OSX в графической среде?
мы запускаем через ssh через консоль только канал?
на большинстве Unix я бы проверил на DISPLAY в переменных среды, но как вы проверяете это на OSX?
Насколько я понимаю, процесс loginwindow
не запускается, если OS X не запускается в режиме GUI (например, при загрузке в однопользовательском режиме или если это сервер, к которому вы подключаетесь через SSH).
Поэтому я предполагаю, что если grep в loginwindow
возвращает пустое, вы знаете, что машина не находится в режиме GUI, например:
ps auxww | grep "/System/Library/CoreServices/loginwindow.app/Contents/MacOS/loginwindow" | grep the_logged_in_username | grep -v "grep" | awk '{print $2}'
вернет PID loginwindow
если процесс запущен, или ничего не вернет, если процесс не запущен.
Обратите внимание, что я не проверял, это просто идея, я не знаю точно, работает ли она ...