linux 使用xulrunner的单文件应用程序-可能吗?

vawmfj5a  于 2023-04-29  发布在  Linux
关注(0)|答案(2)|浏览(132)

我以前试过搞砸xulrunner,现在我又试了一次:)
实际上,“真实的的”教程(XULRunner - MDN入门)展示了一个应该有application.ini和其他文件(* 可能是压缩的)。xpi,然后需要--install-app ... *),然后调用应该是这样的:

xulrunner `pwd`/application.ini

然而,我希望有一种更简单的启动方式--因此,我希望使用单文件XUL应用程序的方法:)(* 这里需要注意的是,也不能使用压缩的。xpi作为xulrunner的参数,参见XULRunner question - DonationCoder.com *)
问题是,我几乎100%肯定,在过去的某个时候,我使用过一个简单的单文件XUL应用程序,如(伪代码):

xulrunner my-xul-app.extension

...但我不记得它是如何进行的:)那么,这可能用xulrunner实现吗?还是只可能用firefox实现?
在我记忆中,我使用了类似于'my-xul-app的东西。xul' file(* 作为单文件应用程序 ),它只指定一个窗口,比如说,一个按钮( 由于缺少javascript*,它实际上不能做任何事情)-现在我想重复同样的事情,以刷新我的记忆(* 除非我混淆了当时的一些事情:)*)
首先,我找到了HOWTO: Getting Started with Linux Standalone Apps using XUL - Ubuntu Forums(2007),并将其中使用的example.xul文件修改为:

<?xml version="1.0"?>
<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
<window
id = "myapp"
title = "SQLite Example"
height = "420"
minHeight = "420"
width = "640"
minWidth = "640"
screenX = "10"
screenY = "10"
sizemode = "normal"
xmlns = "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" >
<spacer style = "height: 4px; cursor: default;" />
</window>

我正尝试按照链接中的建议“运行”这个,使用:

firefox -no-remote -chrome file:$PWD/example.xul

... Firefox打开时,窗口大小为1x 1像素;如果你能找到把手,你可以把Windows拉长,然后读:
远程XUL
此页面使用了不受支持的技术,在Firefox中默认情况下不再可用。
哎哟:(这个问题的答案(* 像How do I fix the Remote XUL error I get when using Firefox 4.x and the Webmail Advanced Interface? *)似乎与 * 实际远程 * xul有关(并推荐一个插件来处理);但我想要的只是在本地运行一个文件?“远程”的部分从何而来?
另外,看到火狐开关'-app'(Using Firefox 3 as a XUL runtime environment);虽然它指的是application.ini,但我试了一下:

firefox -no-remote -app $PWD/example.xul

Firefox像往常一样开始了。
顺便说一句,我在firefox --help中既看不到-app也看不到-chrome命令行选项;)
但实际上,我并不真的想使用firefox作为引擎-只是xulrunner;我尝试了Firefox的方法,因为我认为它和xulrunner差不多;事实证明它不是(即使你使用application.iniWhy does 'firefox -App application.ini' and 'xulrunner application.ini' behave differentely? | Firefox Support Forum):
在任何情况下,如果我只运行xulrunner(如我所愿),我会得到:

$ xulrunner example.xul 
Error: App:Name not specified in application.ini

所以,我可以看到一切都指向“单一源文件”应用程序不可能与xulrunner-但我只是想确保(以防我错过了一些晦涩的教程:))。如果不是,有人记得在以前的时间点是否可能吗?
PS:

$ firefox --version
Mozilla Firefox 7.0.1
$ xulrunner --version
Mozilla XULRunner 2.0 - 20110402003021
$ uname -r
2.6.38-11-generic
$ cat /etc/issue
Ubuntu 11.04 \n \l
gjmwrych

gjmwrych1#

我不相信你可以创建单文件XULRunner应用程序。-chrome <...>参数可能曾经工作过,我猜“远程XUL”错误来自URL是file://,而不是chrome://。
您可以使用类似Live XUL Editor in the Developer Assistant(以前是Extension Developer的扩展)的东西来快速测试XUL。
这些天我听到的一般想法是,你应该写HTML5,只要你可以,因为它是更积极的开发,更知名的技术,更少的不兼容的变化和更好的工具。..

ioekq8ef

ioekq8ef2#

这是我为另一个related question写的答案,在这里复制,因为它可能会帮助那些想知道如何打包XUL应用程序的人。
太糟糕了,xulrunner不能运行一个zipped。xpi或.xulapp,但也可以将您的大部分。js、.xul、.css和.png文件到jar中,然后用xulrunner的私有副本 Package 所有内容,而无需运行--install-app
这些是我打包XUL应用程序的步骤。
第一步是把你所有的文件(除了 application。inichrome.manifestprefs。js)转换为a .像这样的jar文件(所有这些都是在Windows下进行的,对Linux和OSX进行适当的调整)

zip -r d:\download\space\akenispace.jar * -i *.js *.css *.png *.xul *.dtd

然后在d:\download\space中,按如下方式布局文件:

D:\download\space\akenispace.jar
D:\download\space\application.ini
D:\download\space\chrome.manifest
D:\download\space\defaults
D:\download\space\defaults\preferences
D:\download\space\defaults\preferences\prefs.js

文件的内容如下

***应用程序。中文(简体)

[App]
Vendor=Akeni.Technologies
Name=Akeni.Space
Version=1.2.3
BuildID=20150125
Copyright=Copyright (c) 2015
ID=space@akeni.com

[Gecko]
MinVersion=1.8
MaxVersion=35

浏览器清单

content     akenispace             jar:akenispace.jar!/chrome/content/
skin        akenispace    default  jar:akenispace.jar!/chrome/skin/
locale      akenispace    en-US    jar:akenispace.jar!/chrome/locale/en-US/
resource    akenispace             jar:akenispace.jar!/chrome/resource/

prefs.js

pref("toolkit.defaultChromeURI", "chrome://akenispace/content/space.xul");

现在您可以将这些文件放入您的。wxs for WiX并生成一个MSI文件用于Wndows。
当然,您还需要包含XULRunner的所有文件。

相关问题