AMC sur Docker, impossible de mettre l'interface en Français

Added by No Haie about 3 years ago

Bonjour,

J'essaie de faire fonctionner AMC sur Docker (sur un Mac, mais cela ne devrait pas changer grand-chose).

Mon but est de créer une image docker basée sur Ubuntu qui contiendrait AMC et un petit serveur x11vnc, de sorte que je puisse utiliser AMC avec n'importe quel client VNC. Cela fonctionne en anglais, et après y avoir passé tout mon après-midi, je n'arrive pas à le faire fonctionner en français... Je vous partage ce que j'ai pu faire fonctionner.

Voici mon Dockerfile:

FROM ubuntu:latest
ARG DOCKER_LANG=fr_FR
ARG DOCKER_TIMEZONE=Europe/Paris

ENV DEBIAN_FRONTEND="noninteractive" TZ="Europe/Paris" 

RUN apt-get update -qq && \
    apt-get install -qy x11vnc locales xvfb openbox auto-multiple-choice 

RUN sed -i -e 's/# \(fr_FR\.UTF-8 .*\)/\1/' /etc/locale.gen && locale-gen

ENV LC_ALL fr_FR.UTF-8
ENV LANG fr_FR.UTF-8
ENV LANGUAGE fr_FR.UTF-8

EXPOSE 5900:5900

CMD x11vnc -passwd monpasswordsecret -create -bg -reopen -forever -env FD_PROG='/usr/bin/openbox' -afteraccept 'xterm & openbox & auto-multiple-choice &' && tail -f /dev/null

Ensuite je compile avec

docker build amc-vnc -t myamc-vnc 

Tout se passe bien, j'ai droit à un
Generating locales (this might take a while)...
fr_FR.UTF-8... done

Ensuite je lance le conteneur par
docker run --name my-amc-vnc-ctn -d -p 5900:5900 -v /Users/moi/Projets-QCM:/root/MC-Projects myamc-vnc

Tout se déroule bien, et lorsque je me connecte en VNC (localhost:5900, mot de passe "monpasswordsecret"), je vois bien AMC, mais en anglais. J'ai aussi accès à un xterm dans le client VNC et dans celui-ci j'ai tenté toutes les versions imaginables et documentées sur internet pour changer la langue d'Ubuntu rien n'y fait, AMC se lance en anglais. Y compris lorsque je le lance avec LANG=fr_FR.UTF-8 auto-multiple-choice ou LANG=fr_FR.utf8 auto-multiple-choice. J'ai essayé aussi apt-get install language-pack-fr, mon terminal passe en français mais toujours pas AMC. Je suis donc dans le désarroi et j'espère trouver de l'aide ici...

Merci par avance !


Replies (5)

RE: AMC sur Docker, impossible de mettre l'interface en Français - Added by No Haie about 3 years ago

Je viens de découvrir une piste : lorsque j'exécute LANG=nimportequoi1234 auto-multiple-choice dans mon container Docker je n'ai aucun warning, alors que lorsque je fais la même chose sur une vraie installation d'Ubuntu (sans Docker, donc), j'ai droit au warning perl: Setting locale failed. Please check that your locale settings [...] are supported and installed on your system. C'est donc comme si AMC (perl ?) ignorait simplement LANG lorsque je suis sur Docker...

RE: AMC sur Docker, impossible de mettre l'interface en Français - Added by No Haie about 3 years ago

Je reviens avec encore une petite avancée... J'ai réussi à faire tourner AMC en français sur Docker, en utilisant l'image Debian au lieu d'Ubuntu. Le Dockerfile simplifié est le suivant :

FROM debian:latest

ENV DEBIAN_FRONTEND="noninteractive" TZ="Europe/Paris" 

RUN apt-get update -qq && \
    apt-get install -qy x11vnc xvfb xterm openbox locales auto-multiple-choice

RUN sed -i -e 's/# \(fr_FR\.UTF-8 .*\)/\1/' /etc/locale.gen && \
sed -i -e 's/# \(en_US\.UTF-8 .*\)/\1/' /etc/locale.gen && \
locale-gen && \
echo "export LC_ALL=fr_FR.UTF-8 LANG=fr_FR.UTF-8 LANGUAGE=fr_FR.UTF-8" >> ~/.bashrc

ENV LC_ALL="fr_FR.UTF-8" LANG="fr_FR.UTF-8" LANGUAGE="fr_FR.UTF-8" 

EXPOSE 5900

CMD x11vnc -passwd monpasswordsecret -create -bg -reopen -forever -env FD_PROG='/usr/bin/openbox' -afteraccept 'uxterm -hold -e auto-multiple-choice & uxterm &' && tail -f /dev/null

Ce qui est très étonnant, c'est que si je remplace "debian" par "ubuntu" en première ligne, AMC fonctionne toujours, mais cette fois en anglais. Je ne comprends vraiment pas... Quelqu'un a une idée ?

RE: AMC sur Docker, impossible de mettre l'interface en Français - Added by Arnaud Brunet about 3 years ago

Bonjour,

Je viens de construire l'image Docker proposée. Je l'ai lancé via

docker run --name amc -d -p 5900:590 amc

Dans les logs, j'ai bien
21/10/2021 23:23:30 passing arg to libvncserver: -passwd
21/10/2021 23:23:30 x11vnc version: 0.9.16 lastmod: 2019-01-05  pid: 7
21/10/2021 23:23:30 
21/10/2021 23:23:30 wait_for_client: WAIT:cmd=FINDCREATEDISPLAY-Xvfb
21/10/2021 23:23:30 
21/10/2021 23:23:30 initialize_screen: fb_depth/fb_bpp/fb_Bpl 24/32/2560
21/10/2021 23:23:30 
21/10/2021 23:23:30 Autoprobing TCP port 
21/10/2021 23:23:30 Autoprobing selected TCP port 5900
21/10/2021 23:23:30 Autoprobing TCP6 port 
21/10/2021 23:23:30 Autoprobing selected TCP6 port 5900
PORT=5900
21/10/2021 23:23:30 listen6: bind: Address already in use
21/10/2021 23:23:30 Not listening on IPv6 interface.
21/10/2021 23:23:30 

The VNC desktop is:      f0e6fe55e127:0

Par contre je ne sais pas comment je me connecte sur le port 5900
J'ai essayé un navigateur web, Reminna et x1vnc sans succès. A chaque fois j'ai une erreur du type "Failed"

Vous utilisez quel client ?

Merci d'avance pour aide.
Cordialement,
Arnaud

RE: AMC sur Docker, impossible de mettre l'interface en Français - Added by No Haie about 3 years ago

Bonjour,

J'ai utilisé TigerVNC Viewer (en mettant l'IP 127.0.0.1 sans indiquer de port, puisque 5900 est le défaut). En espérant que ça marche pour vous...

(1-5/5)