3

Мне нужно знать, работает ли моя программа на OSX в графической среде?

мы запускаем через ssh через консоль только канал?

на большинстве Unix я бы проверил на DISPLAY в переменных среды, но как вы проверяете это на OSX?

1 ответ1

2

Насколько я понимаю, процесс 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 если процесс запущен, или ничего не вернет, если процесс не запущен.

Обратите внимание, что я не проверял, это просто идея, я не знаю точно, работает ли она ...

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