Detectar a presença de um servidor gráfico no OSX?

3

Eu preciso saber se meu programa em execução no OSX está em um ambiente gráfico capaz?

estamos rodando via ssh através de um único canal de console?

na maioria dos unix eu testaria o DISPLAY nas variáveis de ambiente, mas como você testa isso no OSX?

    
por tinyfiledialogs 12.11.2016 / 12:52

1 resposta

2

Entendo que o processo loginwindow não está em execução se o OS X não for iniciado no modo GUI (como quando você inicializa no modo de usuário único ou se este é um servidor ao qual você está se conectando via SSH).

Então, suponho que, se um grep em loginwindow retornar vazio, você sabe que a máquina não está no modo GUI, por exemplo:

ps auxww | grep "/System/Library/CoreServices/loginwindow.app/Contents/MacOS/loginwindow" | grep the_logged_in_username | grep -v "grep" | awk '{print $2}'

retornaria o PID de loginwindow se o processo for iniciado ou não retornará nada se o processo não for iniciado.

Note que eu não testei, é só uma ideia, não sei ao certo se funciona ...

    
por 18.11.2016 / 14:09

Tags