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 Unsolved Troubleshooting
    7 Posts 3 Posters 131 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.
    • M Offline
      Mathes75
      last edited by

      G’Morning everyone reading this!

      Yesterday I set up a new MagicMirror, using a Raspberry Pi 3 B+, a 16GB SD with the most recent image from https://gitlab.com/khassel/magicmirror, connected to a HDMI monitor.
      It fired up, did some magic, I was able to install my favorite modules, but after individualizing the config.js to use those modules (MMM-WordClock, MMM-Remote-Control) and to customize my view, the MagicMirror just starts every third (hard-)reboot.

      docker logs mm output:

      [entrypoint 07:02:17.102] [INFO]  symlink default modules
      [2026-01-09 08:02:20.468] [LOG]   [app] Starting MagicMirror: v2.34.0 
      [2026-01-09 08:02:20.489] [LOG]   [app] Loading config ... 
      [2026-01-09 08:02:20.496] [LOG]   [app] config template file not exists, no envsubst 
      [2026-01-09 08:02:21.782] [INFO]  [check_config] Checking config file /opt/magic_mirror/config/config.js ... 
      [2026-01-09 08:02:22.038] [INFO]  [check_config] Your configuration file doesn't contain syntax errors :) 
      [2026-01-09 08:02:22.042] [INFO]  [check_config] Checking modules structure configuration ... 
      [2026-01-09 08:02:22.352] [INFO]  [check_config] Your modules structure configuration doesn't contain errors :) 
      [2026-01-09 08:02:22.358] [LOG]   [app] Loading module helpers ... 
      [2026-01-09 08:02:22.362] [LOG]   [app] No helper found for module: MMM-WordClock. 
      [2026-01-09 08:02:22.364] [LOG]   [app] No helper found for module: alert. 
      [2026-01-09 08:02:22.386] [LOG]   [node_helper] Initializing new module helper ... 
      [2026-01-09 08:02:22.388] [LOG]   [node_helper] Module helper loaded: updatenotification 
      [2026-01-09 08:02:22.390] [LOG]   [app] No helper found for module: clock. 
      [2026-01-09 08:02:22.560] [LOG]   [node_helper] Initializing new module helper ... 
      [2026-01-09 08:02:22.562] [LOG]   [node_helper] Module helper loaded: calendar 
      [2026-01-09 08:02:22.563] [LOG]   [app] No helper found for module: weather. 
      [2026-01-09 08:02:22.763] [LOG]   [node_helper] Initializing new module helper ... 
      [2026-01-09 08:02:22.764] [LOG]   [node_helper] Module helper loaded: newsfeed 
      [2026-01-09 08:02:22.957] [LOG]   [node_helper] Initializing new module helper ... 
      [2026-01-09 08:02:22.958] [LOG]   [node_helper] Module helper loaded: MMM-Remote-Control 
      [2026-01-09 08:02:22.960] [LOG]   [app] All module helpers loaded. 
      [2026-01-09 08:02:22.980] [LOG]   [server] Starting server on port 8080 ...  
      [2026-01-09 08:02:22.986] [WARN]  [server] You're using a full whitelist configuration to allow for all IPs 
      [2026-01-09 08:02:23.076] [LOG]   [app] Server started ... 
      [2026-01-09 08:02:23.079] [LOG]   [node_helper] Connecting socket for: updatenotification 
      [2026-01-09 08:02:23.081] [LOG]   [node_helper] Starting module helper: updatenotification 
      [2026-01-09 08:02:23.083] [LOG]   [node_helper] Connecting socket for: calendar 
      [2026-01-09 08:02:23.085] [LOG]   [calendar] Starting node helper for: calendar 
      [2026-01-09 08:02:23.087] [LOG]   [node_helper] Connecting socket for: newsfeed 
      [2026-01-09 08:02:23.088] [LOG]   [newsfeed] Starting node helper for: newsfeed 
      [2026-01-09 08:02:23.090] [LOG]   [node_helper] Connecting socket for: MMM-Remote-Control 
      [2026-01-09 08:02:23.092] [LOG]   [MMM-Remote-Control] Starting node helper for: MMM-Remote-Control 
      [2026-01-09 08:02:23.108] [LOG]   [app] Sockets connected & modules started ... 
      [22:0109/070223.113337:ERROR:ui/ozone/platform/x11/ozone_platform_x11.cc:249] Missing X server or $DISPLAY
      [22:0109/070223.113675:ERROR:ui/aura/env.cc:257] The platform failed to initialize.  Exiting.
      /opt/magic_mirror/node_modules/electron/dist/electron exited with signal SIGSEGV
      

      I tried to use the search, but as I am running the lite OS without X Server, I don’t know where to start.

      A successful start with everything displaying fine gives something strange in the logs:

      [2026-01-09 09:38:26.915] [LOG]   [app] Sockets connected & modules started ... 
      [21:0109/083829.686193:ERROR:dbus/bus.cc:408] Failed to connect to the bus: Failed to connect to socket /run/user/1000/bus: No such file or directory
      [21:0109/083829.686503:ERROR:dbus/bus.cc:408] Failed to connect to the bus: Failed to connect to socket /run/user/1000/bus: No such file or directory
      [21:0109/083829.686874:ERROR:dbus/bus.cc:408] Failed to connect to the bus: Failed to connect to socket /run/user/1000/bus: No such file or directory
      [2026-01-09 09:38:30.770] [LOG]   [electron] Launching application. 
      [21:0109/083832.536207:ERROR:dbus/object_proxy.cc:573] Failed to call method: org.freedesktop.DBus.NameHasOwner: object_path= /org/freedesktop/DBus: unknown error type: 
      [21:0109/083832.553143:ERROR:dbus/bus.cc:408] Failed to connect to the bus: Failed to connect to socket /run/user/1000/bus: No such file or directory
      [21:0109/083832.553419:ERROR:dbus/bus.cc:408] Failed to connect to the bus: Failed to connect to socket /run/user/1000/bus: No such file or directory
      [21:0109/083832.553587:ERROR:dbus/bus.cc:408] Failed to connect to the bus: Failed to connect to socket /run/user/1000/bus: No such file or directory
      [21:0109/083832.554321:ERROR:dbus/bus.cc:408] Failed to connect to the bus: Failed to connect to socket /run/user/1000/bus: No such file or directory
      [21:0109/083832.554443:ERROR:dbus/object_proxy.cc:573] Failed to call method: org.freedesktop.DBus.NameHasOwner: object_path= /org/freedesktop/DBus: unknown error type: 
      [2026-01-09 09:38:43.125] [INFO]  [utils] 
      ####  System Information  ####
      - SYSTEM:   manufacturer: ; model: Docker Container; virtual: false; MM: 2.34.0
      - OS:       platform: linux; distro: Debian GNU/Linux; release: 13; arch: arm64; kernel: 6.12.47+rpt-rpi-v8
      - VERSIONS: electron: 39.2.7; used node: 22.21.1; installed node: 24.12.0; npm: 11.7.0; pm2: 
      - ENV:      XDG_SESSION_TYPE: undefined; MM_CONFIG_FILE: undefined
                  WAYLAND_DISPLAY:  wayland-0; DISPLAY: unix:0.0; ELECTRON_ENABLE_GPU: 0
      - RAM:      total: 906.04 MB; free: 443.12 MB; used: 462.92 MB
      - OTHERS:   uptime: 2 minutes; timeZone: Europe/Berlin 
      
      
      S 1 Reply Last reply Reply Quote 0
      • S Do not disturb
        sdetweil @Mathes75
        last edited by sdetweil

        @Mathes75 you are runnng the pios with desktop,
        correct. ?

        A browser requires the graphical desktop as all the ui is drawn in graphics mode

        Sam

        How to add modules

        learning how to use browser developers window for css changes

        S 1 Reply Last reply Reply Quote 0
        • S Do not disturb
          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 Offline
            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 Do not disturb
              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!

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