How to have an /etc/xdg/autostart/app.desktop service wait for a (systemd) service?

The name of the pictureThe name of the pictureThe name of the pictureClash Royale CLAN TAG#URR8PPP

up vote
1
down vote

favorite

TLDR:

How to have an /etc/xdg/autostart/app.desktop service wait for a systemd service?

Long:

I have an app started by /etc/xdg/autostart/app.desktop that requires a systemd service to be started first.

I would like to avoid some sleep/wait/custom code if there is an existing tool for such purposes.

Is there some kind of wait_for_service_to_be_running <service-name> (systemd) command line tool?

share|improve this question

    up vote
    1
    down vote

    favorite

    TLDR:

    How to have an /etc/xdg/autostart/app.desktop service wait for a systemd service?

    Long:

    I have an app started by /etc/xdg/autostart/app.desktop that requires a systemd service to be started first.

    I would like to avoid some sleep/wait/custom code if there is an existing tool for such purposes.

    Is there some kind of wait_for_service_to_be_running <service-name> (systemd) command line tool?

    share|improve this question

      up vote
      1
      down vote

      favorite

      up vote
      1
      down vote

      favorite

      TLDR:

      How to have an /etc/xdg/autostart/app.desktop service wait for a systemd service?

      Long:

      I have an app started by /etc/xdg/autostart/app.desktop that requires a systemd service to be started first.

      I would like to avoid some sleep/wait/custom code if there is an existing tool for such purposes.

      Is there some kind of wait_for_service_to_be_running <service-name> (systemd) command line tool?

      share|improve this question

      TLDR:

      How to have an /etc/xdg/autostart/app.desktop service wait for a systemd service?

      Long:

      I have an app started by /etc/xdg/autostart/app.desktop that requires a systemd service to be started first.

      I would like to avoid some sleep/wait/custom code if there is an existing tool for such purposes.

      Is there some kind of wait_for_service_to_be_running <service-name> (systemd) command line tool?

      systemd init-script sysvinit autologin xdg

      share|improve this question

      share|improve this question

      share|improve this question

      share|improve this question

      asked Nov 5 ’15 at 16:58

      adrelanos

      31331337

      31331337

          1 Answer
          1

          active

          oldest

          votes

          up vote
          0
          down vote

          Create yourservice.service file, place it into /etc/systemd/system/ and run systemctl start yourservice by your .desktop file.

          [Unit]
          Requires=somesystemd.service
          After=somesystemd.service
          
          [Service]
          ExecStart=/path/to/yourservice
          

          Or you can replace app.desktop with systemd configuration. Create replacement.service as above with additional section:

          [Install]
          WantedBy=multi-user.target
          

          Then run it with systemctl enable replacement.service.

          Systemd service – what is `multi-user.target` can give more details.

          share|improve this answer

            Your Answer

            StackExchange.ready(function() {
            var channelOptions = {
            tags: “”.split(” “),
            id: “106”
            };
            initTagRenderer(“”.split(” “), “”.split(” “), channelOptions);

            StackExchange.using(“externalEditor”, function() {
            // Have to fire editor after snippets, if snippets enabled
            if (StackExchange.settings.snippets.snippetsEnabled) {
            StackExchange.using(“snippets”, function() {
            createEditor();
            });
            }
            else {
            createEditor();
            }
            });

            function createEditor() {
            StackExchange.prepareEditor({
            heartbeatType: ‘answer’,
            convertImagesToLinks: false,
            noModals: true,
            showLowRepImageUploadWarning: true,
            reputationToPostImages: null,
            bindNavPrevention: true,
            postfix: “”,
            imageUploader: {
            brandingHtml: “Powered by u003ca class=”icon-imgur-white” href=”https://imgur.com/”u003eu003c/au003e”,
            contentPolicyHtml: “User contributions licensed under u003ca href=”https://creativecommons.org/licenses/by-sa/3.0/”u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href=”https://stackoverflow.com/legal/content-policy”u003e(content policy)u003c/au003e”,
            allowUrls: true
            },
            onDemand: true,
            discardSelector: “.discard-answer”
            ,immediatelyShowMarkdownHelp:true
            });

            }
            });

            draft saved
            draft discarded

            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin(‘.new-post-login’, ‘https%3a%2f%2funix.stackexchange.com%2fquestions%2f241058%2fhow-to-have-an-etc-xdg-autostart-app-desktop-service-wait-for-a-systemd-servi%23new-answer’, ‘question_page’);
            }
            );

            Post as a guest

            Required, but never shown

            1 Answer
            1

            active

            oldest

            votes

            1 Answer
            1

            active

            oldest

            votes

            active

            oldest

            votes

            active

            oldest

            votes

            up vote
            0
            down vote

            Create yourservice.service file, place it into /etc/systemd/system/ and run systemctl start yourservice by your .desktop file.

            [Unit]
            Requires=somesystemd.service
            After=somesystemd.service
            
            [Service]
            ExecStart=/path/to/yourservice
            

            Or you can replace app.desktop with systemd configuration. Create replacement.service as above with additional section:

            [Install]
            WantedBy=multi-user.target
            

            Then run it with systemctl enable replacement.service.

            Systemd service – what is `multi-user.target` can give more details.

            share|improve this answer

              up vote
              0
              down vote

              Create yourservice.service file, place it into /etc/systemd/system/ and run systemctl start yourservice by your .desktop file.

              [Unit]
              Requires=somesystemd.service
              After=somesystemd.service
              
              [Service]
              ExecStart=/path/to/yourservice
              

              Or you can replace app.desktop with systemd configuration. Create replacement.service as above with additional section:

              [Install]
              WantedBy=multi-user.target
              

              Then run it with systemctl enable replacement.service.

              Systemd service – what is `multi-user.target` can give more details.

              share|improve this answer

                up vote
                0
                down vote

                up vote
                0
                down vote

                Create yourservice.service file, place it into /etc/systemd/system/ and run systemctl start yourservice by your .desktop file.

                [Unit]
                Requires=somesystemd.service
                After=somesystemd.service
                
                [Service]
                ExecStart=/path/to/yourservice
                

                Or you can replace app.desktop with systemd configuration. Create replacement.service as above with additional section:

                [Install]
                WantedBy=multi-user.target
                

                Then run it with systemctl enable replacement.service.

                Systemd service – what is `multi-user.target` can give more details.

                share|improve this answer

                Create yourservice.service file, place it into /etc/systemd/system/ and run systemctl start yourservice by your .desktop file.

                [Unit]
                Requires=somesystemd.service
                After=somesystemd.service
                
                [Service]
                ExecStart=/path/to/yourservice
                

                Or you can replace app.desktop with systemd configuration. Create replacement.service as above with additional section:

                [Install]
                WantedBy=multi-user.target
                

                Then run it with systemctl enable replacement.service.

                Systemd service – what is `multi-user.target` can give more details.

                share|improve this answer

                share|improve this answer

                share|improve this answer

                answered Nov 29 at 12:36

                anatoly techtonik

                867825

                867825

                    draft saved
                    draft discarded

                    Thanks for contributing an answer to Unix & Linux Stack Exchange!

                    • Please be sure to answer the question. Provide details and share your research!

                    But avoid

                    • Asking for help, clarification, or responding to other answers.
                    • Making statements based on opinion; back them up with references or personal experience.

                    To learn more, see our tips on writing great answers.

                    Some of your past answers have not been well-received, and you’re in danger of being blocked from answering.

                    Please pay close attention to the following guidance:

                    • Please be sure to answer the question. Provide details and share your research!

                    But avoid

                    • Asking for help, clarification, or responding to other answers.
                    • Making statements based on opinion; back them up with references or personal experience.

                    To learn more, see our tips on writing great answers.

                    draft saved

                    draft discarded

                    StackExchange.ready(
                    function () {
                    StackExchange.openid.initPostLogin(‘.new-post-login’, ‘https%3a%2f%2funix.stackexchange.com%2fquestions%2f241058%2fhow-to-have-an-etc-xdg-autostart-app-desktop-service-wait-for-a-systemd-servi%23new-answer’, ‘question_page’);
                    }
                    );

                    Post as a guest

                    Required, but never shown

                    Required, but never shown

                    Required, but never shown

                    Required, but never shown

                    Required, but never shown

                    Required, but never shown

                    Required, but never shown

                    Required, but never shown

                    Required, but never shown

                    Related Post

                    Leave a Reply

                    Your email address will not be published. Required fields are marked *