4

Я хочу послать URL-адрес с переменными на сервер, который будет отслеживать, когда кто-то присутствует, основываясь на том, когда он входит и выходит из своей рабочей станции.

Я попытался установить LoginHook в com.apple.loginwindow в "/Users/Username/Desktop/script.sh". script.sh работает, когда я выполняю его самостоятельно из терминала, но не запускается из LoginHook .

Сценарий выполняет следующее, где $USER должно быть именем пользователя, вошедшего в систему:

curl -kd "author=$USER&type=inout&message=in" https://some.server.com/timetrack

1 ответ1

2

Использование LoginHook и LogoutHook как описано в разделе Как запустить сценарий при входе / выходе из системы в OS X? вероятно, будет самый простой подход. Это считается устаревшим, но работает до 10.8 и может даже работать за пределами этого.

Убедитесь, что ваш скрипт имеет правильный hashbang, чтобы процесс запуска знал, как его выполнить. В конце концов, ваш скрипт может быть чем угодно, от Ruby до Python или просто Bash.

Так, например:

sudo defaults write com.apple.loginwindow LoginHook /usr/local/bin/curl.sh

И /usr/local/bin/curl.sh :

#!/bin/bash
curl -kd "author=${1}&type=inout&message=in" https://some.server.com/timetrack

Чтобы получить доступ к входящему в систему пользователю, вам нужно использовать $1 вместо $USER поскольку последняя является переменной, которая существует только в реальной среде оболочки, которая не существует, если вы используете сценарии входа.

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