xdg-open:即使在安装xdg-utils之后也没有可用的方法

Neo*_*Neo 7 xdgutils express gruntjs yeoman

我正在使用generator-angular-fullstack.在我的本地机器上工作正常,我跑

 grunt serve
Run Code Online (Sandbox Code Playgroud)

它启动服务器,但在VPS中它失败了

Warning: Command failed: xdg-open: no method available for opening 'http://localhost:9000'
Run Code Online (Sandbox Code Playgroud)

我已经安装了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.
Run Code Online (Sandbox Code Playgroud)

谁能解释一下我做错了什么?

ldr*_*umm 6

您是否尝试过配置xdg-open处理程序?

另外,您确定在服务器上安装了浏览器吗?安装新浏览器apt-get install <browser>应该会自动xdg-open识别它.但是,您的设置可能没有这样做,具体取决于您的browser/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
Run Code Online (Sandbox Code Playgroud)

编辑: 事实证明,一些旧系统(ubuntu 10.04)没有xdg-settings,并且update-alternatives命令应该自动配置xdg-open.像这样:

    sudo update-alternatives --config www-browser
Run Code Online (Sandbox Code Playgroud)


Bau*_*eza 1

您使用的是图形环境吗?如果您使用“raspberry”并且通过 ssh 连接,并且没有配置“grunt”来使用 PhantomJS,则“Grunt”无法执行该任务。你必须强迫他继续“服务--force grunt”或设置“Gruntfile.js”