私はDebian 9.11とMATEデスクトップ(pinebook pro)を使用しています。
/etc/init.d/customMapping
いくつかのキーを使用して再マッピングするInitスクリプトがあります。ここにいるsetxkbmap
xmodmap
#! /bin/sh
### BEGIN INIT INFO
# Provides: customMapping
# Required-Start: $local_fs x11-common xserver display
# Required-Stop: $local_fs x11-common xserver display
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Custom keyboard mapping
# Description: This is a simple Init script
# Custom keyboard mapping
### END INIT INFO
#
# Some things that run always
echo "customMapping script"
# Carry out specific functions when asked to by the system
case "$1" in
start)
echo "Starting script customMapping "
echo "start" >> /opt/test.txt
# Make Caps Lock a Control key
setxkbmap -option ctrl:nocaps > /opt/logs 2>&1
# Swap Left Control with Left Alt
setxkbmap -option ctrl:swap_lalt_lctl > /opt/logs 2>&1
# Make Pause/Break an End key
xmodmap -e "keycode 127 = End" > /opt/logs 2>&1
# Make Screen Lock a Home key
xmodmap -e "keycode 78 = Home" > /opt/logs 2>&1
;;
stop)
echo "Stopping custom Mapping"
;;
*)
echo "Usage: /etc/init.d/customMapping {start|stop}"
exit 1
;;
esac
exit 0
ご覧のとおり、このセクションでは複数のキーワードを試しましたが、うまくいかず、Required-Start
ファイルをチェックインすると/opt/logs
次のエラーメッセージが表示されます。
ディスプレイ「メインディスプレイ」を開くことができません
ディスプレイ「メインディスプレイ」を開くことができません
xmodmap: "" ディスプレイを開けません。
xmodmap: "" ディスプレイを開けません。
スクリプトに(Xサーバー)Required-Start
アクセスを許可するには、どのような値を設定する必要がありますか?display
また、この値はDefault-Start
正しいですか?
ありがとう
答え1
実際には、これらのコマンドを起動サービスとして実行するのではなく、起動時にXセッションの一部としていくつかのコマンドを実行したいと思います。
initスクリプト内で実行されている場合は、Xセッションの一部ではなく起動コンテキストでrootとして実行されます。
Xの起動方法に応じて、xinitrcまたはxsessionrcにこれらのコマンドを配置することをお勧めします。