diff --git a/cob-stud-clients/README.asciidoc b/cob-stud-clients/README.asciidoc index 6cc9e2c..9708f15 100644 --- a/cob-stud-clients/README.asciidoc +++ b/cob-stud-clients/README.asciidoc @@ -2,7 +2,7 @@ ==== Install Ubuntu 14.04 LTS ---- -username: ipa +username: stud-admin systemname: cob-stud- password: **** ---- @@ -35,9 +35,12 @@ $ sudo sed -i 's/PermitRootLogin without-password/PermitRootLogin yes/g' /etc/ss ==== Gain root rights for admin user's ---- +$ sudo adduser --home /home-local/Admin Admin --force-badname +$ sudo adduser Admin sudo $ sudo nano /etc/sudoers ##add to the list### stud-admin ALL=(ALL) NOPASSWD: ALL +Admin ALL=(ALL) NOPASSWD: ALL ---- @@ -138,3 +141,13 @@ $ rosdep update $ sudo apt-get install python-rosinstall python-rosdep $ sudo apt-get install python-setuptools ogre-tools ---- + +=== Extra tools + +---- +$ sudo cp ~/setup/cob-stud-clients/upstart_lightdm /etc/init.d/. +$ sudo update-rc.d upstart_lightdm defaults +$ sudo cp ~/setup/cob-stud-clients/restart_lightdm /usr/sbin/. +$ sudo cp ~/setup/cob-stud-clients/restart_lock /etc/init.d/. +$ sudo update-rc.d restart_lock defaults +---- diff --git a/cob-stud-clients/cob-stud-execute.sh b/cob-stud-clients/cob-stud-execute.sh index 2390888..7393adb 100755 --- a/cob-stud-clients/cob-stud-execute.sh +++ b/cob-stud-clients/cob-stud-execute.sh @@ -16,16 +16,7 @@ cob-stud-3 cob-stud-4 cob-stud-5 cob-stud-6 -cob-stud-7 -cob-stud-8 -cob-stud-9 -cob-stud-101 -cob-stud-102 -cob-stud-103 -cob-stud-104 -cob-stud-601 -cob-stud-602 -cob-stud-603" +cob-stud-7" for client in $client_list; do echo "-------------------------------------------" diff --git a/cob-stud-clients/cob-stud-install.sh b/cob-stud-clients/cob-stud-install.sh index 5b41a73..8db8b95 100755 --- a/cob-stud-clients/cob-stud-install.sh +++ b/cob-stud-clients/cob-stud-install.sh @@ -16,23 +16,13 @@ cob-stud-3 cob-stud-4 cob-stud-5 cob-stud-6 -cob-stud-7 -cob-stud-8 -cob-stud-9 -cob-stud-101 -cob-stud-102 -cob-stud-103 -cob-stud-104 -cob-stud-601 -cob-stud-602 -cob-stud-603" +cob-stud-7" for client in $client_list; do echo "-------------------------------------------" echo "Installing <<"$*">> on $client" echo "-------------------------------------------" echo "" - #ssh $client "sudo apt-get install $* -y" ssh $client "sudo apt-get install $* " ret=${PIPESTATUS[0]} if [ $ret != 0 ] ; then diff --git a/cob-stud-clients/restart_lightdm b/cob-stud-clients/restart_lightdm new file mode 100755 index 0000000..288f274 --- /dev/null +++ b/cob-stud-clients/restart_lightdm @@ -0,0 +1,2 @@ +sudo mount -a +sudo service lightdm restart& diff --git a/cob-stud-clients/restart_lock b/cob-stud-clients/restart_lock new file mode 100755 index 0000000..4155285 --- /dev/null +++ b/cob-stud-clients/restart_lock @@ -0,0 +1,13 @@ +#!/bin/bash +export DISPLAY=:0 && dbus-monitor --session "type='signal',interface='org.gnome.ScreenSaver'" | \ +( + while true; do + read X + if echo $X | grep "boolean true" &> /dev/null; then + echo SCREEN_LOCKED; + elif echo $X | grep "boolean false" &> /dev/null; then + sudo mount -a; + sleep 1; + fi + done +) diff --git a/cob-stud-clients/stud-adduser b/cob-stud-clients/stud-adduser index 50efea9..fcdf429 100755 --- a/cob-stud-clients/stud-adduser +++ b/cob-stud-clients/stud-adduser @@ -7,13 +7,10 @@ client_list=" cob-stud-1 cob-stud-2 cob-stud-3 +cob-stud-4 cob-stud-5 cob-stud-6 -cob-stud-7 -cob-stud-101 -cob-stud-102 -cob-stud-103 -cob-stud-104" +cob-stud-7" echo "Executing adduser" sudo /usr/sbin/adduser $1 diff --git a/cob-stud-clients/sync_packages.sh b/cob-stud-clients/sync_packages.sh new file mode 100755 index 0000000..4495382 --- /dev/null +++ b/cob-stud-clients/sync_packages.sh @@ -0,0 +1,33 @@ +#!/bin/bash + +sudo apt list --installed > /tmp/package_list +perl -pi -e 's{ / .*? ]}{}x' /tmp/package_list +sed -i 's/Listing...//' /tmp/package_list +sed -i ':a;N;$!ba;s/\n/ /g' /tmp/package_list +tr '\n' ' ' < /tmp/package_list | sed -i '$s/ $/\n/' /tmp/package_list +packages=$(cat /tmp/package_list) + +pcs=" +cob-stud-1 +cob-stud-2 +cob-stud-3 +cob-stud-4 +cob-stud-5 +cob-stud-6 +cob-stud-7" + +for i in $pcs; do + echo "-------------------------------------------" + echo "Installing packages on $i" + echo "-------------------------------------------" + echo "" + ssh $i "sudo apt-get update" + ssh $i "sudo apt-get install $packages -y" + ret=${PIPESTATUS[0]} + if [ $ret != 0 ] ; then + echo -t "apt-get return an error (error code: $ret), aborting..." + exit 1 + fi + echo "" +done + diff --git a/cob-stud-clients/upstart_lightdm b/cob-stud-clients/upstart_lightdm new file mode 100755 index 0000000..7119a93 --- /dev/null +++ b/cob-stud-clients/upstart_lightdm @@ -0,0 +1,7 @@ +#!/bin/bash +while ! ping -c 1 -W 1 10.0.1.2; do + echo "Waiting for 10.0.1.2 - network interface might be down..." + sleep 1 +done +sudo mount -a +sudo service lightdm restart diff --git a/restart_lightdm b/restart_lightdm new file mode 100755 index 0000000..288f274 --- /dev/null +++ b/restart_lightdm @@ -0,0 +1,2 @@ +sudo mount -a +sudo service lightdm restart& diff --git a/restart_lock b/restart_lock new file mode 100755 index 0000000..4155285 --- /dev/null +++ b/restart_lock @@ -0,0 +1,13 @@ +#!/bin/bash +export DISPLAY=:0 && dbus-monitor --session "type='signal',interface='org.gnome.ScreenSaver'" | \ +( + while true; do + read X + if echo $X | grep "boolean true" &> /dev/null; then + echo SCREEN_LOCKED; + elif echo $X | grep "boolean false" &> /dev/null; then + sudo mount -a; + sleep 1; + fi + done +) diff --git a/upstart_lightdm b/upstart_lightdm new file mode 100755 index 0000000..7119a93 --- /dev/null +++ b/upstart_lightdm @@ -0,0 +1,7 @@ +#!/bin/bash +while ! ping -c 1 -W 1 10.0.1.2; do + echo "Waiting for 10.0.1.2 - network interface might be down..." + sleep 1 +done +sudo mount -a +sudo service lightdm restart