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.
    • 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
                  • 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
                      • S Offline
                        sdetweil @Mathes75
                        last edited by

                        @Mathes75 can you find the message that best explains the fix,
                        click the 3 dots to the right and select
                        Mark this post as the correct answer

                        Sam

                        How to add modules

                        learning how to use browser developers window for css changes

                        1 Reply Last reply Reply Quote 0
                        • M Mathes75 has marked this topic as solved
                        • 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