
現在使用しているワークスペース以外のワークスペースで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拡張のための最高のサイトでより簡単なソリューションを得るには、インストールする必要があります。自動的にウィンドウを移動GNOME 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は2番目のワークスペース(-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