Re: [Rd] Revision of shell.exec?

From: Simon Urbanek <>
Date: Wed, 14 Sep 2011 11:35:53 -0400

On Sep 14, 2011, at 11:08 AM, Brian Oney wrote:

> Hi Steve,
> a quick look at "browseURL" will tell you that indeed "system" or "shell.exec" (on a windows platform) is used to open up a URL.
> The "open " part of the proposed function was written to work on a Mac. Because Mac is a unix platform, I assumed that the function "open" would be omnipresent on unix platforms, my mistake.

Well, the problem is that "open" is unfortunately mapped to openvt on Linux systems which is a quite obscure anachronism. But since Linux is Linux there is no standard way to open a file, so it doesn't really matter ;) -- xdg-utils come closest to what one may call standard but on many systems they are not installed by default (in fact on none of the Linux machines I have around). For URLs R does the hard work to try to figure out what to do with them (it also does the same for PDFs), but you may end up opening things in a browser although that's not what you had in mind.

> Well I guess, we know how to make to work on a mac. >

Yes, "open" works very well on Macs and is extremely useful (I use it all the time - among other things you can use it with directories to browse them...) - it is still beyond me why other unices don't bother ...


> I will make the transition to Linux and get back to this in a while, ok?
> Cheers,
> Brian
> On 9/14/2011 2:50 PM, Stephen Weston wrote:
>> 2011/9/14 Uwe Ligges<>:
>>> On 14.09.2011 12:27, Brian Oney wrote:

>>>> Hi List,
>>>> I hope this is correct list to propose function extensions, sorry if not.
>>>> I am preparing for a (hopefully painless) migration to linux. As far as
>>>> I am aware of, the function "shell.exec" only comes with the windows
>>>> version. I think this is a handy little function and would like to see
>>>> my scripts work when I migrate.
>>>> May I propose something (like the following)?
>>>> open.file<- function(file) {
>>>> if(.Platform$OS.type=="windows") {shell.exec(file)} else
>>>> {system(paste("open ",file))}
>>>> }
>>>> Or just a small addition to the shell.exec function and no new named
>>>> function.
>>>> Hope the idea isn't received as "too stupid".
>>> What is "open" supposed to do on a non-Windows machine? I do not have it on
>>> the only Linux installation I looked at now, hence we obviously cannot
>>> assume it exists on an arbitrary installation.
>> I think the nearest equivalent for those running Gnome or KDE may be
>> "xdg-open".  So there would probably need to be a new option for specifying
>> the appropriate command.
>> Personally, I am more inclined to use "system" for executing commands,
>> and "browseURL" for opening documents.  "browseURL" even uses
>> "xdg-open" in my R installation on my Linux machine.
>> - Steve
>>> Best,
>>> Uwe Ligges

>>>> Cheers,
>>>> Brian
>>>> ______________________________________________
>>>> mailing list
>>> ______________________________________________
>>> mailing list
> ______________________________________________
> mailing list
> mailing list Received on Wed 14 Sep 2011 - 15:40:46 GMT

This quarter's messages: by month, or sorted: [ by date ] [ by thread ] [ by subject ] [ by author ]

All messages

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.2.0, at Mon 19 Sep 2011 - 17:40:33 GMT.

Mailing list information is available at Please read the posting guide before posting to the list.

list of date sections of archive