Skip to content

X11 problem after migration to Leopard

10 messages · Benilton Carvalho, Simon Urbanek, Martin Eklund +3 more

#
Hi,

After migrating to Leopard I have problems with X11 when sunning R  
from the command line (which I prefer). I acknowledge that this most  
likely is not an R issue, but I thought that somebody else on this  
list might have had the same problem and has a nice solution to offer...

When trying to plot something in R from the command line (it works  
however from the R GUI) I get the following error message:

===========================================
Error in X11() :
   could not find any X11 fonts
Check that the Font Path is correct.
In addition: Warning messages:
1: In X11() :
   locale not supported by Xlib: some X ops will operate in C locale
2: In X11() : X cannot set locale modifiers
===========================================

So, it seems like R cannot find the fonts. Issuing xset -q in the  
terminal generates the following output:

===========================================
Keyboard Control:
   auto repeat:  on    key click percent:  0    LED mask:  00000000
   auto repeat delay:  660    repeat rate:  25
   auto repeating keys:  00ffffffffffff7f
                         00ffffffffffffff
                         ffffffffffffffff
                         ffffffffffffffff
   bell percent:  50    bell pitch:  400    bell duration:  100
Pointer Control:
   acceleration:  2/1    threshold:  4
Screen Saver:
   prefer blanking:  yes    allow exposures:  yes
   timeout:  600    cycle:  600
Colors:
   default colormap:  0x21    BlackPixel:  0    WhitePixel:  16777215
Font Path:
   /usr/X11/lib/X11/fonts/misc/,/usr/X11/lib/X11/fonts/TTF/,/usr/X11/ 
lib/X11/fonts/OTF,/usr/X11/lib/X11/fonts/Type1/,/usr/X11/lib/X11/fonts/ 
100dpi/,/usr/X11/lib/X11/fonts/75dpi/
Bug Mode: compatibility mode is disabled
PMS (Energy Star):
   Display is not capable of DPMS
Font cache:
   Server does not have the FontCache Extension
===========================================

To me the font path in this output seems correct.

I have disabled all DISPLAY settings that I previously had in  
my .bash_profile and my PATH variable is set according to: export PATH= 
$PATH:/usr/local/bin:/Applications:/usr/X11/bin:/usr/X11/lib:.

Any suggestions about how to fix this problem is greatly appreciated!

Thank you very much!

Best regards,

Martin.

========================================
Martin Eklund
PhD Student
Department of Pharmaceutical Biosciences
Uppsala University, Sweden
Ph: +46-18-4714281
#
http://r.research.att.com/building.html

first session might be useful.
b
On Mar 18, 2008, at 3:11 PM, Martin Eklund wrote:
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 2419 bytes
Desc: not available
Url : https://stat.ethz.ch/pipermail/r-sig-mac/attachments/20080318/26413b9d/attachment.bin
#
Martin,

as per posting guide you have forgotten all of the very important  
piece of information - R version and the locale. I cannot reproduce  
the problems you describe, so please share with us at least the output  
of sessionInfo().

In general, if you want to use X11 on Leopard seriously, you may want  
to upgrade it (see http://trac.macosforge.org/projects/xquartz ),  
because the version shipped with Leopard is known to be quite broken.

Cheers,
Simon
On Mar 18, 2008, at 3:11 PM, Martin Eklund wrote:

            
#
I recently updated to Leopard and have not gotten the error Martin is  
alluding to when using x11 from the command line. However I have been  
careful to remove any user-specific setting of the DISPLAY variable as  
this is no longer required nor recommended under leopard.

My guess is that you may have stuff from an older configuration file  
around. Did you do "archive and install" and how exactly are you  
running R - under ESS or straight up from the Terminal?

Kasper
On Mar 18, 2008, at 12:14 PM, Simon Urbanek wrote:

            
#
A suggestion that one sees fairly frequently on other mailing lists 
for this class of problem is to create a new user, login as that new 
user, and try from there. If things work, then the hypothesis of 
lurking config files  (or in some cases, broken preference files), is 
considered to be confirmed.

-Don
At 8:35 AM +0100 3/19/08, Martin Eklund wrote:

  
    
#
On Mar 19, 2008, at 12:35 AM, Martin Eklund wrote:

            
Hmm, I would fire up R on the command line and do something like

Sys.getenv("DISPLAY")
Sys.getenv("PATH")

that way you can figure out what environment variables R is using. How  
they are set is hard to know, but as I said, candidates are (all in  
the HOME directory or perhaps in the directory where you run R)
.profile
.MacOS/.environment.plist
.bashrc
.bash_login
.Rprofile
.Rlib

Having said that, my _guess_ based on the warning messages is that you  
probably have a locale problem (which may or may not be connected to  
whether X11 finds the fonts). I am using the default locale (= I have  
a clean install, uses english as my system language and have not  
touched anything) and I get the following from sessionInfo():
  locale:
  en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
whereas you seem to have something different:
  locale:
  C/UTF-8/C/C/C/C
I know little about locales, except that they sometime cause  
problems... :)

Another thing you could try to help debug is to run X11 from the Aqua  
GUI.

Kasper
#
[snip]
As you say, I did indeed have a locale problem. I've never had any  
reasons to worry about locale settings before and therefore know  
hardly anything about them, but if I change the locale according to  
Sys.setlocale("LC_CTYPE", "C") plotting works like a charm. However, I  
have to change the locale every time I start a new session. Is there a  
way to permanently change this setting?

Thank you all for your help!

Best regards,

Martin.
========================================
Martin Eklund
PhD Student
Department of Pharmaceutical Biosciences
Uppsala University, Sweden
Ph: +46-18-4714281
#
On Thu, 20 Mar 2008, Martin Eklund wrote:

            
Including snipping the vital data!  (Please don't do that.)
Setting LC_ALL=C in the environment does that.

However, it seems pretty unlikely that you really want to do that in 
Sweden. The issue seems to be that you have the encoding set to an invalid 
value
is wrong.  So try setting LC_ALL=sv_SE.UTF-8, or if you only want the 
character set to be UTF-8, LC_CTYPE=en_US.UTF-8

I just tested

blacklark% env LC_CTYPE=sv_SE.UTF-8 R
[1] "C/sv_SE.UTF-8/C/C/C/C"

and it is displaying correctly on X11 plots.

I suggest you track down the incorrect setting of LC_CTYPE.

  
    
#
On Mar 20, 2008, at 10:02 , Prof Brian Ripley wrote:

            
Sorry - won't do it again!
Thank you - that did the trick. I simply added

LC_ALL=sv_SE.ISO8859-1
export LC_ALL

to my .bash_profile, and it now works perfectly.

Cheers,

Martin.
========================================
Martin Eklund
PhD Student
Department of Pharmaceutical Biosciences
Uppsala University, Sweden
Ph: +46-18-4714281