RetroPie forum home
    • Recent
    • Tags
    • Popular
    • Home
    • Docs
    • Register
    • Login
    Please do not post a support request without first reading and following the advice in https://retropie.org.uk/forum/topic/3/read-this-first

    Restart ES via bash script!

    Scheduled Pinned Locked Moved Help and Support
    restartemulationstatio
    13 Posts 5 Posters 4.0k Views
    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.
    • TMNTturtlguyT
      TMNTturtlguy @cyperghost
      last edited by

      @cyperghost awesome! Do I have your permission to add this code into my script for each of the Es change functions? I don't see the need for this in the retropie menu but rather right within my script for my use case. Thanks for figuring this out so quickly!

      1 Reply Last reply Reply Quote 1
      • cyperghostC
        cyperghost @BuZz
        last edited by

        @BuZz No, but this drive me nuts .... I knew there is a solution!

        • I listed the cpp code of ES
        • watched services from RetroPie
        • listed bash scripts from ES
        • ...and yes ES checks for the existance of empty description files

        So my first intension not to kill all child processes was 100% right but then I looked to @TMNTturtlguy script and in the file '/usr/bin/emulationstation' is the path to victory :)

        Next time I use "EUREKA", right?

        @TMNTturtlguy of course you can use this in your script. Just write a small contribution within. But please be aware of future changes in ES.

        I'm very thankfull for your attempts because I asked me why you want to create empty files. But they are important for the boot staring progress.

        Again: Please take care of future version. This script just kills the latest PID of ES!

        1 Reply Last reply Reply Quote 0
        • cyperghostC
          cyperghost
          last edited by cyperghost

          This post is deleted!
          1 Reply Last reply Reply Quote 0
          • cyperghostC
            cyperghost
            last edited by cyperghost

            New coder new solution - @BuZz created a nice two liner

            RetroPie-setup 4.2.8 needed (released 06/16/2017)

            #!/bin/bash
            #Restart ES via Bash script v1.1
            #06/16/2017 v1.0
            #intensive rework done by BuZz all greetings fly out to him
            #special thank to @TMNTturtlguy  for bug hunting!
            #version 06/17/17 slightly modified by meleu
            touch /tmp/es-restart
            pkill -f "/opt/retropie/supplementary/.*/emulationstation([^.]|$)"
            

            It was tested several times by @BuZz @TMNTturtlguy and myself.

            How to:
            Copy this script to /home/pi/RetroPie/retropiemenu/´ Create bash file like Restart ES`there
            Give file permission and user pi:pi 755



            Attention: RetroPie-setup < 4.2.8 (realease date 06/16/2017) should use sudo -u pi touch /tmp/es-restart

            That resolves problems with data permission!

            Source:
            https://retropie.org.uk/forum/topic/11043/how-to-restart-es-from-a-script/73

            BuZzB 1 Reply Last reply Reply Quote 0
            • BuZzB
              BuZz administrators @cyperghost
              last edited by BuZz

              @cyperghost with the latest retropie-setup you can remove the sudo -u pi btw.

              To help us help you - please make sure you read the sticky topics before posting - https://retropie.org.uk/forum/topic/3/read-this-first

              1 Reply Last reply Reply Quote 1
              • cyperghostC
                cyperghost
                last edited by

                done

                BuZzB 1 Reply Last reply Reply Quote 0
                • BuZzB
                  BuZz administrators @cyperghost
                  last edited by

                  @cyperghost (retropie-setup 4.2.8)

                  To help us help you - please make sure you read the sticky topics before posting - https://retropie.org.uk/forum/topic/3/read-this-first

                  cyperghostC 1 Reply Last reply Reply Quote 1
                  • cyperghostC
                    cyperghost @BuZz
                    last edited by cyperghost

                    @BuZz clearly written!
                    Made Bash rework

                    pi@retropie:~ $ touch /tmp/es-restart
                    pi@retropie:~ $ pkill -f -e "/opt/retropie/supplementary/.*/emulationstation$"
                    emulationstatio killed (pid 999)
                    

                    Only one PID killed! Three alive!

                    1 Reply Last reply Reply Quote 0
                    • paffleyP
                      paffley
                      last edited by

                      Hi,

                      Sorry I know this is an old thread but thought it was relevant to my question :)

                      Currently using 4.4

                      My script below, it works fine but it outputs:

                      rm: cannot remove '/tmp/es-restart': Operation not permitted

                      Script

                      #!/usr/bin/env bash
                      rm /opt/retropie/configs/all/emulationstation/es_settings.cfg
                      cp /opt/retropie/configs/all/emulationstation/emulationstation_swap/megadrivejapanmini/es_settings.cfg /opt/retropie/configs/all/emulationstation/ 
                              echo -e "\n\n\n                               Theme set to: Mega Drive Japan mini\n\n\n"
                      
                      sudo touch "/tmp/es-restart"
                      sleep 3
                      kill $(pgrep -l -n emulationstatio | awk '!/grep/ {printf "%s ",$1}')
                      sudo rm -f "/tmp/es-restart"
                      

                      I currently have it to swap out the es_settings.cfg file but going to adapt it to search es_settings.cfg for the actual text command and change on the fly but for now I'm just trying to see what the options are for restarting ES after the first initial command has been activated.

                      Would just like to know if there is a new approach to restarting es without the use of es-restart ?

                      mituM 1 Reply Last reply Reply Quote 0
                      • mituM
                        mitu Global Moderator @paffley
                        last edited by

                        @paffley You should start a new topic.

                        paffleyP 1 Reply Last reply Reply Quote 0
                        • paffleyP
                          paffley @mitu
                          last edited by

                          @mitu said in Restart ES via bash script!:

                          @paffley You should start a new topic.

                          Thanks @mitu I solved my problem so no need to start a new topic. I also changed from rm/cp to the grep command to edit the existing es_settings.cfg

                          I did the above so I could change themes from within the retropie system whilst in Kiosk mode, also have done the same for screen ratio's and overlays :)

                          Cheers!

                          1 Reply Last reply Reply Quote 0
                          • First post
                            Last post

                          Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.

                          Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.