É possível usar o JasperReports no Linux sem precisar inicializar o servidor X.
No arquivo catalina.sh, inclua a propriedade java.awt.headless=true ao chamar a classe org.apache.catalina.startup.Bootstrap.
Um trecho do arquivo fica assim:

  ...
  if [ "$1" = "-security" ] ; then
    echo "Using Security Manager"
    shift
    exec "$_RUNJAVA" $JAVA_OPTS $CATALINA_OPTS \
      -Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS" -classpath "$CLASSPATH" \
      -Djava.security.manager \
      -Djava.security.policy=="$CATALINA_BASE"/conf/catalina.policy \
      -Dcatalina.base="$CATALINA_BASE" \
      -Dcatalina.home="$CATALINA_HOME" \
      -Djava.io.tmpdir="$CATALINA_TMPDIR" \
      -Djava.awt.headless=true \
      org.apache.catalina.startup.Bootstrap "$@" start
  else
    exec "$_RUNJAVA" $JAVA_OPTS $CATALINA_OPTS \
      -Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS" -classpath "$CLASSPATH" \
      -Dcatalina.base="$CATALINA_BASE" \
      -Dcatalina.home="$CATALINA_HOME" \
      -Djava.io.tmpdir="$CATALINA_TMPDIR" \
      -Djava.awt.headless=true \
      org.apache.catalina.startup.Bootstrap "$@" start
  fi
  ...

Isso elimina o erro: Can't connect to X11 window server using ':0' as the value of the DISPLAY variable.



Para obter compatibilidade de fontes Windows no Linux:

Em um debian sem pacotes gráficos foi necessário instalar os seguintes pacotes:

Pacotes X:
    xfreetype6
    libfreetype6
    xlibs

Outros pacotes necessários:
    ttmkfdir



No Red Hat, foi preciso instalar o seguinte:

ttmkfdir-3.0.9-1.i386.rpm
XFree86-font-utils-4.3.0-2.i386.rpm
XFree86-libs-4.3.0-2.i386.rpm
XFree86-libs-data-4.3.0-2.i386.rpm
fontconfig-2.19.i386.rpm
freetype-2.1.3-6.i386.rpm
XFree86-Mesa-libGL-4.3.0-2.i386.rpm
XFree86-Mesa-libGLU-4.3.0-2.i386.rpm



No fórum do JasperReports há o modo de instalar as fontes do Windows:

The true-type fonts need to be registered with the JVM or it uses crappy AWT alternates. Here are the technical details:


# Change to the directory /some/path/to/jbuilder/jdk1.3/jre/lib/fonts
# Copy your Windows True Type fonts to this directory
# Rename your existing fonts.scale and fonts.dir files.
# Run the command ttmkfontdir -o fonts.scale (or ttmkfdir if ttmkfontdir
does not exit)
# Run the command mkfontdir
# Change to the directory /some/path/to/jbuilder/jdk1.3/jre/lib
# Rename your exsiting fonts.properties file
# Place the following font.properties into the directory

serif.0=-monotype-Times New Roman-medium-r-normal--0-0-0-0-p-0-iso8859-1
serif.1=-monotype-Times New Roman-medium-r-normal--0-0-0-0-p-0-iso8859-15
serif.2=-monotype-timesnewromanwt-medium-r-normal--*-%d-75-75-p-*-microsoft-symbol

serif.italic.0=-monotype-Times New
Roman-medium-i-normal--0-0-0-0-p-0-iso8859-1
serif.italic.1=-monotype-Times New
Roman-medium-i-normal--0-0-0-0-p-0-iso8859-15
serif.italic.2=-monotype-timesnewromanwt-medium-r-normal--*-%d-75-75-p-*-microsoft-symbol

serif.bold.0=-monotype-Times New Roman-bold-r-normal--0-0-0-0-p-0-iso8859-1
serif.bold.1=-monotype-Times New Roman-bold-r-normal--0-0-0-0-p-0-iso8859-15
serif.bold.2=-monotype-timesnewromanwt-medium-r-normal--*-%d-75-75-p-*-microsoft-symbol

serif.bolditalic.0=-monotype-Times New
Roman-bold-i-normal--0-0-0-0-p-0-iso8859-1
serif.bolditalic.1=-monotype-Times New
Roman-bold-i-normal--0-0-0-0-p-0-iso8859-15
serif.bolditalic.2=-monotype-timesnewromanwt-medium-r-normal--*-%d-75-75-p-*-microsoft-symbol

