xdg-open:即使在安装xdg-utils后也没有方法
我正在使用generator-angular-fullstack。 在我的本地机器的工作很好,我跑xdg-open:即使在安装xdg-utils后也没有方法
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.
可以在任何一个人解释我做错了什么?
您是否使用图形环境?如果您使用的是“树莓”,并且您通过ssh连接,并且没有配置为使用PhantomJS的“grunt”,则“Grunt”无法执行此任务。你必须强迫他继续“服务 - 强力咕噜”或设置“Gruntfile.js”
由于这个问题很久以前,我无法测试答案。是的,我没有使用GUI界面。也许这就是原因。 – Neo
我不是xdg-open
的专家,但我会试试这个。看起来你的包数据库有问题。另外,显示gruntfile会让事情变得更简单。
这里是要遵循的步骤:
-
识别所有
xdg-open
的。$ type -a xdg-open
xdg-open is /usr/bin/xdg-open
-
找出哪些软件包他们的一部分。
$ dpkg -S /usr/bin/xdg-open
xdg-utils: /usr/bin/xdg-open
-
你想要么重复上述
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
-
重新安装XDG-utils的。如果您想刷新此包的安装这样做:
$ sudo apt-get install --reinstall xdg-utils
我希望这有助于!
您是否尝试过配置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
编辑: 事实证明,一些旧系统(Ubuntu 10.04)没有xdg-settings
,并且update-alternatives
命令应自动配置xdg-open
。像这样:
sudo update-alternatives --config www-browser
你确定你已经安装了'xdg-open'吗?尝试从控制台运行它。其次建议:尝试将主机名更改为“0.0.0.0”。请告诉我们Gruntfile。 – raidendev