# Get node red running before chrome on pi

**URL:** <https://discourse.nodered.org/t/get-node-red-running-before-chrome-on-pi/59748>\
**Category:** General\
**Created:** [12 March 2022 11:21 UTC](https://discourse.nodered.org/t/get-node-red-running-before-chrome-on-pi/59748 "2022-03-12T11:21:28Z")\
**Posts on this page:** 12\
**Page:** 1

<div class="post-metadata">

**Author:** ![vikingsraven](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/vikingsraven/32/49243_2.png) [@vikingsraven](https://discourse.nodered.org/u/vikingsraven)\
**Post date:** [12 March 2022 11:21 UTC](https://discourse.nodered.org/t/get-node-red-running-before-chrome-on-pi/59748/1 "2022-03-12T11:21:28Z")

</div>

Hi all,  
im trying to make a control unit for interfacing devices.  
When i try to set up the pi to run as a Kiosk device, i get the desktop appear , then chrome ,then node red service runs.  
So the UI page opens but the node red UI isn't there till after a second or two.  
I would like to know how i can change the node red service to operate before the chrome screen.  
What im after is;  
Boot up with Splash Screen ( this is done but not as good as id like )  
then UI interface appears.  
for now if i can get node red to run before chrome this will help, i can search for the other stuff out side this.

---

<div class="post-metadata">

**Author:** ![Colin](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/colin/32/17040_2.png) [@Colin](https://discourse.nodered.org/u/Colin)\
**Post date:** [12 March 2022 11:37 UTC](https://discourse.nodered.org/t/get-node-red-running-before-chrome-on-pi/59748/2 "2022-03-12T11:37:50Z")

</div>

How are you starting node red and how are you starting Chrome?

---

<div class="post-metadata">

**Author:** ![vikingsraven](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/vikingsraven/32/49243_2.png) [@vikingsraven](https://discourse.nodered.org/u/vikingsraven)\
**Post date:** [12 March 2022 11:56 UTC](https://discourse.nodered.org/t/get-node-red-running-before-chrome-on-pi/59748/3 "2022-03-12T11:56:44Z")

</div>

Node red im using the  
`sudo systemctl enable nodered.service`  
for chrome im using /etc/xdg/lxsession/LXDE-pi/autostart

```auto
@lxpanel --profile LXDE-pi
@pcmanfm --desktop --profile LXDE-pi
@xscreensaver -no-splash
@xset s off
@xset -dpms
@xset s no blank
@chromium-browser --kiosk --noerrdialogs --disable-infobars http://127.0.0.1:1880/ui/

```

---

<div class="post-metadata">

**Author:** ![Colin](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/colin/32/17040_2.png) [@Colin](https://discourse.nodered.org/u/Colin)\
**Post date:** [12 March 2022 12:05 UTC](https://discourse.nodered.org/t/get-node-red-running-before-chrome-on-pi/59748/4 "2022-03-12T12:05:19Z")

</div>

You can't make node-red startup any quicker, so you will have to work out how to delay the chrome startup. That isn't a node-red issue. Googling suggests that the best route may be to create a shell script that starts chrome after a delay, and run that via autostart.

---

<div class="post-metadata">

**Author:** ![vikingsraven](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/vikingsraven/32/49243_2.png) [@vikingsraven](https://discourse.nodered.org/u/vikingsraven)\
**Post date:** [12 March 2022 12:06 UTC](https://discourse.nodered.org/t/get-node-red-running-before-chrome-on-pi/59748/5 "2022-03-12T12:06:54Z")

</div>

@Colin  
ok thanks for that. ill look into it a bit more then.

---

<div class="post-metadata">

**Author:** ![Colin](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/colin/32/17040_2.png) [@Colin](https://discourse.nodered.org/u/Colin)\
**Post date:** [12 March 2022 12:10 UTC](https://discourse.nodered.org/t/get-node-red-running-before-chrome-on-pi/59748/6 "2022-03-12T12:10:19Z")

</div>

> [@Colin](#):
>
> You can't make node-red startup any quicker

Having said that then there could be a problem with yours which slows down the startup. How long does it take node-red to startup and what hardware are you running on?

---

<div class="post-metadata">

**Author:** ![vikingsraven](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/vikingsraven/32/49243_2.png) [@vikingsraven](https://discourse.nodered.org/u/vikingsraven)\
**Post date:** [12 March 2022 15:41 UTC](https://discourse.nodered.org/t/get-node-red-running-before-chrome-on-pi/59748/7 "2022-03-12T15:41:48Z")

</div>

just removed it all, ill set it back up and have a time. Its not slow by any means but ill check.

---

<div class="post-metadata">

**Author:** ![Steve-Mcl](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/steve-mcl/32/4826_2.png) [@Steve-Mcl](https://discourse.nodered.org/u/Steve-Mcl)\
**Post date:** [12 March 2022 15:53 UTC](https://discourse.nodered.org/t/get-node-red-running-before-chrome-on-pi/59748/8 "2022-03-12T15:53:50Z")

</div>

> [@vikingsraven](#):
>
> `@chromium-browser --kiosk --noerrdialogs --disable-infobars http://127.0.0.1:1880/ui/`

Couldn't you point the `@chromium-browser` entry to a URL that is essentially a "splash page" that (in its scripts) checks the availability of `http://127.0.0.1:1880/ui/` (using fetch) then redirects once `http://127.0.0.1:1880/ui/` is responding?

---

<div class="post-metadata">

**Author:** ![vikingsraven](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/vikingsraven/32/49243_2.png) [@vikingsraven](https://discourse.nodered.org/u/vikingsraven)\
**Post date:** [12 March 2022 16:08 UTC](https://discourse.nodered.org/t/get-node-red-running-before-chrome-on-pi/59748/9 "2022-03-12T16:08:01Z")

</div>

@Steve-Mcl ideally yes but, i have no idea how to do that at present. 😁  
currently trying different kiosk options for the pi, once i have found best solution i will try that

---

<div class="post-metadata">

**Author:** ![Steve-Mcl](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/steve-mcl/32/4826_2.png) [@Steve-Mcl](https://discourse.nodered.org/u/Steve-Mcl)\
**Post date:** [12 March 2022 16:36 UTC](https://discourse.nodered.org/t/get-node-red-running-before-chrome-on-pi/59748/10 "2022-03-12T16:36:57Z")

</div>

Its very simple TBH.

- Create a new file called `splash.html` somewhere useful/accessible
- Enter the below code...

```auto
<!DOCTYPE html>
<html>
<head>
    <meta charset='utf-8'>
    <meta http-equiv='X-UA-Compatible' content='IE=edge'>
    <title>Splash Screen</title>
    <meta name='viewport' content='width=device-width, initial-scale=1'>
</head>
<body>
    <h1>Loading Dashboard...</h1>
    <script>
        setInterval(e => {
            fetch('http://localhost:1880/ui')
            .then(function(response) {
                window.location = 'http://localhost:1880/ui';
            })
            .catch(e => {});
        }, 2000)
    </script>
</body>
</html>

```

- Test it
- Make it prettier 🙂
- Set the `@chromium-browser` entry to load the splash.html (enter the full path)
- Reboot

Works on windows box in chrome.

---

<div class="post-metadata">

**Author:** ![vikingsraven](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/vikingsraven/32/49243_2.png) [@vikingsraven](https://discourse.nodered.org/u/vikingsraven)\
**Post date:** [12 March 2022 16:53 UTC](https://discourse.nodered.org/t/get-node-red-running-before-chrome-on-pi/59748/11 "2022-03-12T16:53:14Z")

</div>

@Steve-Mcl

> [@Steve-Mcl](#):
>
> Its very simple TBH

probably is if you get html :), thanks ill read and digest then try!

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/1X/d073cd938eafa2e558d7c2cd59003b3ef4963033.png) [@system](https://discourse.nodered.org/u/system)\
**Post date:** [26 March 2022 16:53 UTC](https://discourse.nodered.org/t/get-node-red-running-before-chrome-on-pi/59748/12 "2022-03-26T16:53:44Z")

</div>

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.
