Я имею странную проблему и надеялся, возможно, что кто-то там смог давать мне некоторое понимание. Отчасти в недоумении.
На Linux Mint с помощью Немо, который имеет тенденцию отказать время от времени с раздражающим побочным эффектом смещения набора моих значков на рабочем столе. Я думал, что просто запишу быстрый сценарий, который вывел бы местоположения всех моих значков к текстовому файлу один раз в день и затем другому, чтобы изменить местоположение их назад, где они, как предполагается, находятся.
Это работает отлично, когда я выполняю его вручную, но не, когда это пробегает крон.
Я выяснил, что проблема сводится к gvfs-информации. В основном я использую команду:
gvfs-info -a 'metadata::nemo-icon-position' /path/to/file
который произведет:
metadata::nemo-icon-position: 220,682
в выводе.
gvfs-информация, однако, должна общаться с dbus-демоном для получения метаданных, потому что это на самом деле хранится в ~/.local/share/gvfs-metadata/. Это не может получить доступ к dbus-демону, когда это порождается от крона (или sudo или ssh в этом отношении) — факт, я обнаружил здесь и здесь который предлагает возможное решение.
После того решения я могу успешно выполниться от терминала:
dbus-launch --exit-with-session /path/to/myscript.sh
и это работает как ожидалось. Однако это все еще производит тот же вывод без метаданных. Я попробовал много перестановок того, где я назвал dbus-запуск и в комбинациях с 'su пользователь', чтобы гарантировать, что он на самом деле работает как мой пользователь, но я предполагаю, что просто не понимаю то, что продолжается здесь очень хорошо.
У кого-либо есть какие-либо мысли?
комментарий @steeldriver был точно, в чем я нуждался (Спасибо!).
я поднялся ниже от , Как изменить Gsettings через удаленную оболочку , и это было точно, в чем я нуждался!
PID=$(pidof -s nemo)
QUERY_ENVIRON="$(tr '\0' '\n' < /proc/${PID}/environ | grep "DBUS_SESSION_BUS_ADDRESS" | cut -d "=" -f 2-)"
export DBUS_SESSION_BUS_ADDRESS="${QUERY_ENVIRON}"
я использовал 'Немо', потому что я знаю, что это работало бы в моей настольной среде.