sansserif.0=-monotype-Arial-medium-r-normal--0-0-0-0-p-0-iso8859-1
sansserif.1=-monotype-Arial-medium-r-normal--0-0-0-0-p-0-iso8859-15
sansserif.2=-monotype-timesnewromanwt-medium-r-normal--*-%d-75-75-p-*-microsoft-symbol

sansserif.italic.0=-monotype-Arial-medium-i-normal--0-0-0-0-p-0-iso8859-1
sansserif.italic.1=-monotype-Arial-medium-i-normal--0-0-0-0-p-0-iso8859-15
sansserif.italic.2=-monotype-timesnewromanwt-medium-r-normal--*-%d-75-75-p-*-microsoft-symbol

sansserif.bold.0=-monotype-Arial-bold-r-normal--0-0-0-0-p-0-iso8859-1
sansserif.bold.1=-monotype-Arial-bold-r-normal--0-0-0-0-p-0-iso8859-15
sansserif.bold.2=-monotype-timesnewromanwt-medium-r-normal--*-%d-75-75-p-*-microsoft-symbol

sansserif.bolditalic.0=-monotype-Arial-bold-i-normal--0-0-0-0-p-0-iso8859-1
sansserif.bolditalic.1=-monotype-Arial-bold-i-normal--0-0-0-0-p-0-iso8859-15
sansserif.bolditalic.2=-monotype-timesnewromanwt-medium-r-normal--*-%d-75-75-p-*-microsoft-symbol

monospaced.0=-monotype-Courier New-medium-r-normal--0-0-0-0-m-0-iso8859-1
monospaced.1=-monotype-Courier New-medium-r-normal--0-0-0-0-m-0-iso8859-15
monospaced.2=-monotype-sansmonowt-medium-r-normal--*-%d-75-75-m-*-microsoft-symbol

monospaced.italic.0=-monotype-Courier
New-medium-i-normal--0-0-0-0-m-0-iso8859-1
monospaced.italic.1=-monotype-Courier
New-medium-i-normal--0-0-0-0-m-0-iso8859-15
monospaced.italic.2=-monotype-sansmonowt-medium-r-normal--*-%d-75-75-m-*-microsoft-symbol

monospaced.bold.0=-monotype-Courier New-bold-r-normal--0-0-0-0-m-0-iso8859-1
monospaced.bold.1=-monotype-Courier New-bold-r-normal--0-0-0-0-m-0-iso8859-15
monospaced.bold.2=-monotype-sansmonowt-medium-r-normal--*-%d-75-75-m-*-microsoft-symbol

monospaced.bolditalic.0=-monotype-Courier
New-bold-i-normal--0-0-0-0-m-0-iso8859-1
monospaced.bolditalic.1=-monotype-Courier
New-bold-i-normal--0-0-0-0-m-0-iso8859-15
monospaced.bolditalic.2=-monotype-sansmonowt-medium-r-normal--*-%d-75-75-m-*-microsoft-symbol

dialog.0=-monotype-Arial-medium-r-normal--0-0-0-0-p-0-iso8859-1
dialog.1=-monotype-Arial-medium-r-normal--0-0-0-0-p-0-iso8859-15
dialog.2=-monotype-timesnewromanwt-medium-r-normal--*-%d-75-75-p-*-microsoft-symbol

dialog.italic.0=-monotype-Arial-medium-i-normal--0-0-0-0-p-0-iso8859-1
dialog.italic.1=-monotype-Arial-medium-i-normal--0-0-0-0-p-0-iso8859-15
dialog.italic.2=-monotype-timesnewromanwt-medium-r-normal--*-%d-75-75-p-*-microsoft-symbol

dialog.bold.0=-monotype-Arial-bold-r-normal--0-0-0-0-p-0-iso8859-1
dialog.bold.1=-monotype-Arial-bold-r-normal--0-0-0-0-p-0-iso8859-15
dialog.bold.2=-monotype-timesnewromanwt-medium-r-normal--*-%d-75-75-p-*-microsoft-symbol

dialog.bolditalic.0=-monotype-Arial-bold-i-normal--0-0-0-0-p-0-iso8859-1
dialog.bolditalic.1=-monotype-Arial-bold-i-normal--0-0-0-0-p-0-iso8859-15
dialog.bolditalic.2=-monotype-timesnewromanwt-medium-r-normal--*-%d-75-75-p-*-microsoft-symbol

dialoginput.0=-monotype-Courier New-medium-r-normal--0-0-0-0-m-0-iso8859-1
dialoginput.1=-monotype-Courier New-medium-r-normal--0-0-0-0-m-0-iso8859-15
dialoginput.2=-monotype-sansmonowt-medium-r-normal--*-%d-75-75-m-*-microsoft-symbol

