2 votes

Difficulté à définir le clavier par défaut dans Visual Studio Code lors du développement dans un conteneur Docker.

J'ai du mal à suivre ce guide sur Ubuntu 18.04 en travaillant avec un dépôt spécifique (si quelqu'un veut suivre, le dépôt est ici ). Lorsque j'essaie de suivre cette étape :

Sélectionnez Remote-Containers : Ouvrir le dossier dans le conteneur... dans la liste de commandes qui apparaît. de commande qui apparaît, et ouvrez le dossier racine du projet que vous venez de cloné.

Je rencontre un problème lorsque le code Visual Studio me demande de "sélectionner la disposition du clavier pour cette machine". Comme suit :

...
[62625 ms] Setting up netbase (5.4) ...
[62645 ms] Setting up libwebp6:amd64 (0.5.2-1) ...
[62654 ms] Setting up zlib1g-dev:amd64 (1:1.2.8.dfsg-5) ...
[62664 ms] Setting up libdb-dev:amd64 (5.3.1) ...
[62673 ms] Setting up libjsoncpp1:amd64 (1.7.4-3) ...
[62682 ms] Setting up libvorbisfile3:amd64 (1.3.5-4+deb9u2) ...
[62691 ms] Setting up libedit2:amd64 (3.1-20160903-3) ...
[62701 ms] Setting up libgmp-dev:amd64 (2:6.1.2+dfsg-1) ...
[62710 ms] Setting up libx265-95:amd64 (2.1-2+b2) ...
[62719 ms] Setting up keyboard-configuration (1.164) ...
[62790 ms] debconf: unable to initialize frontend: Dialog
debconf: (TERM is not set, so the dialog frontend is not usable.)
debconf: falling back to frontend: Readline
[63090 ms] Configuring keyboard-configuration
----------------------------------

Please select the layout matching the keyboard for this machine.

[63090 ms]   1. English (US)
  2. English (US) - Cherokee
  3. English (US) - English (Colemak)
  4. English (US) - English (Dvorak alternative international no dead keys)
  5. English (US) - English (Dvorak)
[63091 ms]   6. English (US) - English (Dvorak, international with dead keys)
[63091 ms]   7. English (US) - English (Macintosh)
  8. English (US) - English (Programmer Dvorak)
[63091 ms]   9. English (US) - English (US, alternative international)
  10. English (US) - English (US, international with dead keys)
  11. English (US) - English (US, with euro on 5)
[63091 ms]   12. English (US) - English (Workman)
  13. English (US) - English (Workman, international with dead keys)
[63091 ms]   14. English (US) - English (classic Dvorak)
[63091 ms]   15. English (US) - English (international AltGr dead keys)
[63091 ms]   16. English (US) - English (left handed Dvorak)
[63091 ms]   17. English (US) - English (right handed Dvorak)
  18. English (US) - English (the divide/multiply keys toggle the layout)
  19. English (US) - Russian (US, phonetic)
  20. English (US) - Serbo-Croatian (US)
[63091 ms]   21. Other
[63092 ms] Keyboard layout: 

Mais je suis incapable de taper réellement dans le terminal dans VS Code pour choisir un clavier ? J'ai trouvé quelques autres réponses à ce sujet ici où vous pouvez faire quelque chose comme ça à l'intérieur du dockerfile : DEBIAN_FRONTEND=noninteractive apt-get install keyboard-configuration Mais cela ne semble pas non plus résoudre le problème. J'ai essayé tout ce processus sur un Macbook juste pour m'assurer que ce n'est pas seulement moi et il passe cette étape sans problème, ce qui me fait penser que c'est un problème lié à Ubuntu (ou au moins un problème de code vs sur Ubuntu) mais je suis un peu perdu sur la façon de surmonter cela.

Vous pouvez voir le dockerfile ici (si cela peut vous aider) :

FROM debian:stretch-slim

#
# avoid warnings by switching to noninteractive
ENV DEBIAN_FRONTEND=noninteractive

ARG USERNAME=neko
ARG USER_UID=1000
ARG USER_GID=$USER_UID

