У меня есть два сценария, которые я хотел бы быть выполненным, когда я вхожу в свой профиль.
~/.scripts/startup/user-sensei-raw-startup.sh
:
ids=$(xinput list | awk '/SteelSeries Sensei Raw Gaming Mouse .*pointer/ {print $8}' | sed 's/id=\(.*\)/\1/')
if [ -z "$ids" ]; then
exit 0;
fi
read -a ids_array <<< $ids
echo fixing id ${ids_array[0]}
xinput set-prop ${ids_array[0]} 'Device Accel Profile' -1
xinput set-prop ${ids_array[0]} 'Device Accel Constant Deceleration' 2.5
xinput set-prop ${ids_array[0]} 'Device Accel Adaptive Deceleration' 1
xinput set-prop ${ids_array[0]} 'Device Accel Velocity Scaling' 1
echo fixing id ${ids_array[1]}
xinput set-prop ${ids_array[1]} 'Device Accel Profile' -1
xinput set-prop ${ids_array[1]} 'Device Accel Constant Deceleration' 1.5
xinput set-prop ${ids_array[1]} 'Device Accel Adaptive Deceleration' 1
xinput set-prop ${ids_array[1]} 'Device Accel Velocity Scaling' 1
unset ids
unset ids_array
~/.scripts/startup/root-sensei-raw-startup.sh
:
#!/bin/bash
sensei-raw-ctl --show
sensei-raw-ctl --polling 500
sensei-raw-ctl --cpi-on 450
sensei-raw-ctl --cpi-off 5670
Для выполнения их вручную, я выполнил бы команду, когда я вхожу в систему:
bash ~/.scripts/startup/user-sensei-raw-startup.sh && sudo bash ~/.scripts/startup/root-sensei-raw-startup.sh
Первый скрипт может быть запущен через bash
однако другой сценарий я должен работать через sudo bash
. Проблема - то, что я должен ввести в своем пароле для второго сценария для выполнения.
Любые идеи того, как я могу автоматизировать это так, чтобы я не вводил мой sudo
пароль все время? Я также предпочел бы не сохранять мой sudo
пароль в простом тексте.
Я думаю, что Ваш лучший бит должен был бы перенести весь сценарий, с помощью shc (компилятор сценария Bash). Тем путем Вы могли использовать простой текст, как echo password | sudo -S script.sh
в Вашем сценарии. Я предполагаю, что кто-то мог декомпилироваться, но мы довольно далеки там, и затем если это - беспокойство, не храните свой sudo пароль.
Ссылка на SHC.
shc github