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 @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 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
                        • 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