Debian initスクリプト(Xサーバー)に必要なサービスを表示する

Debian initスクリプト(Xサーバー)に必要なサービスを表示する

私はDebian 9.11とMATEデスクトップ(pinebook pro)を使用しています。

/etc/init.d/customMappingいくつかのキーを使用して再マッピングするInitスクリプトがあります。ここにいるsetxkbmapxmodmap

#! /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にこれらのコマンドを配置することをお勧めします。

おすすめ記事