[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Fwd: [Plash] Re: Zero-install and Plash
From: |
Mark Seaborn |
Subject: |
Fwd: [Plash] Re: Zero-install and Plash |
Date: |
Sat, 29 Jul 2006 18:11:28 +0100 (BST) |
Here are some e-mails from an off-list discussion about Plash and
Zero-install.
Subject: Re: Zero-install and Plash
From: "Thomas Leonard" <address@hidden>
To: "Mark Seaborn" <address@hidden>
Date: Sun, 16 Jul 2006 18:25:03 +0100
On 7/16/06, Mark Seaborn <address@hidden> wrote:
Hi Mark,
> What do you think would be necessary to get zero-install to run
> programs under Plash? This is something I have been interested in
> doing since I found out about zero-install when somebody mentioned it
> on the cap-talk mailing list.
It's possible to do it manually already, but using 'download-only'
followed by 'offline' mode:
plash$ !!0launch --download-only URI
plash$ 0launch --offline URI ARGUMENTS + ~/.cache/0install.net
(read access to ~/.cache/0install.net could be added to the default environment)
The first command writes to the cache but doesn't run anything, while
the second runs it but without write access to the cache.
My current thoughts are:
Provide a '0launch-restricted' command whose interface is the 'safe'
subset of 0launch's (e.g., you MUST use '--download-only'). When
0launch is run, it checks whether it needs to download anything. If
not, it runs the program. If it does, it runs 0launch-restricted (a
plash executable object) to get it in the cache first.
This is pretty easy to do, because it's the same check that we already
do to decide whether to switch to GUI mode.
Some minor issues:
- When running without a GUI, it confirms that you trust new keys by
reading from stdin, which I guess we wouldn't trust?
- The GUI will always label the button 'Download' rather than
'Execute'. Maybe it should just always say 'OK' to avoid confusion.
How to you plan to support configuration settings?
> I think the hard part is working out how to grant authority to the
> zero-installed program.
> For a GUI editor we could generate a .desktop file (similar to how
> 0alias creates scripts) and associate it with file extensions such
> that when a file is double-clicked, the editor is launched with the
> right to access the file.
I'd probably do that at the filer level (which is the graphical
equivalent the interactive plash shell). Seems strange to be only
sandboxing zero-install programs and not others.
> I have in mind an installer GUI similar to the one in Polaris:
> http://www.hpl.hp.com/personal/Alan_Karp/polaris.pdf
> http://en.wikipedia.org/wiki/Polaris_%28computer_security%29
>
> Do you have any way to set up file type associations at the moment?
Depends on the desktop, but in ROX you install a new application like this:
- Drag new application's link from the web browser to AddApp.
- Save the launcher somewhere.
If you want it to handle files:
- Open the menu over a file in ROX-Filer, and do 'Set Run Action...'.
Drag the new launcher into the dialog box.
i.e., the user sets associations and chooses the launcher location,
rather than the application doing it (as on Windows). Default
associations are set by ROX-Defaults (a dependency of ROX-Session)
which can associate pretty much everything by default, because the
apps get downloaded on demand (e.g., the first time you click on a
.zip file, you'll be prompted to choose a version of Archive with
which to open it).
--
Dr Thomas Leonard http://rox.sourceforge.net
GPG: 9242 9807 C985 3C07 44A6 8B9A AE07 8280 59A5 3CC1