ボーナス:

ボーナス:

現在使用しているワークスペース以外のワークスペースで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

関連情報