#
# install neko dependencies
RUN set -eux; apt-get update; \
    apt-get install -y --no-install-recommends wget ca-certificates pulseaudio openbox dbus-x11 xserver-xorg-video-dummy supervisor; \
    apt-get install -y --no-install-recommends libcairo2 libxcb1 libxrandr2 libxv1 libopus0 libvpx4; \
    #
    # create a non-root user
    groupadd --gid $USER_GID $USERNAME; \
    useradd --uid $USER_UID --gid $USERNAME --shell /bin/bash --create-home $USERNAME; \
    adduser $USERNAME audio; \
    adduser $USERNAME video; \
    adduser $USERNAME pulse; \
    #
    # setup pulseaudio
    mkdir -p /home/$USERNAME/.config/pulse/; \
    echo "default-server=unix:/tmp/pulseaudio.socket" > /home/$USERNAME/.config/pulse/client.conf; \
    #
    # workaround for an X11 problem: http://blog.tigerteufel.de/?p=476
    mkdir /tmp/.X11-unix; chmod 1777 /tmp/.X11-unix; chown $USERNAME /tmp/.X11-unix/; \
    #
    # make directories for neko
    mkdir -p /etc/neko /var/www /var/log/neko; chmod 1777 /var/log/neko; chown $USERNAME /var/log/neko/;  \
    chown -R $USERNAME:$USERNAME /home/$USERNAME; \
    #
    # clean up
    apt-get clean -y; \
    rm -rf /var/lib/apt/lists/* /var/cache/apt/*

#
# add gst to env
ENV PATH=/gst/local/bin:$PATH
ENV LD_LIBRARY_PATH=/gst/local/lib:$LD_LIBRARY_PATH
ENV PKG_CONFIG_PATH=/gst/local/lib/pkgconfig:$PKG_CONFIG_PATH

#
# copy gst
COPY .build/gst/local /gst/local/

#
# env
ENV USER=$USERNAME
ENV DISPLAY=:99.0

#
# copy configuation files
COPY .docker/files/dbus /usr/bin/dbus
COPY .docker/files/openbox.xml /etc/neko/openbox.xml
COPY .docker/files/neko/supervisord.conf /etc/neko/supervisord/neko.conf
COPY .docker/files/supervisord.conf /etc/neko/supervisord.conf
COPY .docker/files/xorg.conf /etc/neko/xorg.conf
COPY .docker/files/default.pa /etc/pulse/default.pa

#
# neko files
COPY client/dist/ /var/www
COPY server/bin/neko /usr/bin/neko

#
# neko env
ENV NEKO_PASSWORD=neko
ENV NEKO_ADMIN=admin
ENV NEKO_BIND=:8080

#
# run neko
CMD ["/usr/bin/supervisord", "-c", "/etc/neko/supervisord.conf"]

1voto

ThankYee Points 1065

Ajouter à RUN /usr/sbin/dpkg-reconfigure keyboard-configuration o /usr/bin/apt-get install -y --reinstall keyboard-configuration

localectl set-keymap en_US.UTF-8
systemctl restart keyboard-setup.service

Essayez d'enlever ENV DEBIAN_FRONTEND=noninteractive et vous devriez pouvoir entrer des données.

Peut-être envisager localectl set-keymap en_US.UTF-8 y systemctl restart keyboard-setup.service

0voto

W01iu1 Points 81

Vous pouvez préparer votre fichier de configuration et le déplacer vers le conteneur comme suit (à exécuter avant l'installation)

COPY ./keyboard /etc/default/keyboard

Le fichier de configuration ressemble à ceci :

# KEYBOARD CONFIGURATION FILE

# Consult the keyboard(5) manual page.

XKBMODEL="pc105"
XKBLAYOUT="us"
XKBVARIANT=""
XKBOPTIONS=""

BACKSPACE="guess"

Il s'agit d'un ancien modèle mais je pense qu'il vous conviendra. Pour plus de détails, vous pouvez voir ici Baseimage-docker

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X