콘솔에서 x 세션을 실행하는 스크립트

콘솔에서 x 세션을 실행하는 스크립트

내 노트북은 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

관련 정보