How to run a systemd service when a user logs in?
![Creative The name of the picture](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgO9GURib1T8z7lCwjOGLQaGtrueEthgQ8LO42ZX8cOfTqDK4jvDDpKkLFwf2J49kYCMNW7d4ABih_XCb_2UXdq5fPJDkoyg7-8g_YfRUot-XnaXkNYycsNp7lA5_TW9td0FFpLQ2APzKcZ/s1600/1.jpg)
![Creative The name of the picture](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhYQ0N5W1qAOxLP7t7iOM6O6AzbZnkXUy16s7P_CWfOb5UbTQY_aDsc727chyphenhyphen5W4IppVNernMMQeaUFTB_rFzAd95_CDt-tnwN-nBx6JyUp2duGjPaL5-VgNO41AVsA_vu30EJcipdDG409/s400/Clash+Royale+CLAN+TAG%2523URR8PPP.png)
up vote
0
down vote
favorite
How do I create a daemon that will execute a script at login ? I have an OpenVPN connection that builds a tunnel at start up.I created a .service file that only executes my script After the the openvpn services are up. This daemon fails on startup I believe because the connection isn't fully up or the configuration is just plain invalid. my .service file is in /etc/systemd/system/ directory. I can do a systemctl start mount and it runs just fine if manually started. Can anybody help me out on this ?
[Unit]
Description=Run script to mount drive
Required=openvpn@opencvpn.service
After=openvpn@openvpn.service
[Service]
Type=oneshot
RemainAfterExit=true
ExecStart=/bin/sh -c "/path/to/script/somescript.sh start"
ExecStop=/bin/sh -c "/path/to/script/somescript.sh stop"
[Install]
WantedBy=multi-user.target
This is the code I am trying to execute.
#!/bin/bash
2
3 function start
4
5
6 mount -t cifs -o username=guest,password=guest //192.xxx.xxx.xxx/share /mnt/share
7
8
9 function stop
10
11 umount /mnt/share
12
13
14
15 case $1 in
16 start|stop)
17 $1
18 ;;
19 esac
systemd
add a comment |Â
up vote
0
down vote
favorite
How do I create a daemon that will execute a script at login ? I have an OpenVPN connection that builds a tunnel at start up.I created a .service file that only executes my script After the the openvpn services are up. This daemon fails on startup I believe because the connection isn't fully up or the configuration is just plain invalid. my .service file is in /etc/systemd/system/ directory. I can do a systemctl start mount and it runs just fine if manually started. Can anybody help me out on this ?
[Unit]
Description=Run script to mount drive
Required=openvpn@opencvpn.service
After=openvpn@openvpn.service
[Service]
Type=oneshot
RemainAfterExit=true
ExecStart=/bin/sh -c "/path/to/script/somescript.sh start"
ExecStop=/bin/sh -c "/path/to/script/somescript.sh stop"
[Install]
WantedBy=multi-user.target
This is the code I am trying to execute.
#!/bin/bash
2
3 function start
4
5
6 mount -t cifs -o username=guest,password=guest //192.xxx.xxx.xxx/share /mnt/share
7
8
9 function stop
10
11 umount /mnt/share
12
13
14
15 case $1 in
16 start|stop)
17 $1
18 ;;
19 esac
systemd
add a comment |Â
up vote
0
down vote
favorite
up vote
0
down vote
favorite
How do I create a daemon that will execute a script at login ? I have an OpenVPN connection that builds a tunnel at start up.I created a .service file that only executes my script After the the openvpn services are up. This daemon fails on startup I believe because the connection isn't fully up or the configuration is just plain invalid. my .service file is in /etc/systemd/system/ directory. I can do a systemctl start mount and it runs just fine if manually started. Can anybody help me out on this ?
[Unit]
Description=Run script to mount drive
Required=openvpn@opencvpn.service
After=openvpn@openvpn.service
[Service]
Type=oneshot
RemainAfterExit=true
ExecStart=/bin/sh -c "/path/to/script/somescript.sh start"
ExecStop=/bin/sh -c "/path/to/script/somescript.sh stop"
[Install]
WantedBy=multi-user.target
This is the code I am trying to execute.
#!/bin/bash
2
3 function start
4
5
6 mount -t cifs -o username=guest,password=guest //192.xxx.xxx.xxx/share /mnt/share
7
8
9 function stop
10
11 umount /mnt/share
12
13
14
15 case $1 in
16 start|stop)
17 $1
18 ;;
19 esac
systemd
How do I create a daemon that will execute a script at login ? I have an OpenVPN connection that builds a tunnel at start up.I created a .service file that only executes my script After the the openvpn services are up. This daemon fails on startup I believe because the connection isn't fully up or the configuration is just plain invalid. my .service file is in /etc/systemd/system/ directory. I can do a systemctl start mount and it runs just fine if manually started. Can anybody help me out on this ?
[Unit]
Description=Run script to mount drive
Required=openvpn@opencvpn.service
After=openvpn@openvpn.service
[Service]
Type=oneshot
RemainAfterExit=true
ExecStart=/bin/sh -c "/path/to/script/somescript.sh start"
ExecStop=/bin/sh -c "/path/to/script/somescript.sh stop"
[Install]
WantedBy=multi-user.target
This is the code I am trying to execute.
#!/bin/bash
2
3 function start
4
5
6 mount -t cifs -o username=guest,password=guest //192.xxx.xxx.xxx/share /mnt/share
7
8
9 function stop
10
11 umount /mnt/share
12
13
14
15 case $1 in
16 start|stop)
17 $1
18 ;;
19 esac
systemd
systemd
asked Mar 20 at 0:31
Nate Davis
11
11
add a comment |Â
add a comment |Â
active
oldest
votes
active
oldest
votes
active
oldest
votes
active
oldest
votes
active
oldest
votes
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
var $window = $(window),
onScroll = function(e)
var $elem = $('.new-login-left'),
docViewTop = $window.scrollTop(),
docViewBottom = docViewTop + $window.height(),
elemTop = $elem.offset().top,
elemBottom = elemTop + $elem.height();
if ((docViewTop elemBottom))
StackExchange.using('gps', function() StackExchange.gps.track('embedded_signup_form.view', location: 'question_page' ); );
$window.unbind('scroll', onScroll);
;
$window.on('scroll', onScroll);
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2faskubuntu.com%2fquestions%2f1017472%2fhow-to-run-a-systemd-service-when-a-user-logs-in%23new-answer', 'question_page');
);
Post as a guest
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
var $window = $(window),
onScroll = function(e)
var $elem = $('.new-login-left'),
docViewTop = $window.scrollTop(),
docViewBottom = docViewTop + $window.height(),
elemTop = $elem.offset().top,
elemBottom = elemTop + $elem.height();
if ((docViewTop elemBottom))
StackExchange.using('gps', function() StackExchange.gps.track('embedded_signup_form.view', location: 'question_page' ); );
$window.unbind('scroll', onScroll);
;
$window.on('scroll', onScroll);
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
var $window = $(window),
onScroll = function(e)
var $elem = $('.new-login-left'),
docViewTop = $window.scrollTop(),
docViewBottom = docViewTop + $window.height(),
elemTop = $elem.offset().top,
elemBottom = elemTop + $elem.height();
if ((docViewTop elemBottom))
StackExchange.using('gps', function() StackExchange.gps.track('embedded_signup_form.view', location: 'question_page' ); );
$window.unbind('scroll', onScroll);
;
$window.on('scroll', onScroll);
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
var $window = $(window),
onScroll = function(e)
var $elem = $('.new-login-left'),
docViewTop = $window.scrollTop(),
docViewBottom = docViewTop + $window.height(),
elemTop = $elem.offset().top,
elemBottom = elemTop + $elem.height();
if ((docViewTop elemBottom))
StackExchange.using('gps', function() StackExchange.gps.track('embedded_signup_form.view', location: 'question_page' ); );
$window.unbind('scroll', onScroll);
;
$window.on('scroll', onScroll);
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password