I have a Raspberry PI running Raspbian and I connect to it through RDP or SSH. And I have 2 applications in C# and I run them through mono. One is a WinForms app (GUI app, which cannot be launched through SSH, since it requires a desktop environment) and the second is a console app (still running waiting for remote commands [editor's note: probably a daemon?]). Both apps write some logs to terminal window [stdout].

I'm launching them like this: sudo mono app1, sudo mono app2. I've created scripts with these commands in their app's folders. Like ~/Projects/App1/launcher, ~/Projects/App2/launcher.

I'd like to run them on every boot (every time RPI is (re)started and completely booted up). But I'd like to see those apps, if I connect through RDP or at least have a possibility to restart them manually.

I've read something about rc.init and init.d and that I can write commands there, but also I've read that that programs must not need user input, because the system won't be able to boot up otherwise and therefore I was afraid that my apps will break the system.

I'd like just a simple functionality like in Windows, where you can copy launchers to "User/On startup" folder.

Is there some easy solution for this?

1 Answer 1


If your Raspi is setup to auto login a user, you could probably just add the launchers to the ~/.xsessionrc of the user which is automatically logged in.

That way you would probably also see them in your RDP session, if you are exporting the running X session (the one identified as :0) in your RDP server.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .