MagicMirror Forum
    • Recent
    • Tags
    • Unsolved
    • Solved
    • MagicMirror² Repository
    • Documentation
    • 3rd-Party-Modules
    • Donate
    • Discord
    • Register
    • Login
    1. Home
    2. ember1205
    3. Posts
    A New Chapter for MagicMirror: The Community Takes the Lead
    Read the statement by Michael Teeuw here.
    E Offline
    • Profile
    • Following 0
    • Followers 1
    • Topics 14
    • Posts 194
    • Groups 0

    Posts

    Recent Best Controversial
    • RE: Autostarts but doesn't run, will run on restart

      @sdetweil

      As long as you got it all fixed, then it was a good day!

      posted in Troubleshooting
      E
      ember1205
    • RE: Autostarts but doesn't run, will run on restart

      @sdetweil

      Now I have to find something else to break… sigh… :)

      posted in Troubleshooting
      E
      ember1205
    • RE: Autostarts but doesn't run, will run on restart

      @sdetweil

      Seems to be working reliably. Even why I simply do a “shutdown now” without any of my shutdown process items, it starts up correctly.

      posted in Troubleshooting
      E
      ember1205
    • RE: Autostarts but doesn't run, will run on restart

      @sdetweil said in Autostarts but doesn't run, will run on restart:

      cd ~
      rm -rf .config/chromium
      rm -rf .config/electron
      

      This was what you had mentioned earlier in the thread and worked, and it’s what I built my config wipe based on.

      posted in Troubleshooting
      E
      ember1205
    • RE: Autostarts but doesn't run, will run on restart

      @sdetweil

      Its trying to wipe a non-existent directory

      0|mm  | + rm -rf /home/pi/.config/chromium-browser
      
      posted in Troubleshooting
      E
      ember1205
    • RE: Autostarts but doesn't run, will run on restart

      @sdetweil

      Whatever it’s doing, it isn’t doing it correctly. “pm2 restart mm” lands me on the Chrome Desktop every time. I have to wipe the config folder by hand.

      posted in Troubleshooting
      E
      ember1205
    • RE: Autostarts but doesn't run, will run on restart

      @sdetweil

      Ok… Modified the ~/mm.sh script

      pm2 restart mm failed to start Chromium correctly - landed on the Chrome Desktop.
      Purged the config directory and started mm without issue.

      Restarted the mirror and everything came up clean multiple times, but there is clearly still something weird happening with Chromium in that I have to continue wiping the config directory before it will start up correctly.

      posted in Troubleshooting
      E
      ember1205
    • RE: Autostarts but doesn't run, will run on restart

      @sdetweil said in Autostarts but doesn't run, will run on restart:

      export wait_for_x=1

      That isn’t the mm.sh that my system launches from, though… Mine is ~/mm.sh

      Does the one you’re referencing get called from one of the other scripts?

      posted in Troubleshooting
      E
      ember1205
    • RE: Autostarts but doesn't run, will run on restart

      @sdetweil

      Happy to have broken it. Again. lol

      posted in Troubleshooting
      E
      ember1205
    • RE: Autostarts but doesn't run, will run on restart

      @sdetweil

      I removed the check I was running that was ensuring it would start correctly and put in the line you asked. I believe the log info you want is this:

      0|mm       | + '[' -f ./untrack-css.sh ']'
      0|mm       | + grep docker /proc/1/cgroup -qa
      0|mm       | + '[' -z :0 ']'
      0|mm       | ++ uname -m
      0|mm       | + arch=armv7l
      0|mm       | + false=false
      0|mm       | ++ grep -i serveronly:
      0|mm       | ++ awk -F: '{print tolower($2)}'
      0|mm       | ++ tr -d ',"'\''\r'
      0|mm       | ++ grep -v '^[[:blank:]]*//' config/config.js
      0|mm       | ++ sed -e 's/^[[:space:]]*//'
      0|mm       | + serveronly=local
      0|mm       | + serveronly=local
      0|mm       | + xprop -root
      0|mm       | xprop:  unable to open display ':0'
      0|mm       | ++ pgrep Xorg
      0|mm       | + xorg=
      0|mm       | + '[' . == . ']'
      0|mm       | ++ pgrep X
      0|mm       | + xorg=
      0|mm       | ++ uname
      0|mm       | + mac=Linux
      0|mm       | + '[' local. '!=' false. -o armv7l == armv6l ']'
      0|mm       | + '[' local. == true. ']'
      0|mm       | + '[' . == . -a Linux '!=' Darwin ']'
      0|mm       | + node serveronly
      
      

      Here’s the rest that goes with it “just in case”:

      /home/pi/.pm2/pm2.log last 100 lines:
      PM2        | 2022-05-11T08:48:46: PM2 log: PM2 successfully stopped
      PM2        | 2022-05-11T08:49:03: PM2 log: ===============================================================================
      PM2        | 2022-05-11T08:49:03: PM2 log: --- New PM2 Daemon started ----------------------------------------------------
      PM2        | 2022-05-11T08:49:03: PM2 log: Time                 : Wed May 11 2022 08:49:03 GMT-0400 (Eastern Daylight Time)
      PM2        | 2022-05-11T08:49:03: PM2 log: PM2 version          : 4.4.1
      PM2        | 2022-05-11T08:49:03: PM2 log: Node.js version      : 16.15.0
      PM2        | 2022-05-11T08:49:03: PM2 log: Current arch         : arm
      PM2        | 2022-05-11T08:49:03: PM2 log: PM2 home             : /home/pi/.pm2
      PM2        | 2022-05-11T08:49:03: PM2 log: PM2 PID file         : /home/pi/.pm2/pm2.pid
      PM2        | 2022-05-11T08:49:03: PM2 log: RPC socket file      : /home/pi/.pm2/rpc.sock
      PM2        | 2022-05-11T08:49:03: PM2 log: BUS socket file      : /home/pi/.pm2/pub.sock
      PM2        | 2022-05-11T08:49:03: PM2 log: Application log path : /home/pi/.pm2/logs
      PM2        | 2022-05-11T08:49:03: PM2 log: Worker Interval      : 30000
      PM2        | 2022-05-11T08:49:03: PM2 log: Process dump file    : /home/pi/.pm2/dump.pm2
      PM2        | 2022-05-11T08:49:03: PM2 log: Concurrent actions   : 2
      PM2        | 2022-05-11T08:49:03: PM2 log: SIGTERM timeout      : 1600
      PM2        | 2022-05-11T08:49:03: PM2 log: ===============================================================================
      PM2        | 2022-05-11T08:49:04: PM2 log: App [mm:0] starting in -fork mode-
      PM2        | 2022-05-11T08:49:04: PM2 log: App [mm:0] online
      
      
      /home/pi/.pm2/logs/mm-out.log last 100 lines:
      0|mm       |
      0|mm       | > magicmirror@2.13.0 start
      0|mm       | > ./run-start.sh
      0|mm       |
      0|mm       | [2022-05-11 08:49:14.433] [LOG]    Starting MagicMirror: v2.13.0
      0|mm       | [2022-05-11 08:49:14.450] [LOG]    Loading config ...
      0|mm       | [2022-05-11 08:49:14.465] [LOG]    Loading module helpers ...
      0|mm       | [2022-05-11 08:49:15.909] [LOG]    Initializing new module helper ...
      0|mm       | [2022-05-11 08:49:15.914] [LOG]    Module helper loaded: MMM-ImagesPhotos
      0|mm       | [2022-05-11 08:49:15.923] [LOG]    No helper found for module: alert.
      0|mm       | [2022-05-11 08:49:16.037] [LOG]    Initializing new module helper ...
      0|mm       | [2022-05-11 08:49:16.040] [LOG]    Module helper loaded: updatenotification
      0|mm       | [2022-05-11 08:49:16.044] [LOG]    No helper found for module: clock.
      0|mm       | [2022-05-11 08:49:16.351] [LOG]    Initializing new module helper ...
      0|mm       | [2022-05-11 08:49:16.353] [LOG]    Module helper loaded: calendar
      0|mm       | [2022-05-11 08:49:16.401] [LOG]    No helper found for module: currentweather.
      0|mm       | [2022-05-11 08:49:16.576] [LOG]    No helper found for module: weatherforecast.
      0|mm       | [2022-05-11 08:49:16.578] [LOG]    All module helpers loaded.
      0|mm       | [2022-05-11 08:49:18.093] [LOG]    Starting server on port 8080 ...
      0|mm       | [2022-05-11 08:49:18.123] [LOG]    Server started ...
      0|mm       | [2022-05-11 08:49:18.126] [LOG]    Connecting socket for: MMM-ImagesPhotos
      0|mm       | [2022-05-11 08:49:18.127] [LOG]    Starting node helper for: MMM-ImagesPhotos
      0|mm       | [2022-05-11 08:49:18.130] [LOG]    Connecting socket for: updatenotification
      0|mm       | [2022-05-11 08:49:18.132] [LOG]    Connecting socket for: calendar
      0|mm       | [2022-05-11 08:49:18.134] [LOG]    Starting node helper for: calendar
      0|mm       | [2022-05-11 08:49:18.135] [LOG]    Sockets connected & modules started ...
      0|mm       | [2022-05-11 08:49:18.137] [LOG]
      0|mm       | Ready to go! Please point your browser to: http://0.0.0.0:8080
      
      
      
      posted in Troubleshooting
      E
      ember1205
    • RE: Autostarts but doesn't run, will run on restart

      @sdetweil

      Oh… now I follow.

      posted in Troubleshooting
      E
      ember1205
    • RE: Autostarts but doesn't run, will run on restart

      @sdetweil said in Autostarts but doesn't run, will run on restart:

      … my pi 0 now comes up instead of the chrome desktop
      which was random before…

      Not sure I’m following what this should mean?

      posted in Troubleshooting
      E
      ember1205
    • RE: Autostarts but doesn't run, will run on restart

      @sdetweil

      The test I’m referring to checks to see if X is running. If not, it moves on to test for Lubuntu. If that also fails, it assumes server only and moves on.

      I do recall seeing a specific Docker test at the very beginning of the script, but that’s a fair bit earlier than where I’ve added this check (which is right before the “pgrep Xorg” line).

      posted in Troubleshooting
      E
      ember1205
    • RE: Autostarts but doesn't run, will run on restart

      @sdetweil

      Correct syntax would need to be:

        raspberry_pi=$(grep ^ID= /etc/os-release | cut -f2 -d=)
        if [ "$raspberry_pi." == "raspbian" ] ; then
         sleep 2
        fi
      
      

      The RPi 3B+ is a little slower to initialize on Bullseye versus Buster. Any time a device is running a slightly heavier OS and needs a little more time to finish booting up, I could see this occurring. The question is, do you solve it with a fix that impacts everyone (“sleep 2” or similar), test for particular OS/HW combo’s, or is there another process to look for that would better indicate when the system should be finished initializing?

      Right now, it looks for X and just “moves on” when it isn’t found and assumes some sort of mistake or something in the config. Great as a fail-safe, but creates a new occasional issue to be dealt with.

      posted in Troubleshooting
      E
      ember1205
    • RE: Autostarts but doesn't run, will run on restart

      @sdetweil

      Would there be more value in coding in a check for to see if it’s Raspbian or possibly even bullseye and adding a two second sleep if there is?

      raspberry_pi=$(grep ID /etc/os-release | cut -f2 -d=)
      if [ "$raspberry_pi." == "raspbian" ] ; then
         sleep 2
      fi
      xorg=$(pgrep Xorg)
      

      Maybe there’s a better string to search for, but it might be a stop-gap that would help?

      posted in Troubleshooting
      E
      ember1205
    • RE: Autostarts but doesn't run, will run on restart

      @sdetweil

      Sleep 10 allows the browser to correctly launch. I will drop to 1 second and validate that it will work or not (if not, I will tweak and tune).

      Even with the sleep function ensuring that it allows X to finish initializing, chromium does not start correctly unless I wipe the ~/.config/chromium directory when I shut down.

      posted in Troubleshooting
      E
      ember1205
    • RE: Autostarts but doesn't run, will run on restart

      @sdetweil

      I just edited the run-start.sh script and inserted a ten second sleep before the pgrep command. It’s a bit “extreme”, but should hopefully demonstrate if that’s the issue.

      WIthout the sleep, not detecting X simply moves on to a different test instead of trying again at least once before moving on.

      posted in Troubleshooting
      E
      ember1205
    • RE: Autostarts but doesn't run, will run on restart

      @sdetweil

      It almost seems like the X desktop isn’t fully initialized when the pgrep command executes and it isn’t collecting info on the process as a result. The restart NEVER happens until X is fully initialized which means that it -can- collect info on the process from a restart or stop/start.

      posted in Troubleshooting
      E
      ember1205
    • RE: Autostarts but doesn't run, will run on restart

      @sdetweil

      I’m seeing a discrepancy where on boot it’s collecting xorg= blank versus xorg=755 on a stop/start after boot.

      posted in Troubleshooting
      E
      ember1205
    • RE: Autostarts but doesn't run, will run on restart

      @sdetweil

      Here’s a portion of the log when doing a stop and a start (without reboot):

      0|mm       | + false=false
      0|mm       | ++ grep -v '^[[:blank:]]*//' config/config.js
      0|mm       | ++ grep -i serveronly:
      0|mm       | ++ awk -F: '{print tolower($2)}'
      0|mm       | ++ sed -e 's/^[[:space:]]*//'
      0|mm       | ++ tr -d ',"'\''\r'
      0|mm       | + serveronly=local
      0|mm       | + serveronly=local
      0|mm       | ++ pgrep Xorg
      0|mm       | + xorg=755
      0|mm       | + '[' 755. == . ']'
      0|mm       | ++ uname
      0|mm       | + mac=Linux
      0|mm       | + '[' local. '!=' false. -o armv7l == armv6l ']'
      0|mm       | + '[' local. == true. ']'
      0|mm       | + '[' 755. == . -a Linux '!=' Darwin ']'
      0|mm       | + exec
      0|mm       | + read line
      0|mm       | ++ node serveronly
      0|mm       | + case "$line" in
      0|mm       | + echo '[2022-05-10' '15:14:59.203]' '[LOG]' Starting MagicMirror: v2.13.0
      0|mm       | + read line
      0|mm       | + case "$line" in
      0|mm       | + echo '[2022-05-10' '15:14:59.220]' '[LOG]' Loading config ...
      0|mm       | + read line
      0|mm       | + case "$line" in
      0|mm       | + echo '[2022-05-10' '15:14:59.231]' '[LOG]' Loading module helpers ...
      0|mm       | + read line
      0|mm       | + case "$line" in
      0|mm       | + echo '[2022-05-10' '15:14:59.936]' '[LOG]' Initializing new module helper ...
      0|mm       | + read line
      0|mm       | + case "$line" in
      0|mm       | + echo '[2022-05-10' '15:14:59.938]' '[LOG]' Module helper loaded: MMM-ImagesPhotos
      0|mm       | + read line
      0|mm       | + case "$line" in
      0|mm       | + echo '[2022-05-10' '15:14:59.943]' '[LOG]' No helper found for module: alert.
      0|mm       | + read line
      0|mm       | + case "$line" in
      0|mm       | + echo '[2022-05-10' '15:15:00.042]' '[LOG]' Initializing new module helper ...
      0|mm       | + read line
      0|mm       | + case "$line" in
      0|mm       | + echo '[2022-05-10' '15:15:00.050]' '[LOG]' Module helper loaded: updatenotification
      0|mm       | + read line
      0|mm       | + case "$line" in
      0|mm       | + echo '[2022-05-10' '15:15:00.059]' '[LOG]' No helper found for module: clock.
      0|mm       | + read line
      0|mm       | + case "$line" in
      0|mm       | + echo '[2022-05-10' '15:15:00.274]' '[LOG]' Initializing new module helper ...
      0|mm       | + read line
      0|mm       | + case "$line" in
      0|mm       | + echo '[2022-05-10' '15:15:00.278]' '[LOG]' Module helper loaded: calendar
      0|mm       | + read line
      0|mm       | + case "$line" in
      0|mm       | + echo '[2022-05-10' '15:15:00.280]' '[LOG]' No helper found for module: currentweather.
      0|mm       | + read line
      0|mm       | + case "$line" in
      0|mm       | + echo '[2022-05-10' '15:15:00.282]' '[LOG]' No helper found for module: weatherforecast.
      0|mm       | + read line
      0|mm       | + case "$line" in
      0|mm       | + echo '[2022-05-10' '15:15:00.284]' '[LOG]' All module helpers loaded.
      0|mm       | + read line
      0|mm       | + case "$line" in
      0|mm       | + echo '[2022-05-10' '15:15:00.471]' '[LOG]' Starting server on port 8080 ...
      0|mm       | + read line
      0|mm       | + case "$line" in
      0|mm       | + echo '[2022-05-10' '15:15:00.496]' '[LOG]' Server started ...
      0|mm       | + read line
      0|mm       | + case "$line" in
      0|mm       | + echo '[2022-05-10' '15:15:00.498]' '[LOG]' Connecting socket for: MMM-ImagesPhotos
      0|mm       | + read line
      0|mm       | + case "$line" in
      0|mm       | + echo '[2022-05-10' '15:15:00.500]' '[LOG]' Starting node helper for: MMM-ImagesPhotos
      0|mm       | + read line
      0|mm       | + case "$line" in
      0|mm       | + echo '[2022-05-10' '15:15:00.502]' '[LOG]' Connecting socket for: updatenotification
      0|mm       | + read line
      0|mm       | + case "$line" in
      0|mm       | + echo '[2022-05-10' '15:15:00.504]' '[LOG]' Connecting socket for: calendar
      0|mm       | + read line
      0|mm       | + case "$line" in
      0|mm       | + echo '[2022-05-10' '15:15:00.505]' '[LOG]' Starting node helper for: calendar
      0|mm       | + read line
      0|mm       | + case "$line" in
      0|mm       | + echo '[2022-05-10' '15:15:00.506]' '[LOG]' Sockets connected '&' modules started ...
      0|mm       | + read line
      0|mm       | + case "$line" in
      0|mm       | + echo '[2022-05-10' '15:15:00.507]' '[LOG]'
      0|mm       | + read line
      0|mm       | + case "$line" in
      0|mm       | + echo Ready to 'go!' Please point your browser to: http://0.0.0.0:8080
      0|mm       | + break
      0|mm       | ++ echo Ready to 'go!' Please point your browser to: http://0.0.0.0:8080
      0|mm       | ++ awk -F: '{print $4}'
      0|mm       | + port=8080
      0|mm       | + echo 'Starting chromium browser now, have patience, it takes a minute'
      0|mm       | + '[' Linux '!=' Darwin ']'
      0|mm       | + tee
      0|mm       | ++ which chromium-browser
      0|mm       | + '[' /usr/bin/chromium-browser '!=' '' ']'
      0|mm       | + chromium-browser -noerrdialogs -kiosk -start_maximized --disable-infobars --app=http://localhost:8080 --ignore-certificate-errors-spki-list --ignore-ssl-errors --ignore-certificate-errors
      
      
      posted in Troubleshooting
      E
      ember1205
    • 1 / 1