Запуск 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
записи), чтобы указать на ваши двоичные файлы.