Forum Linux.debian/ubuntu xvfb-run au démarrage

Posté par  .
Étiquettes :
0
13
avr.
2006
J'essaye de faire fonctionner un serveur open office sous debian sarge.
Comme OO necessite X, j'utilise xvfb pour émuler le terminal X.
J'ai écrit un petit script qui permet de lancer OO avec la commande :

/usr/bin/xvfb-run -a /usr/bin/openoffice -invisible "-accept=socket,host=localhost,port=8100;urp;StarOffice.Service.Manager"&

Jusqu'ici tout va bien puisque OO se lance correctement et va écouter sur le port spécifié tant que je le lance manuellement à partir d'une console.

Le hic c'est que je voudrait l'intégrer au démarrage du système. j'ai donc inscrit le script dans le démarrage acvec update-rc.d. Alors la, quand la machine démarre elle me donne l'erreur suivant "can't open display".....exactement comme quand il n'y avait pas de serveur X virtuel.

Je saisit pas vraiment ou est l'astuce et de l'aide me serait vraiment précieuse...

merci d'avance
  • # variable d'environnement DISPLAY

    Posté par  . Évalué à 1.

    Regarde peut-être du côté de la variable d'environnement DISPLAY, c'est elle qui spécifie au client X à quel serveur il doit se connecter. Elle n'est positionnée automatiquement que pour les utilisateurs humains, pas pour les scripts de démarrages. Typiquement (avec un serveur X local et bien réel) on met ":0.0" (machine par défaut, serveur 0, écran 0).
  • # .

    Posté par  . Évalué à 1.

    Avec une mandrake/mandriva j'ai ajouté le /etc/init.d/openoffice suivant :
    ( c'est rustique et tu noteras que c'est fait un peu à l'arrache, mais ça à le mérite de fonctionner pour moi et au moment où je l'ai ecrit, c'est tout ce que je voulais. Les var d'environnement c'est parce que sans, ca ne demarrait pas au boot ( sans message d'erreur bien entendu. )



    #!/bin/sh
    #
    # openoffice This shell script takes care of starting and stopping
    # openoffice server.
    #
    # chkconfig: 2345 99 35
    # description: openoffice provides a merge and pdf printer service.

    . /etc/rc.d/init.d/functions

    HOME=/root
    JAVA_HOME=/usr/java/j2sdk1.4.2_07/
    KBCHARSET=iso-8859-15
    KEYBOARD=fr
    KEYTABLE=fr-latin1
    LINES=60
    LOGNAME=root
    USER=root
    USERNAME=root

    # See how we were called.
    case "$1" in
    start)
    gprintf "Starting openoffice: "
    /usr/X11R6/bin/Xvfb :8101 &
    sleep 5
    export DISPLAY=:8101.0
    /usr/local/OpenOffice.org1.1.5/program/soffice &
    echo
    ;;
    stop)
    gprintf "Shutting down openoffice: "
    killproc soffice.bin
    killproc Xvfb
    echo
    ;;
    restart)
    $0 stop
    $0 start
    ;;
    status)
    echo "Servers listening on port 8100 :"
    netstat -taupe | grep 8100 | wc -l
    netstat -taupe | grep 8100
    echo "Processes named soffice :"
    ps -ef | grep -i soffice | grep -v grep
    echo "Processes named Xvfb :"
    ps -ef | grep -i xvfb | grep -v grep
    ;;
    *)
    gprintf "Usage: openoffice {start|stop|restart|status}\n"
    exit 1
    esac

    exit 0
    • [^] # Re: .

      Posté par  . Évalué à 1.

      ah oui :

      le "-accept=socket,host=localhost,port=8100;urp;StarOffice.Service.Manager" je l'ai mis dans Setup.xcu à la place ( voir google au sujet de ce fichier si besoin )
  • # ca fonctionne bcp mieux !!

    Posté par  . Évalué à 1.

    merci pour ces réponses fructueuses, le pb venait en effet de la varible DISPLAY qui n'était pas positionnée.
    apres m'etre inspiré du script de snt, ca démarre nickel :) .merci

    Il me reste cependant un petit souci avec oO. Je voudrait utiliser openoffice.org-2.0 au lieu de la version 1. Il m'a semblé qu'il n'y avait pas de différence au niveau des options donc je le lance de la meme manière que le 1. oO2 se lance correctement mais il ne vient pas écouter sur le port spécifié.... J'ai aussi essayé de passer ces options au Setup.xcu mais ca change pas grand chose.
    • [^] # Re: ca fonctionne bcp mieux !!

      Posté par  . Évalué à 1.

      Pour OO2, je n'ai testé que sous windows et effectivement la config pour avoir un "serveur" etait la meme et ça fonctionnait. Mais la version 2.0.2 d'openoffice est bugguée pour la generation de PDF par UNO (voir bugzilla de sun ) du coup j'ai pas essayé de le faire tourner sous linux. Je verrai avec la 2.0.3 ...
  • # solution

    Posté par  . Évalué à 1.

    le probleme est enfin résolu...

    pour le démarrage d'oO dans ,les scripts voir les posts précédents.

    La version 2 d'oO fonctionne correctement maintenant : il fallait faire un démarrage en mode normal d'oO pour le configurer. Or, étant donné que le serveur que j'utilise n'a pas de X installé.. le déport d'affichage par ssh est la solution ! Une fois oO2 démarré une au moins une fois, il fonctionne correctement en mode invisible et se met à l'écoute sur le port indiqué.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.