Just for the record (not a request for fix) and an ad hoc workaround if anyone needs it: REASON: Running an R script as a plugin on a remote Suse Linux 8.2 with R v2.1.0 (2005-04-18), I have noticed that capabilities() generates (to standard error) Xlib: connection to "base:0.0" refused by server Xlib: Client is not authorized to connect to Server which cannot be caught by tryCatch(); tryCatch({ print(capabilities()); }, condition=function(c) { cat("Condition caught:\n"); str(c); }) because it is not a 'condition' (error or warning). CONTEXT: Since source() calls capabilities("iconv") this messages always show up. My R plugin loads custom code using source() and since the standard error from the plugin is checked for messages, the host system interprets this as if something problematic has occured. WORKAROUND: The workaround that I use now is to redefine capabilities() temporarily (since I do not need "iconv" support): orgCapabilities <- base::capabilities; basePos <- which(search() == "package:base")); assign("capabilities", function(...) FALSE, pos=basePos); source(<my file>) basePos <- which(search() == "package:base")); assign("capabilities", orgCapabilities, pos=basePos); rm(orgCapabilities) Cheers Henrik
Would using 'capture.output()' work for you in this case? -roger Henrik Bengtsson wrote:> Just for the record (not a request for fix) and an ad hoc workaround if > anyone needs it: > > REASON: > Running an R script as a plugin on a remote Suse Linux 8.2 with R v2.1.0 > (2005-04-18), I have noticed that capabilities() generates (to standard > error) > > Xlib: connection to "base:0.0" refused by server > Xlib: Client is not authorized to connect to Server > > which cannot be caught by tryCatch(); > > tryCatch({ > print(capabilities()); > }, condition=function(c) { > cat("Condition caught:\n"); > str(c); > }) > > because it is not a 'condition' (error or warning). > > CONTEXT: > Since source() calls capabilities("iconv") this messages always show up. > My R plugin loads custom code using source() and since the standard > error from the plugin is checked for messages, the host system > interprets this as if something problematic has occured. > > WORKAROUND: > The workaround that I use now is to redefine capabilities() temporarily > (since I do not need "iconv" support): > > orgCapabilities <- base::capabilities; > basePos <- which(search() == "package:base")); > assign("capabilities", function(...) FALSE, pos=basePos); > > source(<my file>) > > basePos <- which(search() == "package:base")); > assign("capabilities", orgCapabilities, pos=basePos); > rm(orgCapabilities) > > Cheers > > Henrik > > ______________________________________________ > R-devel at r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-devel >
Do you have DISPLAY set pointing to an X11 server you do not have access to? It seems so. The solution is to set your X11 settings properly. This is coming from Xlib (XOpenDisplay, I believe) and so is not an R error or warning, and is not output on an R connection but on a C file. On Mon, 20 Jun 2005, Henrik Bengtsson wrote:> Just for the record (not a request for fix) and an ad hoc workaround if > anyone needs it: > > REASON: > Running an R script as a plugin on a remote Suse Linux 8.2 with R v2.1.0 > (2005-04-18), I have noticed that capabilities() generates (to standard > error) > > Xlib: connection to "base:0.0" refused by server > Xlib: Client is not authorized to connect to Server > > which cannot be caught by tryCatch(); > > tryCatch({ > print(capabilities()); > }, condition=function(c) { > cat("Condition caught:\n"); > str(c); > }) > > because it is not a 'condition' (error or warning). > > CONTEXT: > Since source() calls capabilities("iconv") this messages always show up. > My R plugin loads custom code using source() and since the standard > error from the plugin is checked for messages, the host system > interprets this as if something problematic has occured. > > WORKAROUND: > The workaround that I use now is to redefine capabilities() temporarily > (since I do not need "iconv" support): > > orgCapabilities <- base::capabilities; > basePos <- which(search() == "package:base")); > assign("capabilities", function(...) FALSE, pos=basePos); > > source(<my file>) > > basePos <- which(search() == "package:base")); > assign("capabilities", orgCapabilities, pos=basePos); > rm(orgCapabilities) > > Cheers > > Henrik > > ______________________________________________ > R-devel at r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-devel > >-- Brian D. Ripley, ripley at stats.ox.ac.uk Professor of Applied Statistics, http://www.stats.ox.ac.uk/~ripley/ University of Oxford, Tel: +44 1865 272861 (self) 1 South Parks Road, +44 1865 272866 (PA) Oxford OX1 3TG, UK Fax: +44 1865 272595