dialoginput.italic.0=-monotype-Courier
New-medium-i-normal--0-0-0-0-m-0-iso8859-1
dialoginput.italic.1=-monotype-Courier
New-medium-i-normal--0-0-0-0-m-0-iso8859-1
dialoginput.italic.2=-monotype-sansmonowt-medium-r-normal--*-%d-75-75-m-*-microsoft-symbol

dialoginput.bold.0=-monotype-Courier New-bold-r-normal--0-0-0-0-m-0-iso8859-1
dialoginput.bold.1=-monotype-Courier New-bold-r-normal--0-0-0-0-m-0-iso8859-15
dialoginput.bold.2=-monotype-sansmonowt-medium-r-normal--*-%d-75-75-m-*-microsoft-symbol

dialoginput.bolditalic.0=-monotype-Courier
New-bold-i-normal--0-0-0-0-m-0-iso8859-1
dialoginput.bolditalic.1=-monotype-Courier
New-bold-i-normal--0-0-0-0-m-0-iso8859-15
dialoginput.bolditalic.2=-monotype-sansmonowt-medium-r-normal--*-%d-75-75-m-*-microsoft-symbol


#
# To enable helvetica, courier and timesroman as real fonts
# remove aliases, and define them as real terminal fonts.
# (i.e. timesroman.0=TimesRoman)
#
# timesroman.0=TimesRoman
alias.timesroman=serif
# helvetica.0=Helvetica
alias.helvetica=sansserif
# courier.0=Courier
alias.courier=monospaced

# font filenames

filename.lucida_bold_i=LucidaSansDemiOblique.ttf
filename.lucida_bold_r=LucidaSansDemiBold.ttf
filename.lucida_medium_i=LucidaSansOblique.ttf
filename.lucida_medium_r=LucidaSansRegular.ttf
filename.lucidabright_bold_i=LucidaBrightDemiItalic.ttf
filename.lucidabright_bold_r=LucidaBrightDemiBold.ttf
filename.lucidabright_medium_i=LucidaBrightItalic.ttf
filename.lucidabright_medium_r=LucidaBrightRegular.ttf
filename.lucidatypewriter_bold_i=LucidaTypewriterBoldOblique.ttf
filename.lucidatypewriter_bold_r=LucidaTypewriterBold.ttf
filename.lucidatypewriter_medium_i=LucidaTypewriterOblique.ttf
filename.lucidatypewriter_medium_r=LucidaTypewriterRegular.ttf
filename.sansmonowt_medium_r=mtsansdj.ttf
filename.timesnewromanmt30_medium_r=tnrmt30.ttf
filename.timesnewromanwt_medium_r=tnrwt_j.ttf
filename.arial=ARIAL.TTF

filename.arial_bold_r=ARIALBD.TTF
filename.arial_bold_i=ARIALBI.TTF
filename.arial_i=ARIALI.TTF
filename.arial_narrow=ARIALN.TTF
filename.arial_narrow_bold=ARIALNB.TTF
filename.arial_narrow_bold_i=ARIALNBI.TTF
filename.arial_narrow_i=ARIALNI.TTF

# default char definition
default.char=02ff


fontcharset.serif.0=sun.io.CharToByteISO8859_1
fontcharset.serif.1=sun.io.CharToByteISO8859_15_FDIS
fontcharset.serif.2=sun.awt.CharToByteSymbol

fontcharset.serif.italic.0=sun.io.CharToByteISO8859_1
fontcharset.serif.italic.1=sun.io.CharToByteISO8859_15_FDIS
fontcharset.serif.italic.2=sun.awt.CharToByteSymbol

fontcharset.serif.bold.0=sun.io.CharToByteISO8859_1
fontcharset.serif.bold.1=sun.io.CharToByteISO8859_15_FDIS
fontcharset.serif.bold.2=sun.awt.CharToByteSymbol

fontcharset.serif.bolditalic.0=sun.io.CharToByteISO8859_1
fontcharset.serif.bolditalic.1=sun.io.CharToByteISO8859_15_FDIS
fontcharset.serif.bolditalic.2=sun.awt.CharToByteSymbol

fontcharset.sansserif.0=sun.io.CharToByteISO8859_1
fontcharset.sansserif.1=sun.io.CharToByteISO8859_15_FDIS
fontcharset.sansserif.2=sun.awt.CharToByteSymbol

