#macos #core-foundation
#macos #ядро-основа
Вопрос:
Мое приложение запускается от имени root
пользователя, но было запущено от обычного пользователя (администратора), например, с помощью sudo
команды (но не обязательно, т.Е. Я не могу просто проверить SUDO_USER
, например, env var).
Как я могу определить имя пользователя или его домашний каталог, который зарегистрирован в сеансе пользовательского интерфейса?
Есть ли функция Cocoa, Foundation или CoreFoundation, которая может предоставить мне эту информацию?
Комментарии:
1. Может быть, если вы добавили ‘родительскую’ переменную? Кто знает, может быть, код поможет.
Ответ №1:
Похоже, что переменная среды «HOME» остается установленной для вошедшего в систему пользователя, даже для приложений, работающих под управлением пользователя root. Итак, вот как получить домашнюю папку для этого пользователя:
NSString *homeDir = NSProcessInfo.processInfo.environment[@"HOME"];