Posting asli tentang menggunakan skrip untuk membuat aplikasi muncul di ruang kerja tertentu, sehingga skrip lain dapat digunakan dalam skrip Start Up untuk memungkinkan pengguna untuk terus bekerja sementara aplikasi permulaan yang sangat lambat dimuat di ruang kerja lain. Script saya berfungsi sebagai front-end untuk sintaks wmctrl yang agak rumit, untuk meluncurkan aplikasi apa saja di ruang kerja apa pun, dari prompt perintah apa pun. Jadi skrip lebih lanjut yang hanya mencantumkan sesuatu seperti, lh 1 thunderbird; lh 2 firefox; lh 3 calculator
...., atau apa pun, sekarang mudah. Namun ada beberapa kesulitan dengan waktu, sehingga tidur dalam skrip saya. Di bawah ini adalah versi terbaru, yang tidak akan saya pertahankan atau posting lagi. Gunakan SEBAGAIMANA ADANYA, tidak ada jaminan kecurigaan untuk penggunaan tertentu. Ubah sesuka Anda. Saya sarankan menabung sebagai /usr/local/bin/lh
, hanya karenalh
bukan nama program lain yang diketahui, setidaknya bukan pada Mint 18. Adapun variabel — saya mengutip variabel yang saya anggap perlu dikutip.
#!/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