And again Dbus is running.
Нет, это явно не так. И это тоже был не последний раз.
В вашем списке процессов показан только системный -широкий посредник шины рабочего стола. Обратите внимание на
--system
в аргументах команды и тот факт, что процесс запущен не так, как вы .Когда вы запускаете
systemctl
с опцией--user
, он общается с вашим -пользовательским экземпляромsystemd
через вашего -пользовательского брокера шины рабочего стола.На самом деле ни один из них не работает.
Скорее всего, вы обнаружите, что запуск экземпляра
systemd
для каждого пользователя -также запускает Desktop Broker для каждого пользователя -. Первый управляет вторым, и устройствоdbus.socket
(из/usr/lib/systemd/user/dbus.socket
), вероятно, уже включено для вашего диспетчера служб -для каждого пользователя. (Обратите внимание, что должен быть включен блок сокета , а не сервисный блок .)Таким образом, на самом деле это тот же ответ, что и раньше, хотя он не был явным в последних вопросах и ответах. :Убедитесь, что ваш -пользовательский экземпляр
systemd
запущен, и убедитесь, что он запускается ваш брокер Desktop Bus на -пользователей. Вы можете запустить шаги, которыеpam_systemd
выполняются вручную, чтобы убедиться, что они работают сами по себе. Затем убедитесь, чтоpam_systemd
действительно вызывается как часть вашей процедуры входа в систему.И имейте в виду, что
su
не является механизмом входа в систему . Он работает в рамках существующего интерактивного сеанса входа в систему. Если вы не входите в систему как рассматриваемая учетная запись, перехватчики systemd не будут активировать экземпляр systemd для каждого -пользователя для этой учетной записи.Дополнительная литература
- Джонатан де Бойн Поллард (2014 ).Не злоупотребляйте su за отказ от привилегий пользователя. Часто задаваемые ответы.
- Леннарт Поттеринг и др. (2017 ).
pam_systemd
. справочные страницы systemd . Freedesktop.org.- https://unix.stackexchange.com/a/423648/5132
- https://unix.stackexchange.com/a/427917/5132
- https://unix.stackexchange.com/a/407863/5132
Для одного -вкладыша вы можете сначала удалить все запятые и кавычки.
awk '/Value/ { gsub(/[",]/,""); print $2}'
Лучший перевод вашего awk | sed конвейер будет
awk '/Value/ { gsub(/[",]/,"",$2); print $2}'
, чтобы просто изменить значения во втором поле.
Использование jq
для разбора значения клавиши Value
в структуре верхнего -уровня Parameter
:
aws ssm get-parameter --name /mysite/dev/email | jq -r '.Parameter.Value'
Это дополнительно декодирует любую кодировку JSON значения, так что значение, которое хранится в JSON как \"The Admin\" <admin@example.com>
, возвращается как "The Admin" <admin@example.com>
.