10LAUNCH(1) 0LAUNCH(1)
2
3
4
6 0launch - download and run programs by URL
7
8
10 0launch [OPTION]... INTERFACE [ARG]...
11
12 0launch --list [SEARCH-TERM]
13
14 0launch --import [INTERFACE-FILES]
15
16
18 0launch runs a program, identified by an `INTERFACE'. If the program is
19 not already on your computer, it downloads information about which ver‐
20 sions are available, and lets you choose one to download. It will also
21 (automatically) do the same for libraries the program needs.
22
23
24 0launch will also check for updates if it has been a long time since
25 the last check (configurable). 0launch therefore allows users to down‐
26 load and upgrade software without needing root access.
27
28
29 An INTERFACE can be either a URL in the form `http://site/program' or a
30 local path name like `/path/to/program.xml'. For HTTP URLs, the remote
31 file is a GPG-signed XML document. Local interface files are not
32 signed.
33
34
36 When a program is available using 0launch, it will have an associated
37 URL. To run the program, simply invoke 0launch with this as an argu‐
38 ment:
39
40 0launch http://rox.sourceforge.net/2005/interfaces/Edit
41
42
43 The first time you do this, details about the program are downloaded
44 and cached, and you will be prompted to confirm the versions to use. In
45 future, the program will run directly from the cache without confirma‐
46 tion.
47
48
49 To check for new versions:
50
51 0launch --refresh http://rox.sourceforge.net/2005/interfaces/Edit
52
53
54 To search the list of cached URLs:
55
56 0launch --list Edit
57
58
59 To avoid having to keep typing the full URI, use the 0alias(1) command
60 to create shortcuts to run your programs.
61
62
64 --before=VERSION
65 Choosen implementation's version number must be earlier than
66 VERSION. i.e., force the use of an old version the program.
67
68
69 -c, --console
70 Never use the GUI. Normally, 0launch switches to graphical mode
71 if it needs to download anything from the network (unless DIS‐
72 PLAY is not set).
73
74
75 -d, --download-only
76 Download any needed files, but stop before actually running the
77 program.
78
79
80 -D, --dry-run
81 Just print what actions would be taken.
82
83
84 -f, --feed
85 Register (or unregister) an additional source of implementa‐
86 tions. When you get a CVS version of a project, it may contain
87 an interface XML file. To add this version to the list of avail‐
88 able versions, use --feed on this XML file. The file is not
89 copied, so you don't need to re-add the file each time it is
90 updated.
91
92 Note that if you just want to run the program, you can invoke
93 0launch on the interface file directly (without using --feed).
94 This will force the injector to use that version, but won't
95 affect what happens when you run it using the URI as normal. Use
96 --feed when you want to use the CVS version even when using the
97 URI, or if the program is a library (and thus referenced by URI
98 by other programs).
99
100 Note also that the stability of CVS versions may be set to
101 'developer', in which case you must set this as the preferred
102 stability for the interface (using the GUI).
103
104
105 --get-selections
106 Instead of running the program, just print the set of chosen
107 implementations as an XML document to stdout. This can be used
108 later with --set-selections.
109
110
111 -g, --gui
112 Show the graphical policy editor. This allows you to select
113 which version of a program or library to use.
114
115
116 -h, --help
117 Show the built-in help text.
118
119
120 -i, --import
121 Import from files, not from the network. This is useful when
122 testing an interface file, to avoid uploading it to a remote
123 server in order to download it again. It might also be useful
124 when installing from a CD or similar. The file must have a
125 trusted GPG digital signature, as when fetching from the net‐
126 work. For unsigned interfaces, see --feed.
127
128
129 -l, --list
130 List all known interface (program) URIs. If a search term is
131 given, only URIs containing that string are shown (case insensi‐
132 tive).
133
134
135 -m, --main=MAIN
136 Run the specified executable instead of the default. If MAIN
137 starts with '/' then the path is relative to the implementa‐
138 tion's top-level directory, whereas otherwise it is relative to
139 the directory containing the default MAIN program. For example,
140 if the default MAIN is bin/svn then using --main=svnadmin will
141 run .../bin/svnadmin instead.
142
143
144 --not-before=VERSION
145 Choosen implementation's version number must not be earlier than
146 VERSION. E.g., if you want to run version 2.0 or later, use
147 --not-before=2.0.
148
149
150 -o, --offline
151 Run in off-line mode, overriding the default setting. In off-
152 line mode, no interfaces are refreshed even if they are out-of-
153 date, and newer versions of programs won't be downloaded even if
154 the injector already knows about them (e.g. from a previous
155 refresh).
156
157
158 -r, --refresh
159 Fetch a fresh copy of all used interfaces. This will normally
160 switch to GUI mode, unless --console is also given. Note that
161 using --refresh and --gui together will check for updates to the
162 GUI itself.
163
164
165 --set-selections=FILE
166 Instead of choosing suitable implementations using the policy,
167 run exactly the versions given in FILE. A suitable file can be
168 created using the --get-selections option described above.
169
170
171 -s, --source
172 The implementation of the main (root) interface must have an
173 architecture of the form '*-src' (normally a literal "*", but
174 could be a compatible OS). Dependencies are normal implementa‐
175 tions, not source ones.
176
177
178 -v, --verbose
179 More verbose output. Use twice for even more verbose output.
180
181
182 -V, --version
183 Display version information.
184
185
186 -w, --wrapper=COMMAND
187 Instead of executing the chosen program directly, run COMMAND
188 PROGRAM ARGS. This is useful for running debuggers and tracing
189 tools on the program (rather than on 0launch!). Note that the
190 wrapper is executed in the environment selected by the program;
191 hence, this mechanism cannot be used for sandboxing. See the
192 DEBUGGING section below.
193
194
196 To debug 0launch itself, use the --verbose and --console options. For
197 example:
198
199 $ 0launch -vvc http://myprog
200
201
202 To trace or debug programs run by 0launch, use the --wrapper option.
203 For example, to run myprog --help, displaying all calls to open(2):
204
205 $ 0launch --wrapper="strace -e open" http://myprog --help
206
207 If your program is interpreted (e.g. a Python program), and you wish to
208 debug the interpreter running it, you can do it like this:
209
210 $ 0launch --wrapper="gdb --args python" http://myprog --help
211
212
214 Configuration files (see freedesktop.org basedir spec):
215
216
217 ~/.config/0install.net/injector/global
218 Global configuration settings.
219
220
221 ~/.config/0install.net/injector/trust
222 List of trusted keys.
223
224
225 ~/.config/0install.net/injector/user_overrides
226 Per-interface settings, and extra feeds.
227
228
229 Cached data (can be re-downloaded if lost):
230
231
232 ~/.cache/0install.net/interfaces
233 Downloaded cached interface files.
234
235
236 ~/.cache/0install.net/implementations
237 Downloaded cached implementations, indexed by manifest digest.
238
239
240 See the 0store(1) man page for more information.
241
242
244 Copyright (C) 2007 Thomas Leonard.
245
246
247 You may redistribute copies of this program under the terms of the GNU
248 Lesser General Public License.
249
251 Please report bugs to the developer mailing list:
252
253 http://0install.net/support.html
254
255
257 The Zero Install Injector was created by Thomas Leonard.
258
259
261 0alias(1), 0store(1)
262
263 The Zero Install web-site:
264
265 http://0install.net
266
267
268
269Thomas Leonard 2006 0LAUNCH(1)