diff --git a/opt/le-multiterminal/find-devices.sh b/opt/le-multiterminal/find-devices.sh index 32f2f6df2ccb2b075d7c63912a920fbbe0185f2f..d11e530fb5621417a31f25e122378f79b1006517 100755 --- a/opt/le-multiterminal/find-devices.sh +++ b/opt/le-multiterminal/find-devices.sh @@ -1,10 +1,15 @@ #!/bin/bash -## Script/function constants -READ_DEVICES=read-devices -DETECT_KEYBOARDS=detect-keyboard.sh -WRITE_W=write_window -DEVICES=devices +## Macros +DEVICES="/opt/le-multiterminal/devices" # shortcut to devices that have already been paired +CONF="/opt/le-multiterminal/98-xephyr-multi-seat.conf" # lightdm settings file (associates seat to output) + +## Script/function in other file +READ_DEVICES="read-devices" +DETECT_KEYBOARDS="/opt/le-multiterminal/detect-keyboard.sh" +WRITE_W="write_window" # "window-acess.sh" + +## Variables declare -a SEATS_LISTED # save the name of the existing seats @@ -70,13 +75,13 @@ find_keyboard () { # Write in configuration file if [[ $fKey -gt 1 ]]; then - echo -e "[Seat:$SEAT_NAME]\nxserver-command=xephyr-wrapper :90.0 -output ${OUTPUTS[$((wNum-1))]}\n" >> configuracao + echo -e "[Seat:$SEAT_NAME]\nxserver-command=xephyr-wrapper :90.0 -output ${OUTPUTS[$((wNum-1))]}\n" >> $CONF fi - exit 1 + exit 0 else echo "CAN NOT FIND KEYBOARD" - exit 0 + exit 1 fi } \ No newline at end of file diff --git a/opt/le-multiterminal/multiseat-controller.sh b/opt/le-multiterminal/multiseat-controller.sh index 180c105087803b03a1c4af4998ef490640672122..3463a0037365fd298c3b0f37460fcd9997e81a55 100755 --- a/opt/le-multiterminal/multiseat-controller.sh +++ b/opt/le-multiterminal/multiseat-controller.sh @@ -34,12 +34,11 @@ source /opt/le-multiterminal/find-devices.sh source /opt/le-multiterminal/window-acess.sh ## Path constants -MC3SL_SCRIPTS=$(pwd) #/usr/sbin/ -MC3SL_DEVICES=devices #/etc/mc3sl/devices/ -MC3SL_LOGS=$(pwd) #/etc/mc3sl/logs/ +MC3SL_DEVICES="/opt/le-multiterminal/devices" # shortcut to devices that have already been paired +MC3SL_CONF="/opt/le-multiterminal/98-xephyr-multi-seat.conf" # lightdm settings file (associates seat to output) +LIGHTDM_CONF="/etc/xdg/lightdm/lightdm.conf.d/98-xephyr-multi-seat.conf" -## Script/function in other file -DISCOVER_DEVICES="$MC3SL_SCRIPTS/discover-devices" +## Script/function in other file FIND_KEYBOARD="find_keyboard" # "find-devices.sh" CREATE_WINDOW="create_window" # "window-acess.sh" WRITE_WINDOW="write_window" # "window-acess.sh" @@ -182,9 +181,16 @@ N_SEATS_LISTED=$(($(loginctl list-seats | grep -c "seat-")+$ONBOARD)) CONFIGURED_SEATS=0 while [[ $CONFIGURED_SEATS -lt $N_SEATS_LISTED ]]; do wait -n ${PID_FIND_DEVICES[*]} - CONFIGURED_SEATS=$(($CONFIGURED_SEATS+1)) + EXIT_CODE=$? + + if [[ $EXIT_CODE -eq 0 ]]; then + CONFIGURED_SEATS=$(($CONFIGURED_SEATS+1)) + fi done +# Move settings file created for lightdm folder +mv -f $MC3SL_CONF $LIGHTDM_CONF + # Cleans the system by killing all the processes and files it has created kill_jobs