내 노트북은 USB 키보드를 사용합니다. 내장 레이아웃과 레이아웃이 다르기 때문에 이들 사이를 전환할 수 있는 스크립트가 있습니다. 하지만 플러그를 뽑기 전에 전환하는 것을 잊어버리면 슈퍼가 없습니다. 이제 나는 다른 방에 있고 너무 게으른 나머지 키보드를 구할 수 없습니다. super가 없으면 이 x 세션에서 터미널에 들어갈 수 없지만 다른 콘솔로 전환할 수는 있습니다. 하지만 거기에서 스크립트를 실행하려고 하면 cannot open display 'default display'
Can I run it이라는 메시지가 나타납니다.~을 위한콘솔에서 x 세션을 열시겠습니까?
PS: 스크립트:
#!/bin/bash
killall xcape
if lsusb | grep HHKB ; then {
setxkbmap us,gr \
-variant carpalx-plus-intl,daedalus \
-option grp:win_space_toggle \
-option lv3:rwin_switch \
-option altwin:meta_alt \
-option shift:breaks_caps \
-option lv5:lsgt_switch_lock
xmodmap ~/.xmodmap/hh
xcape -e "Shift_L=F13;Shift_R=F13;Super_L=Prior;Hyper_L=Prior"
} &
else {
setxkbmap us,gr \
-variant carpalx-plus-intl,daedalus \
-option grp:win_space_toggle \
-option lv3:ralt_switch \
-option altwin:meta_alt \
-option shift:breaks_caps -option lv5:lsgt_switch_lock
xmodmap ~/.xmodmap/apple
xcape -e "Control_L=Escape;Shift_L=F13;Shift_R=F13;Alt_L=Escape;Alt_R=Escape"
} &
fi
답변1
스크립트를 실행하기 전에 DISPLAY 변수를 설정해야 합니다.
노력하다:
DISPLAY=:0 yourscriptname