저는 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 세션의 일부가 아닌 시작 컨텍스트에서 루트로 실행됩니다.
X를 시작한 방법에 따라 xinitrc 또는 xsessionrc에 이러한 명령을 배치하는 것이 좋습니다.