web-dev-qa-db-ja.com

Ubuntu / Gnome:特定のワークスペースでアプリケーションを開きます

特定のワークスペースで開くようにアプリケーションに指示するにはどうすればよいですか?


より詳しい情報:

私はC++ IDEをワークスペース2に、私のJava IDEをワークスペース3に、そして私の電子メール、ブラウザーをまた、ワークスペース4の雑多です。ログイン時に実行するシェルスクリプトも使用します。

#!/bin/bash
gnome-terminal & # WS 1
netbeans-6-9-1 & # WS2
qtcreator-2-0-1 & # WS 3
firefox & # WS 4
Thunderbird & # WS 4

もちろん現在はすべて現在のワークスペースで開かれています...各コマンドを開始するワークスペースを指定する方法はありますか?

前もって感謝します!

10
bguiz

devilspie を使用して、どのウィンドウがどのワークスペースに移動するかについてのルールを設定できます。

まさにその例については、 docs を参照してください。

しかし、MrStaticも良い提案をしています。最初にそれを試してください。シェルスクリプトさえ必要ないかもしれません。

シェルスクリプトで使用できるコマンドにする必要がある場合は、 wmctrl を参照してください。

4
Mikel

wmctrlツールを試しましたが、次のコマンドを使用してウィンドウを移動するのが最も簡単な解決策であることがわかりました。

wmctrl -r <WindowName> -t <WorkspaceNumber>

ワークスペース番号は0から始まることに注意してください。最後に、次のコマンドを使用して、好みのワークスペースに移動できます。

wmctrl -s <WorkspaceNumber>
7
VGe0rge

この基本構造をスクリプトで使用して、特定のアプリケーションのセットを特定のワークスペースで開きます。この例では、ターミナルを開いてワークスペース1に移動しています...

cd
gnome-terminal
until wmctrl -l | grep -q "me@mypc ~"; 
do
    sleep 0.1
done
wmctrl -r "me@mypc ~" -t 1
1
Steve Murphy

Wmctrlをインストールする

Sudo apt install wmctrl

そして、スクリプトを作成します(この例では、2番目のワークスペースに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"

シナモンでDebain10に取り組みます。しかし、すべてのために働くはずです

0
pzim