fontcharset.sansserif.italic.0=sun.io.CharToByteISO8859_1
fontcharset.sansserif.italic.1=sun.io.CharToByteISO8859_15_FDIS
fontcharset.sansserif.italic.2=sun.awt.CharToByteSymbol

fontcharset.sansserif.bold.0=sun.io.CharToByteISO8859_1
fontcharset.sansserif.bold.1=sun.io.CharToByteISO8859_15_FDIS
fontcharset.sansserif.bold.2=sun.awt.CharToByteSymbol

fontcharset.sansserif.bolditalic.0=sun.io.CharToByteISO8859_1
fontcharset.sansserif.bolditalic.1=sun.io.CharToByteISO8859_15_FDIS
fontcharset.sansserif.bolditalic.2=sun.awt.CharToByteSymbol

fontcharset.monospaced.0=sun.io.CharToByteISO8859_1
fontcharset.monospaced.1=sun.io.CharToByteISO8859_15_FDIS
fontcharset.monospaced.2=sun.awt.CharToByteSymbol

fontcharset.monospaced.italic.0=sun.io.CharToByteISO8859_1
fontcharset.monospaced.italic.1=sun.io.CharToByteISO8859_15_FDIS
fontcharset.monospaced.italic.2=sun.awt.CharToByteSymbol

fontcharset.monospaced.bold.0=sun.io.CharToByteISO8859_1
fontcharset.monospaced.bold.1=sun.io.CharToByteISO8859_15_FDIS
fontcharset.monospaced.bold.2=sun.awt.CharToByteSymbol

fontcharset.monospaced.bolditalic.0=sun.io.CharToByteISO8859_1
fontcharset.monospaced.bolditalic.1=sun.io.CharToByteISO8859_15_FDIS
fontcharset.monospaced.bolditalic.2=sun.awt.CharToByteSymbol

fontcharset.dialog.0=sun.io.CharToByteISO8859_1
fontcharset.dialog.1=sun.io.CharToByteISO8859_15_FDIS
fontcharset.dialog.2=sun.awt.CharToByteSymbol

fontcharset.dialog.italic.0=sun.io.CharToByteISO8859_1
fontcharset.dialog.italic.1=sun.io.CharToByteISO8859_15_FDIS
fontcharset.dialog.italic.2=sun.awt.CharToByteSymbol

fontcharset.dialog.bold.0=sun.io.CharToByteISO8859_1
fontcharset.dialog.bold.1=sun.io.CharToByteISO8859_15_FDIS
fontcharset.dialog.bold.2=sun.awt.CharToByteSymbol

fontcharset.dialog.bolditalic.0=sun.io.CharToByteISO8859_1
fontcharset.dialog.bolditalic.1=sun.io.CharToByteISO8859_15_FDIS
fontcharset.dialog.bolditalic.2=sun.awt.CharToByteSymbol

fontcharset.dialoginput.0=sun.io.CharToByteISO8859_1
fontcharset.dialoginput.1=sun.io.CharToByteISO8859_15_FDIS
fontcharset.dialoginput.2=sun.awt.CharToByteSymbol

fontcharset.dialoginput.italic.0=sun.io.CharToByteISO8859_1
fontcharset.dialoginput.italic.1=sun.io.CharToByteISO8859_15_FDIS
fontcharset.dialoginput.italic.2=sun.awt.CharToByteSymbol

fontcharset.dialoginput.bold.0=sun.io.CharToByteISO8859_1
fontcharset.dialoginput.bold.1=sun.io.CharToByteISO8859_15_FDIS
fontcharset.dialoginput.bold.2=sun.awt.CharToByteSymbol

fontcharset.dialoginput.bolditalic.0=sun.io.CharToByteISO8859_1
fontcharset.dialoginput.bolditalic.1=sun.io.CharToByteISO8859_15_FDIS
fontcharset.dialoginput.bolditalic.2=sun.awt.CharToByteSymbol

# exclusion info


# X11 Specific font set (necessary for TextArea and TextField)

fontset.serif.plain=\
-monotype-Times New Roman-medium-r-normal--0-0-0-0-p-0-iso8859-1,\
-monotype-Times New Roman-medium-r-normal--0-0-0-0-p-0-iso8859-15
fontset.serif.italic=\
-monotype-Times New Roman-medium-i-normal--0-0-0-0-p-0-iso8859-1,\
-monotype-Times New Roman-medium-i-normal--0-0-0-0-p-0-iso8859-15
fontset.serif.bold=\
-monotype-Times New Roman-bold-r-normal--0-0-0-0-p-0-iso8859-1,\
-monotype-Times New Roman-bold-r-normal--0-0-0-0-p-0-iso8859-15
fontset.serif.bolditalic=\
-monotype-Times New Roman-bold-i-normal--0-0-0-0-p-0-iso8859-1,\
-monotype-Times New Roman-bold-i-normal--0-0-0-0-p-0-iso8859-15

