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 @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 Offline
        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 Offline
            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 Offline
                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 Offline
                    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
                    • M Offline
                      Mathes75 @karsten13
                      last edited by

                      @karsten13
                      Back to function! Several restarts without blank screen!

                      Output of docker compose config - in case it is useful…

                      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
                      
                      
                      M 1 Reply Last reply Reply Quote 1
                      • M Offline
                        Mathes75 @Mathes75
                        last edited by

                        Pi rebooted twice today (initiated by myself) and issue didn’t come back - I think this can bei marked as resolved - thanks a lot!

                        Now I can take care about Python and fritzconnector…

                        S 1 Reply Last reply Reply Quote 0
                        • 1
                        • 2
                        • 1 / 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