web-dev-qa-db-fra.com

Exécuter le script à la connexion (script avec Sudo) ou au démarrage

#!/bin/bash
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

Sudo sensei-raw-ctl --show
Sudo sensei-raw-ctl --polling 500
Sudo sensei-raw-ctl --cpi-on 450
Sudo sensei-raw-ctl --cpi-off 5670

unset ids
unset ids_array

Je souhaite que le script suivant soit exécuté une fois lorsque je me connecte ou lorsque l'ordinateur démarre. Le script ci-dessus se trouve dans /home/karl/.scripts/startup/sensei-raw-startup.sh.

Je ne souhaite pas utiliser l'interface graphique pour ajouter le script. Je souhaite en apprendre un peu plus sur la façon de le faire manuellement.

Quels fichiers dois-je créer, que doivent-ils se trouver et où devraient-ils être situés pour pouvoir exécuter mon script qui se trouve dans ledit répertoire.

4
Karl Morrison

1. Utiliser /etc/profile.d

Vous pouvez exécuter le script lors de la connexion en le plaçant dans /etc/profile.d/.

Ces fichiers sont exécutés lors de la connexion .

Pour créer un lien symbolique vers le fichier que vous voulez exécuter, utilisez

Sudo ln -s /home/karl/.scripts/startup/sensei-raw-startup.sh /etc/profile.d/myscript.sh

2. Utilisation de pstart

Une autre possibilité est d'utiliser par la suite

démarrer sur desktop-session-start

et placez votre script là-bas.

10
mcantsin