현재 사용하고 있는 작업공간이 아닌 다른 작업공간에서 GUI 애플리케이션 [Lotus Symphony]을 실행해야 합니다. [예: GNOME 데스크탑에는 4개의 작업 공간이 있습니다. ]
질문: 어떻게 해야 합니까?
ps: Lotus Symphony는 다시 시작한 후 처음에는 매우 느리게 시작되지만 한 번 사용하고 나면 매우 빠르게 시작되기 때문에 이 작업이 필요합니다. 나는 그것이 스스로 캐시한다고 생각합니다. 그렇기 때문에 시작할 때마다 다른 작업 공간에서 시작하고 싶기 때문에 꼭 사용해야 한다면 속도가 빨라질 것입니다.
답변1
확인하다악마의 세력(Gnome3에서 작동하는지 확실하지 않지만) 더 유용한 정보를 찾을 수 있습니다스택 오버플로 bash.
기본적으로 다음을 수행해야 합니다.
#!/bin/bash
wmctrl -n 8
firefox &
thunderbird &
/usr/bin/netbeans --locale en &
amsn &
gnome-terminal &
sleep 15
wmctrl -r firefox -t 0
wmctrl -r netbeans -t 1
wmctrl -r terminal -t 2
wmctrl -r amsn -t 6
wmctrl -r thunderbird -t 7
#focus on terminal
wmctrl -a terminal
(자명하다고 생각해서 위의 StackOverFlow 링크에서 위의 코드를 복사하여 붙여넣었습니다.)
고쳐 쓰다:
바라보다여기Gnome 3 확장을 위한 최고의 사이트에서 더 쉬운 솔루션을 얻으려면 설치해야 합니다.자동으로 창 이동그놈 3 확장. 작동하지 않는다면(링크에서 볼 수 있듯이 설치 자동화가 제대로 작동하지 않는 일부 배포판이 있으므로 더 자세한 익스플로잇을 얻으십시오)여기작동시키는 방법에 대해.
답변2
원래 게시물은 스크립트를 사용하여 특정 작업 영역에 애플리케이션이 나타나도록 하는 내용이었습니다. 따라서 시작 스크립트 내에서 다른 스크립트를 사용하여 애플리케이션이 매우 느리게 시작되는 다른 작업 영역에 로드되는 동안 사용자가 계속 작업할 수 있도록 할 수 있습니다. 내 스크립트는 명령 프롬프트에서 특정 작업 공간의 응용 프로그램을 시작하기 위한 다소 번거로운 wmctrl 구문의 프런트 엔드로 완벽합니다. 이제 lh 1 thunderbird; lh 2 firefox; lh 3 calculator
.... 같은 것을 단순히 나열하는 스크립트를 작성하는 것이 쉽습니다. 그러나 타이밍에 약간의 어려움이 있어 스크립트에 수면 문제가 발생합니다. 다음은 업데이트된 버전으로, 더 이상 유지 관리하거나 게시하지 않습니다. 있는 그대로 사용되며 특정 목적에 적합하다고 보장되지 않습니다. 자유롭게 수정해 보세요. 적어도 Mint 18에서는 알려진 다른 프로그램 이름이 아니기 /usr/local/bin/lh
때문에 다른 이름으로 저장을 권장합니다 . lh
변수에 관해서는 - 필요하다고 생각되는 변수를 인용했습니다.
#!/bin/sh
## Author: B.A. Computer Services www.ba-computer.com
## Purpose: Frontend to launch anything on a specific desktop/workspace.
## lh is short for LaunchHere
USAGE="USAGE: $(basename $0) [-r] workspace(1,2,..) command\
LaunchHere launches COMMAND on specific workspace.\
-r option returns to current workspace"
[ -z "$1" ] && echo $USAGE && exit 0
ISRETURN=$(false); [ "$1" = "-r" ] && ISRETURN=true && shift;
WRKSPC=$1;[ -z "$WRKSPC" ] && echo $USAGE && exit 0
WSN=$(expr $WRKSPC - 1) ## wmctrl starts with 0 as first wrkspc
shift; CMD="$*"; [ -z "$CMD" ] && echo $USAGE && exit 0
WM=$(which wmctrl);[ -z "$WM" ] && echo MISSING wmctrl && exit 1
CURRENT=$(wmctrl -d | grep '*' | cut -c1)
# Switch to desired workspace
$WM -s $WSN
$CMD &
PID=$!
echo Executed $CMD on workspace $WRKSPC, PID=$PID
sleep 3
# Return to CURRENT workspace ?
# [ $ISRETURN ] && echo TRUE || echo FALSE
[ $ISRETURN ] && $WM -s $CURRENT
답변3
wmctrl 설치
sudo apt install wmctrl
그리고 스크립트를 생성합니다(이 예에서 Thunderbird는 두 번째 작업 공간( -t 1
)에 있습니다).
#!/bin/sh
(thunderbird &) & sleep 5 &&
sh -c "wmctrl -i -r `wmctrl -l | grep Thunderbird` -t 1"
wmctrl에서 애플리케이션 이름이 무엇인지 확인하려면 터미널을 클릭하여 확인할 수 있습니다.
wmctrl -l
스크립트에서 올바른 이름으로 바꾸세요.
대문자에 주의하세요("thunderbird"가 아니라 "Thunderbird")!
3D 작업공간에서 Firefox를 사용하는 다른 예( -t 2
):
#!/bin/sh
(firefox &) & sleep 5 &&
sh -c "wmctrl -i -r `wmctrl -l | grep Firefox` -t 2"
보너스:
다음은 시작 시 실행되는 명령입니다.
sh -c "thunderbird & sleep 5 && wmctrl -i -r `wmctrl -l | grep Thunderbird` -t 1"
디베인10은 시나몬을 이용하여 개발되었습니다. 하지만 그것은 모두에게 효과가 있어야 합니다
답변4
베타 - 하지만 Linux Mint에서는 작동합니다.
#!/bin/sh
## Author: B.A. Computer Services www.ba-computer.com
## Purpose: Frontend to launch anything on a specific desktop/workspace.
## lh is short for LaunchHere
USAGE="USAGE: $(basename $0) workspace(0,1,2,..) command"
WRKSPC=$1;[ -z "$WRKSPC" ] && echo $USAGE && exit 0
shift; CMD="$*"; [ -z "$CMD" ] && echo $USAGE && exit 0
WM=$(which wmctrl);[ -z "$WM" ] && echo MISSING wmctrl && exit 1
echo Executing $CMD on workspace $WRKSPC
$WM -s $WRKSPC
eval $CMD &
sleep 1
$WM -r :ACTIVE: -t $WRKSPC