xdg-open: метод недоступен даже после установки xdg-utils

Я использую генератор-радиально-fullstack. На моей локальной машине он работает нормально, я бегу

 grunt serve

он запускает сервер, но в VPS он терпит неудачу

Warning: Command failed: xdg-open: no method available for opening 'http://localhost:9000'

и я уже установил xdg-utils

 $ sudo apt-get install xdg-utils
 Reading package lists... Done
 Building dependency tree       
 Reading state information... Done
 xdg-utils is already the newest version.

может кто-нибудь объяснить мне, что я делаю неправильно?

3 ответов


вы используете графическую среду? Если вы используете "малину", и вы подключаетесь через ssh, и у вас нет" grunt", настроенного на использование PhantomJS," Grunt " не может выполнить задачу. Вы должны заставить его продолжать "служить-заставлять хрюкать" или установить "хрюкать".js"


вы пробовали настроить xdg-open обработчики?

кроме того, вы гарантировали, что у вас установлен браузер на вашем сервере? Установка нового браузера с помощью apt-get install <browser> должно автоматически сделать xdg-open осознает это. Однако ваша установка, возможно, не сделала этого в зависимости от порядка установки Вашего браузера/xdg-utils.

чтобы сделать вещи вменяемыми снова требует запуска xdg-settings.

установить http:// обработчик вашего предпочтительного браузера (который на безголовый сервер, скорее всего, будет w3m, lynx или elinks), сделайте следующее:

xdg-settings set default-web-browser w3m.desktop

чтобы проверить, вы можете запустить xdg-open https://stackoverflow.com/questions/24683221 и вы должны увидеть свой ответ в w3m.

если у вас нет w3m доступно, установите его с sudo apt-get install w3m

вы можете увидеть другие доступные обработчики, запустив xdg-settings --list, который в моей системе выводит следующее:

Known properties:
  default-url-scheme-handler    Default handler for URL scheme
  default-web-browser           Default web browser

EDIT: Оказывается, что некоторые старые системы (ubuntu 10.04) не имеют xdg-settings, и update-alternatives команда должна автоматически настроить xdg-open. Вот так:

    sudo update-alternatives --config www-browser

Я не эксперт с xdg-open но я попробую. Похоже, что есть проблема с вашей базой данных пакетов. Кроме того, показ gruntfile облегчит ситуацию.

вот шаги, чтобы следовать:

  1. определить все xdg-open ' s.

    $ type -a xdg-open

    xdg-open is /usr/bin/xdg-open

  2. узнайте, какие пакеты они являются частью из.

    $ dpkg -S /usr/bin/xdg-open

    xdg-utils: /usr/bin/xdg-open

  3. вы хотите либо повторить выше dpkg -S .. для каждого матча возвращается type -a или использовать dpkg -S .. вместо поиска. Я буду делать все по очереди.

    $ dpkg -S xdg-open

    xdg-utils: /usr/bin/xdg-open

    xdg-utils: /usr/share/man/man1/xdg-open.1.gz

  4. переустановка xdg-utils. Если вы хотите обновить установку этого пакета, сделайте это:

    $ sudo apt-get install --reinstall xdg-utils

надеюсь, это поможет!