web-dev-qa-db-ja.com

ログイン(Sudoを使用したスクリプト)または起動時にスクリプトを実行する

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

ログインするとき、またはコンピューターが起動するときに、次のスクリプトを1回実行したいです。上記のスクリプトは、/home/karl/.scripts/startup/sensei-raw-startup.shにあります。

GUIを使用してスクリプトを追加したくありません。手動で行う方法についてもう少し学びたいです。

上記のディレクトリにあるスクリプトを実行できるようにするには、どのファイルを作成する必要があり、何をファイルに入れ、どこに配置する必要がありますか

4
Karl Morrison

1. /etc/profile.dを使用する

スクリプトをon loginで実行するには、スクリプトを/ etc/profile.d /に配置します。

これらのファイルは ログイン時に実行 です。

実行するファイルへのシンボリックリンクを作成するには、次を使用します。

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

2. pstart を使用する

別の可能性は pstart を使用することです

desktop-session-startで開始

スクリプトをそこに配置します。

11
mcantsin