fontset.sansserif.plain=\
-monotype-Arial-medium-r-normal--0-0-0-0-p-0-iso8859-1,\
-monotype-Arial-medium-r-normal--0-0-0-0-p-0-iso8859-15
fontset.sansserif.italic=\
-monotype-Arial-medium-i-normal--0-0-0-0-p-0-iso8859-1,\
-monotype-Arial-medium-i-normal--0-0-0-0-p-0-iso8859-15
fontset.sansserif.bold=\
-monotype-Arial-bold-r-normal--0-0-0-0-p-0-iso8859-1,\
-monotype-Arial-bold-r-normal--0-0-0-0-p-0-iso8859-15
fontset.sansserif.bolditalic=\
-monotype-Arial-bold-i-normal--0-0-0-0-p-0-iso8859-1,\
-monotype-Arial-bold-i-normal--0-0-0-0-p-0-iso8859-15

fontset.monospaced.plain=\
-monotype-Courier New-medium-r-normal--0-0-0-0-m-0-iso8859-1,\
-monotype-Courier New-medium-r-normal--0-0-0-0-m-0-iso8859-15
fontset.monospaced.italic=\
-monotype-Courier New-medium-i-normal--0-0-0-0-m-0-iso8859-1,\
-monotype-Courier New-medium-i-normal--0-0-0-0-m-0-iso8859-15
fontset.monospaced.bold=\
-monotype-Courier New-bold-r-normal--0-0-0-0-m-0-iso8859-1,\
-monotype-Courier New-bold-r-normal--0-0-0-0-m-0-iso8859-15
fontset.monospaced.bolditalic=\
-monotype-Courier New-bold-i-normal--0-0-0-0-m-0-iso8859-1,\
-monotype-Courier New-bold-i-normal--0-0-0-0-m-0-iso8859-15

fontset.dialog.plain=\
-monotype-Arial-medium-r-normal--0-0-0-0-p-0-iso8859-1,\
-monotype-Arial-medium-r-normal--0-0-0-0-p-0-iso8859-15
fontset.dialog.italic=\
-monotype-Arial-medium-i-normal--0-0-0-0-p-0-iso8859-1,\
-monotype-Arial-medium-i-normal--0-0-0-0-p-0-iso8859-15
fontset.dialog.bold=\
-monotype-Arial-bold-r-normal--0-0-0-0-p-0-iso8859-1,\
-monotype-Arial-bold-r-normal--0-0-0-0-p-0-iso8859-15
fontset.dialog.bolditalic=\
-monotype-Arial-bold-i-normal--0-0-0-0-p-0-iso8859-1,\
-monotype-Arial-bold-i-normal--0-0-0-0-p-0-iso8859-15

fontset.dialoginput.plain=\
-monotype-Courier New-medium-r-normal--0-0-0-0-m-0-iso8859-1,\
-monotype-Courier New-medium-r-normal--0-0-0-0-m-0-iso8859-15
fontset.dialoginput.italic=\
-monotype-Courier New-medium-i-normal--0-0-0-0-m-0-iso8859-1,\
-monotype-Courier New-medium-i-normal--0-0-0-0-m-0-iso8859-15
fontset.dialoginput.bold=\
-monotype-Courier New-bold-r-normal--0-0-0-0-m-0-iso8859-1,\
-monotype-Courier New-bold-r-normal--0-0-0-0-m-0-iso8859-15
fontset.dialoginput.bolditalic=\
-monotype-Courier New-bold-i-normal--0-0-0-0-m-0-iso8859-1,\
-monotype-Courier New-bold-i-normal--0-0-0-0-m-0-iso8859-15

# ibm text performance feature
ibm.java2d.useawtfonts=1

# font substitution
substitute.0=Times New Roman WT=Times New Roman MT 30
substitute.1=Monotype Sans Duospace WT=Times New Roman MT 30
substitute.2=Monotype Sans Duospace WT=Times New Roman WT J
substitute.3=Times New Roman MT 30=Times New Roman WT J
substitute.4=-timesnewromanwt=timesnewromanmt30
substitute.5=-sansmonowt=timesnewromanmt30
substitute.6=-sansmonowt=timesnewromanwtj
register.0=-monotype-timesnewromanmt30-medium-r-normal--*-%d-75-75-*-*-iso10646-0



Responder a