Я использую эту команду в своем сценарии удара.
somePassw=$(/usr/bin/secret-tool lookup some-login $someLogin 2>secret-tool.log)
Это работает отлично в командной строке. Но если скрипт запущен от crontab, я вижу следующие сообщения в журнале:
secret-tool.log:
(secret-tool:6289): GLib-GObject-CRITICAL **: 15:02:01.285: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
secret-tool: Unable to autolaunch a dbus-daemon without a $DISPLAY for X11
Те же ошибки, которые я вижу в терминале, если я вхожу sudo -E secret-tool lookup...
Но я создал свое crobtab задание без корневых полномочий. Как я могу избавиться от этих ошибок? Ubuntu 18.04.3 LTS (gdm3)
Простой ответ, "Вы не можете".
secret-tool
использование $DISPLAY
переменная, чтобы найти, что GUI отображает материал.
Пробежка cron
, нет никакого GUI.
Можно было скопировать $DISPLAY
переменная от среды GUI до cronjob (и читают man xhost
), но это сделало бы secret-tool
подсказки появляются на Вашем экране, который побеждает цель cron
.
Кроме того, потому что secret-tool
соглашения с Аутентификацией, это могло бы обнаружить и запретить эту ситуацию или, возможно, нуждалось бы в других переменных среды.