Start a screen session as another user at system startup

Came across this technique to get a screen session started as another non-root user on system startup. You could have this command in /etc/rc.local or any other location that runs on system startup as root.

Also, it doesn’t have to just be at system startup. These commands could be used at any time by the root user to start a screen session for another user.

This command must run as root. I had best luck when providing full paths to the executable and optional file arguments (like if you are passing a conf file)

su - username -c "/usr/bin/screen -dmS screenname ./executable"

So, for example, to get irssi started as chris in a screen session named irc, You could:

su - chris -c "/usr/bin/screen -dmS irc /usr/bin/irssi"

You can then log in to the box as chris and resume the screen session that root started.

Leave a Reply

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