How to use XULRunner to run SQLite Manager outside of Firefox in Mac OS X Lion?

扶醉桌前 提交于 2019-12-10 10:54:23

问题


I have installed XULRunner 11.0 (xr) from here:

Downloads - sqlite-manager - Extension for Firefox and other apps to manage any sqlite database - Google Project Hosting

I have followed the steps listed here:

kiveo - Mac SQLite Manager Standalone App

I have read and tried the suggestions here (though they're for version 6.0):

stackoverflow: How to Install and run a XulRunner Application on Mac OS X?

I am able to get the help listing with this command:

/Library/Frameworks/XUL.framework/xulrunner-bin -h

I am able to run the app from Firefox using this command (after changing the max version in sqlitemanager-xr-0/application.ini to 11.0 from 11.0a1):

/Applications/Firefox.app/Contents/MacOS/firefox --app ~/Downloads/sqlitemanager-xr-0/application.ini

Here are the contents of the application.ini file:

[App]
Name=sqlite-manager
ID=SQLiteManager@mrinalkant.blogspot.com
Version=0.7.7
BuildID=201111132204
Vendor=lazierthanthou
Copyright=Copyright (c) 2008 - 2011 lazierthanthou

[Gecko]
MinVersion=2.0
MaxVersion=11.0

[XRE]
EnableExtensionManager=1

When I run the following command in Terminal, with or without sudo, it just immediately returns to the command prompt. There are no error messages. No application appears under Applications. Nothing seems to happen at all. (And, despite the stackoverflow page above noting that --install-app may not really be supported, it is in the XULRunner help listing - which I guess doesn't necessarily mean it'll work ;)

/Library/Frameworks/XUL.framework/xulrunner-bin --install-app Downloads/sqlitemanager-xr-0/ /Applications

Following a suggestion below, I checked for an exit code. The line above is returning 2.

Help?


回答1:


Just like you did with Firefox, this command should run your app:

/Library/Frameworks/XUL.framework/xulrunner-bin --app ~/Downloads/sqlitemanager-xr-0/application.ini

Also, the --app switch is optional within XULRunner.




回答2:


Here's how you can make a self-contained application you can run from the Dock.

Use the xulrunner --install-app command to create the application and then copy all contents of XUL.framework/Versions/Current into the generated application at /Applications/sqlite-manager.app/Contents/MacOS.

You can then create a wrapper script that runs the xulrunner within the generated app with the application.ini file as described here.

For example, put the following into sqlite-manager.app/Contents/MacOS/sqlite-manager and make it executable.

#!/usr/bin/env bash

APP_PATH="/Applications/sqlite-manager.app"

"$APP_PATH/Contents/MacOS/xulrunner" --app "$APP_PATH/Contents/Resources/application.ini"

Now you have to tell OS X to run sqlite-manager instead of xulrunner. You can do that by editing sqlite-manager.app/Contents/info.plist and setting CFBundleExecutable to sqlite-manager like this:

<key>CFBundleExecutable</key>
<string>sqlite-manager</string>

The only limitation of this approach is that it breaks when you move the application or rename it. I'd love suggestions on how to get rid of the absolute path within the sqlite-manager script.




回答3:


try this:

firefox -chrome chrome://sqlitemanager/content/sqlitemanager.xul

or on OS X

/Applications/Firefox.app/Contents/MacOS/firefox -chrome chrome://sqlitemanager/content/sqlitemanager.xul

(found on http://www.egeek.me/2013/09/07/how-to-run-sqlite-manager-with-a-single-command/)

works fine for me on UBUNTU 12.04 to start sqlite manager without starting firefox first




回答4:


If the install was successful, I think the app should be available in some usual place for your system (which wasn't mentioned, but I'm guessing OSX :). Have you looked under /Applications?

To see whether the command failed quietly, you could check its return value. Is there a verbose switch?

$ cd narnia
bash: cd: narnia: No such file or directory
$ echo $?
1
$ cd .
$ echo $?
0
$ cd narnia && echo "success"
bash: cd: narnia: No such file or directory
$ cd . && echo "success"
success


来源:https://stackoverflow.com/questions/10017206/how-to-use-xulrunner-to-run-sqlite-manager-outside-of-firefox-in-mac-os-x-lion

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!