MagicMirror Forum
    • Recent
    • Tags
    • Unsolved
    • Solved
    • MagicMirror² Repository
    • Documentation
    • 3rd-Party-Modules
    • Donate
    • Discord
    • Register
    • Login
    A New Chapter for MagicMirror: The Community Takes the Lead
    Read the statement by Michael Teeuw here.

    Version 2.34.0 - Missing X Server or $DISPLAY (Docker version of MMOS)

    Scheduled Pinned Locked Moved Solved Troubleshooting
    15 Posts 3 Posters 574 Views 3 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • S Offline
      sdetweil @sdetweil
      last edited by

      @karsten13 any debug we can look at?

      Sam

      How to add modules

      learning how to use browser developers window for css changes

      karsten13K 1 Reply Last reply Reply Quote 0
      • karsten13K Online
        karsten13 @sdetweil
        last edited by

        the dbus errors in the mm logs are only noise, see https://forum.magicmirror.builders/topic/20032/docker-watchtower-container-restarting-and-mm-container-errors-after-upgrade/7#

        If the problem occurs:

        • can you provide the logs of the labwc container? docker logs labwc
        • can yo try to restart the containers without reboot with cd /opt/mm/run && docker compose up -d --force-recreate?
        S 1 Reply Last reply Reply Quote 1
        • S Offline
          sdetweil @karsten13
          last edited by

          @karsten13 thanks

          Sam

          How to add modules

          learning how to use browser developers window for css changes

          karsten13K 1 Reply Last reply Reply Quote 0
          • karsten13K Online
            karsten13 @sdetweil
            last edited by

            other questions (not clear from description):

            Are you using mmos or are you using Raspberry Pi OS or another OS?

            If not mmos, how did you the install? With the install script inside the repo?

            Can you provide output of docker compose config?

            1 Reply Last reply Reply Quote 0
            • M Offline
              Mathes75
              last edited by

              Thanks a lot for having a look at my issue!

              As mentioned in the first post, I downloaded the most recent Docker image of MagicMirrorOS. - no desktop, lite version. Wrote the image with Balena Etcher and let the Rpi do it’s magic after booting until “factory” MagicMirror was shown. SSHed into the Rpi and ran sudo raspi-config to adjust locales and WiFi.
              I installed the desired Modules, modified the config.js - and now the Mirror works only at every third or fourth boot. (Sometimes real power cycle, sometimes sudo shutdown -r now - sometimes first works, sometimes second)

              Currently it’sworking, only one Module has issues. Both containers recreated and restarted, output of docker logs labwc

              00:00:00.000 [INFO] [seatd/seat.c:48] Created VT-bound seat seat0
              00:00:00.000 [INFO] [seatd/seatd.c:194] seatd started
              failed to connect to display
              00:00:01.036 [INFO] [seatd/server.c:145] New client connected (pid: 1, uid: 1000, gid: 1000)
              00:00:01.036 [INFO] [seatd/seat.c:239] Added client 1 to seat0
              00:00:01.037 [INFO] [seatd/seat.c:563] Opened client 1 on seat0
              failed to connect to display
              failed to connect to display
              failed to connect to display
              failed to connect to display
              failed to connect to display
              failed to connect to display
              HDMI-A-1 "Lenovo Group Limited T2224pD V902B58B (HDMI-A-1)"
                Make: Lenovo Group Limited
                Model: T2224pD
                Serial: V902B58B
                Physical size: 480x270 mm
                Enabled: yes
                Modes:
                  1920x1080 px, 60.000000 Hz (preferred, current)
                  1920x1080 px, 60.000000 Hz
                  1920x1080 px, 59.939999 Hz
                  1920x1080 px, 50.000000 Hz
                  1680x1050 px, 59.882999 Hz
                  1600x900 px, 75.000000 Hz
                  1600x900 px, 60.000000 Hz
                  1280x1024 px, 75.025002 Hz
                  1280x1024 px, 70.000999 Hz
                  1280x1024 px, 60.020000 Hz
                  1440x900 px, 59.901001 Hz
                  1366x768 px, 59.790001 Hz
                  1152x864 px, 75.000000 Hz
                  1280x720 px, 60.000000 Hz
                  1280x720 px, 59.939999 Hz
                  1280x720 px, 50.000000 Hz
                  1024x768 px, 75.028999 Hz
                  1024x768 px, 70.069000 Hz
                  1024x768 px, 60.004002 Hz
                  832x624 px, 74.551003 Hz
                  800x600 px, 75.000000 Hz
                  800x600 px, 72.188004 Hz
                  800x600 px, 60.317001 Hz
                  800x600 px, 56.250000 Hz
                  720x576 px, 50.000000 Hz
                  720x576 px, 50.000000 Hz
                  720x480 px, 60.000000 Hz
                  720x480 px, 60.000000 Hz
                  720x480 px, 59.939999 Hz
                  720x480 px, 59.939999 Hz
                  640x480 px, 75.000000 Hz
                  640x480 px, 72.808998 Hz
                  640x480 px, 60.000000 Hz
                  640x480 px, 59.939999 Hz
                  640x480 px, 59.939999 Hz
                  720x400 px, 70.082001 Hz
                Position: 0,0
                Transform: normal
                Scale: 1.000000
                Adaptive Sync: disabled
              

              Output of docker compose config

              name: magicmirror
              services:
                labwc:
                  container_name: labwc
                  environment:
                    LAB_WC_HIDE_CURSOR: "true"
                    RANDR_PARAMS: ""
                    RANDR_POLL: 1m
                    XDG_RUNTIME_DIR: /run/user/1000
                  image: karsten13/labwc:latest
                  networks:
                    default: null
                  privileged: true
                  restart: always
                  volumes:
                    - type: bind
                      source: /run/user/1000
                      target: /run/user/1000
                      bind: {}
                    - type: bind
                      source: /run/udev
                      target: /run/udev
                      bind: {}
                magicmirror:
                  container_name: mm
                  environment:
                    DBUS_SESSION_BUS_ADDRESS: unix:path=/run/user/1000/bus
                    DBUS_SYSTEM_BUS_ADDRESS: unix:path=/run/user/1000/bus
                    DISPLAY: unix:0.0
                    ELECTRON_ENABLE_GPU: "0"
                    MM_CUSTOMCSS_FILE: css/custom.css
                    MM_MODULES_DIR: modules
                    MM_OVERRIDE_DEFAULT_MODULES: "true"
                    MM_SCENARIO: electron
                    MM_SHOW_CURSOR: "false"
                    WAYLAND_DISPLAY: wayland-0
                    XDG_RUNTIME_DIR: /run/user/1000
                  image: karsten13/magicmirror:latest
                  network_mode: host
                  privileged: true
                  restart: always
                  shm_size: "268435456"
                  volumes:
                    - type: bind
                      source: /tmp/.X11-unix
                      target: /tmp/.X11-unix
                      bind: {}
                    - type: bind
                      source: /home/pi/.Xauthority
                      target: /home/node/.Xauthority
                      bind: {}
                    - type: bind
                      source: /run/user/1000
                      target: /run/user/1000
                      bind: {}
                    - type: bind
                      source: /opt/mm/mounts/config
                      target: /opt/magic_mirror/config
                      bind: {}
                    - type: bind
                      source: /opt/mm/mounts/modules
                      target: /opt/magic_mirror/modules
                      bind: {}
                    - type: bind
                      source: /opt/mm/mounts/css/custom.css
                      target: /opt/magic_mirror/css/custom.css
                      bind: {}
                  post_start:
                    - command:
                        - /bin/sh
                        - -c
                        - |
                          [ "init" = "init" ] || exit 0
                          chown -R 1000:1000 config modules css/custom.css
                          chmod -R 777 config modules css/custom.css
                      user: root
                      environment:
                        MM_CHMOD: null
                        MM_GID: null
                        MM_INIT: null
                        MM_UID: null
              networks:
                default:
                  name: magicmirror_default
              
              

              Have a nice weekend!

              karsten13K 1 Reply Last reply Reply Quote 0
              • karsten13K Online
                karsten13 @Mathes75
                last edited by

                @Mathes75

                not sure I really fixed it but you can try

                cd /opt/mm
                git pull
                ./install/install.sh electron
                

                Let me know if there are still problems after reboot or not.

                M 1 Reply Last reply Reply Quote 0
                • M Offline
                  Mathes75 @karsten13
                  last edited by

                  Thanks @karsten13!

                  git pull needed a commit to work. Done. Installing Electron revealed no change to apply.

                  At least I seem to be one step further: Recreating the images as mentioned in a post above repeatedly resolved the "missing X Server"message each time and started MagicMirror…

                  As I am quite done with all changes and adaptions, I am fine to keep the workaround with recreating the image(s), once the mirror needs a restart.

                  karsten13K 1 Reply Last reply Reply Quote 0
                  • karsten13K Online
                    karsten13 @Mathes75
                    last edited by

                    @Mathes75

                    Let me know if you get another black screen without mm start after reboot (I want to know if it is fixed or not …)

                    Can you please show me again the output of docker compose config (so I can check if you have the latest changes)?

                    M 1 Reply Last reply Reply Quote 0
                    • M Offline
                      Mathes75 @karsten13
                      last edited by Mathes75

                      @karsten13 New issue. I did the

                      cd /opt/mm
                      git pull
                      ./install/install.sh electron
                      

                      again and now I’m facing:

                      pi@magicmirrorMB:/opt/mm $ ./install/install.sh electron
                      
                      --> Check docker installation
                      
                      Docker is already installed:
                      Docker version 29.1.3, build f52814d
                      Docker Compose version v5.0.1
                      Found no xserver or wayland so using own container
                      
                      --> Pulling container images and starting magicmirror
                      
                      Going to remove mm
                      [+] remove 1/1
                       ✔ Container mm Removed                                                                                                                                                            0.1s 
                      WARN[0000] No services to build                         
                      [+] up 2/2
                       ✘ Container labwc Error dependency labwc failed to start                                                                                                                          1.3s 
                       ✔ Container mm    Created                                                                                                                                                         0.6s 
                      dependency failed to start: container labwc has no healthcheck configured
                      

                      Don´t know what went wrong.

                      Output of docker compose config is:

                      pi@magicmirrorMB:/opt/mm/run $ docker compose config
                      name: magicmirror
                      services:
                        labwc:
                          container_name: labwc
                          environment:
                            LAB_WC_HIDE_CURSOR: "true"
                            RANDR_PARAMS: ""
                            RANDR_POLL: 1m
                            XDG_RUNTIME_DIR: /tmp/labwc
                          image: karsten13/labwc:latest
                          networks:
                            default: null
                          privileged: true
                          restart: always
                          volumes:
                            - type: bind
                              source: /tmp/labwc
                              target: /tmp/labwc
                              bind: {}
                            - type: bind
                              source: /run/udev
                              target: /run/udev
                              bind: {}
                        magicmirror:
                          container_name: mm
                          depends_on:
                            labwc:
                              condition: service_healthy
                              restart: true
                              required: true
                          environment:
                            DISPLAY: unix:0.0
                            ELECTRON_ENABLE_GPU: "0"
                            MM_CUSTOMCSS_FILE: css/custom.css
                            MM_MODULES_DIR: modules
                            MM_OVERRIDE_DEFAULT_MODULES: "true"
                            MM_SCENARIO: electron
                            MM_SHOW_CURSOR: "false"
                            WAYLAND_DISPLAY: wayland-0
                            XDG_RUNTIME_DIR: /tmp/labwc
                          image: karsten13/magicmirror:latest
                          network_mode: host
                          privileged: true
                          restart: always
                          shm_size: "268435456"
                          volumes:
                            - type: bind
                              source: /tmp/.X11-unix
                              target: /tmp/.X11-unix
                              bind: {}
                            - type: bind
                              source: /home/pi/.Xauthority
                              target: /home/node/.Xauthority
                              bind: {}
                            - type: bind
                              source: /tmp/labwc
                              target: /tmp/labwc
                              bind: {}
                            - type: bind
                              source: /opt/mm/mounts/config
                              target: /opt/magic_mirror/config
                              bind: {}
                            - type: bind
                              source: /opt/mm/mounts/modules
                              target: /opt/magic_mirror/modules
                              bind: {}
                            - type: bind
                              source: /opt/mm/mounts/css/custom.css
                              target: /opt/magic_mirror/css/custom.css
                              bind: {}
                          post_start:
                            - command:
                                - /bin/sh
                                - -c
                                - |
                                  if [ "init" = "init" ]; then
                                    # update volume permissions
                                    chown -R 1000:1000 config modules css/custom.css
                                    chmod -R 777 config modules css/custom.css
                                  fi
                                  if command -v node_modules/.bin/electron > /dev/null; then
                                    # if electron is installed then start dbus-daemon to avoid errors in the logs
                                    dbus-daemon --system || true
                                  fi
                              user: root
                      networks:
                        default:
                          name: magicmirror_default
                      
                      

                      Any way to get back to the easy issue?

                      karsten13K 1 Reply Last reply Reply Quote 0
                      • karsten13K Online
                        karsten13 @Mathes75
                        last edited by

                        @Mathes75

                        looks like you still have an old labwc image, try from /opt/mm/run folder:

                        docker compose pull
                        docker compose up -d
                        
                        M 1 Reply Last reply Reply Quote 0
                        • 1
                        • 2
                        • 2 / 2
                        • First post
                          Last post
                        Enjoying MagicMirror? Please consider a donation!
                        MagicMirror created by Michael Teeuw.
                        Forum managed by Sam, technical setup by Karsten.
                        This forum is using NodeBB as its core | Contributors
                        Contact | Privacy Policy