Объем набора osascript не работает через SSH
Вот моя ситуация
Пользователь A в настоящее время вошел в систему на компьютере A.
Пользователь B входит в компьютер A через ssh.
Пользователь B запускает через терминал osascript (osascript -e 'set volume 0'
)
вот мой журнал ошибок:
Oct 20 13:25:17 osascript[29389] <Error>: Set a breakpoint at CGSLogError to catch errors as they are logged.
Oct 20 13:25:17 osascript[29389] <Error>: This user is not allowed access to the window system right now.
Oct 20 13:25:17 osascript[29389] <Warning>: CGSConnectionByID: 0 is not a valid connection ID.
Oct 20 13:25:17 osascript[29389] <Warning>: CGSConnectionByID: 0 is not a valid connection ID.
Oct 20 13:25:17 osascript[29389] <Warning>: CGSConnectionByID: 0 is not a valid connection ID.
2015-10-20 13:25:17.196 osascript[29389:1503684] CFPasteboardRef CFPasteboardCreate(CFAllocatorRef, CFStringRef) : failed to create global data
2015-10-20 13:25:17.197 osascript[29389:1503684] CFPasteboardRef CFPasteboardCreate(CFAllocatorRef, CFStringRef) : failed to create global data
2015-10-20 13:25:17.197 osascript[29389:1503684] CFPasteboardRef CFPasteboardCreate(CFAllocatorRef, CFStringRef) : failed to create global data
2015-10-20 13:25:17.197 osascript[29389:1503684] CFPasteboardRef CFPasteboardCreate(CFAllocatorRef, CFStringRef) : failed to create global data
Oct 20 13:25:17 osascript[29389] <Warning>: CGSConnectionByID: 0 is not a valid connection ID.
_RegisterApplication(), FAILED TO establish the default connection to the WindowServer, _CGSDefaultConnection() is NULL.
Oct 20 13:25:17 osascript[29389] <Warning>: CGSConnectionByID: 0 is not a valid connection ID.
Oct 20 13:25:17 osascript[29389] <Warning>: CGSConnectionByID: 0 is not a valid connection ID.
Oct 20 13:25:17 osascript[29389] <Warning>: CGSConnectionByID: 0 is not a valid connection ID.
Примечания стороны Пользователь B установлен как администратор
Когда-то я вспоминал выполнение этой ситуации раньше без каких-либо ошибок. Не уверен, что это настройка ARD с привилегиями?
1 ответ
Я нашел альтернативу, которая, кажется, работает...
Если я добавлю
sudo -u username
перед osascript -e
команда, тогда это работает.
пример
sudo -u username osascript -e 'set volume 0'
Исходя из того, что чтение, кажется, что Apple не позволяет пользователям открывать приложения через сеанс SSH, пока другой пользователь вошел в систему. Для запуска необходимо войти в систему как текущий пользователь osascripts
в противном случае добавьте следующую команду sudo -u username