Запуск gvfs после сборки

Я пытаюсь запустить локальную сборку gvfs, Я следовал документу для новичков, чтобы настроить рабочую среду сборки, собирал gvfs из исходников и теперь пытаюсь выяснить, как его запустить.

В документах есть инструкции по запуску приложений или оболочки GNOME, в которых говорится, что мне нужно убить текущий экземпляр, а затем запустить недавно созданный двоичный файл с jhbuild run, как в:

$ killall gnome-weather
$ jhbuild run gnome-weather

или, в случае оболочки,

$ jhbuild run gnome-shell --replace

За gvfsЯ вижу, что он порождает несколько процессов (все дочерние элементы P1 работают под моей учетной записью), первый из которых (самый низкий PID) gvfsd, Поэтому я попробовал следующее:

$ killall gvfsd
$ jhbuild run gvfs

Что дает мне сообщение об ошибке:

jhbuild run: Unable to execute the command 'gvfs': [Errno 2] No such file or directory

Если вместо этого я пытаюсь

$ jhbuild run gvfsd

Я получаю то же сообщение. То же самое, когда я пробую любой из двух выше --replace,

поскольку gvfs это скорее демон, чем приложение, я немного обыскал и наткнулся на этот пост, который предлагает запускать демоны с

jhbuild run dbus-launch --exit-with-session name-of-daemon

Радости тоже нет... неважно, пользуюсь ли я gvfs или же gvfsd по имени я получаю сообщение об ошибке

Couldn't exec gvfs: No such file or directory

(сообщая имя, указанное в команде).

Это правильный способ запуска gvfs совсем? Если нет, то что? Если это так, как я могу узнать, что идет не так?

РЕДАКТИРОВАТЬ: Очевидно, код, который я собираюсь изменить, является частью gvfs-mtp-volume-monitor бинарный - но по сути то же самое и здесь. Как мне запустить собственную версию бинарного файла, а не ту, которая пришла с моим дистрибутивом ОС?

1 ответ

Решение

jhbuild run можно использовать для gvfs таким же образом.

За gvfsd сделайте следующее:

jhbuild run ~/jhbuild/install/libexec/gvfsd -r

-r переключатель говорит gvfsd заменить любую работающую версию. gvfsd также начнется gvfsd-fuse если он был построен, и вы не отключили его с помощью переключателя командной строки.

Вам также необходимо заменить любые мониторы томов (и другие необходимые вам процессы), такие как:

killall gvfs-mtp-volume-monitor
jhbuild run ~/jhbuild/install/libexec/gvfs-mtp-volume-monitor

Необходимо соблюдать осторожность со всем, что вызывается через dbus:

  • Пространства имен могут меняться между версиями. Если это произошло между версией, поставляемой с вашей ОС, и текущей, последняя не будет работать, если вы не настроите конфигурацию dbus, чтобы отразить это.
  • Если dbus используется для порождения процессов, он вернется к двоичным файлам, поставляемым с вашей ОС. Опять же, вам нужно изменить конфигурацию dbus (в частности, .service записи), чтобы указать на ваши двоичные файлы.
Другие вопросы по тегам