web-dev-qa-db-ja.com

起動プログラムに最小化された起動を指示するにはどうすればよいですか?

これが私を悩ませている質問です。起動時に実行するようにプログラムを設定する方法を知っていますか?さて、Windowsで行うように、最小化して起動するようにするにはどうすればいいですか?

TeamViewerは開いた状態で起動しますが、最小化する必要があり、Tray-itはそれを行う方法としてエレガントではないようです。

19
semi-newbie

devilspieというツールを使用できますInstall devilspie

このツールは、ワークスペースへの送信、固定、最小化など、プログラムが開始されるとすぐにアクションを実行できます。チュートリアルは here です。

  • コマンドラインから実行するには、次を実行します。

Sudo apt-get install devilspie

  • 実行されるたびにTeamviewerを最小化するように構成するには:

    mkdir ~/.devilspie
    

~/.devilspie/teamviewer.dsというファイルを作成し、次の行を貼り付けます。

(if  
(is (application_name) "Teamviewer")  
(begin (minimize) )  
)  

設定を簡単にするためのGUIが必要な場合は、 gdevilspieInstall gdevilspie

(GDevilspieが起動しない場合 パッチを適用したものを試してください )。

21
MJB

Ubuntuシステムの起動中に自動起動するようにセットアップすると、TeamViewerが最小化されないという同じ問題で、この投稿に出くわしました。
@ MJBが1月27日16:02に説明した方法は、私にとっては完璧に機能しました(Ubuntu 10.10 32ビットを実行しています。これまでにすべての更新がインストールされ、teamviewer_linux_x32_v6.0.9224.debです)。
2月14日18:50に@misterbenが説明したグリッチは発生しません。
Ubuntu Software CenterからGDevilspieをインストールし、実行し、新しいルールを作成してGDevilspieをセットアップし、[Raw]タブに次のコードを表示しました。

( if 
( begin 
( is ( application_name ) "Teamviewer" )
( is ( window_name ) "TeamViewer" )
) 
( begin 
( minimize )
( println "match" )
)
)

Devilspieデーモンは、システムの起動時に自動的に起動するように設定され、teamviewerは、[システム]-> [設定]-> [起動アプリケーション](追加、コマンド:teamviewerの順にクリック)で自動的に起動するように設定されます。

TeamViewerの開発者がLinux用の最小化された起動スイッチを統合する場合は素晴らしいでしょう...

ありがとうMJB! :)

5
qwertz

プログラムの最小化は、それをサポートするかどうかに依存します。また、プログラムにGUIまたはコマンドライン経由でオプションがあるかどうかにも依存します。たとえば、vlcには設定を最小化して起動するオプションがあります。ただし、コマンドラインには最小化して起動するオプション(パラメーターなど)もあります。最小化するオプションも、プログラムによって異なります。一部のプログラムはprogram -minであるかもしれません。他はprogram -systrayなどであるかもしれません。例えば、Teamviewerがguiオプションでこのオプションを持っていることを確認してください。プログラムにコマンドラインの最小化パラメーターがある場合は、起動マネージャーに追加するだけです。

4
Luis Alvarado

また、起動時にTeamviewerをトレイに最小化していますが、 KDocker を使用しています。

Sudo apt-get install kdocker

私の起動スクリプトは1行です。

kdocker -n Teamviewer -i /opt/teamviewer/teamviewer/7/desktop/teamviewer.png -d 40 /usr/bin/teamviewer7 &
  • -nはウィンドウの名前です
  • -iはアイコンファイルです
  • -dは40秒の制限です。その後、kdockerは、一致するウィンドウが見つからない場合にgiveめます
1
Greg Chabala

2017年の実用的なソリューション!

私はManjaro(XFCE)エディションから来ていますが、これはdevilspieを使用したクロスLinuxソリューションであるため、最小化されたチームビューアーの開始に関する完全なソリューションです。

  1. ターミナルを開く

  2. devilspieパッケージをインストールします。

    apt-get install devilspie
    
  3. ホームフォルダーを作成します。

    mkdir ~/.devilspie
    
  4. 次のスクリプトを作成します(nanoの代わりに必要なエディターを使用します)。

    nano ~/.devilspie/teamviewer.ds
    
  5. 次のスクリプトを貼り付けてファイルを保存します(nanoの場合-CTRL + x、次にY、次にENTER) :

    ( if
    ( begin
    ( is (application_name) "Teamviewer")
    ( is (window_name) "TeamViewer")
    )
    ( begin (close) )
    )
    
    1. devilspieパースペクティブからはすべてのステップが実行されますが、「コンピューターと連絡先」サイドウィンドウは各起動時に引き続き表示されます。非表示にするには、次を開きます。

TeamViewer->エクストラ->オプション->詳細-> "詳細オプションを表示"-> "起動時にコンピューターと連絡先を表示"(「コンピューターの詳細設定と連絡先セクション)をオフにします。

手順はTeamViewer 12向けです。それ以降のバージョンでは異なる場合があります。

注意:

Devilspieスクリプトで(閉じる)の代わりに(閉じる)を使用すると、「TeamViewerの準備ができていません。接続を確認してください」エラーが発生し、チームビューアーサービスの再起動なしで機能しませんでした。

0
Erikas

Teamviewer 8.0.20931以降、システムトレイ機能は自動的に最小化されます。しかし、GnomeクラシックではWine System Trayが作成されますが、最小化する方法はわかりません。スクリプトを試してみました(〜/ .devilspie/wine.dsとして保存):

( if 
( begin 
( is ( application_name ) "Wine" )
( is ( window_name ) "Wine System Tray" )
) 
( begin 
( minimize )
( println "match" )
)
)

...しかし、うまくいきませんでした

Linux用の新しいTeamviewer 8.0.20931を使用すると、まだログインしているユーザーがいない場合でも、Linuxログイン画面にログインできます。しかし、しばらくしてから2回ログインまたはログアウトすると、Teamviewerに接続できません。コンピューターを再起動するには、コマンドライン経由でリモートアクセスする必要があります-その後、再び動作します。

0
zeroconf

新しいバージョンでは、プログラムのトレイに既にアイコンがありますが、起動時にプログラムの2つのメインウィンドウが表示されます。だから私はこのスクリプトを使用しています

#! /bin/sh

/opt/teamviewer/tv_bin/TeamViewer &
sleep 10
TV_WIN_ID=$(xdotool search --name TeamViewer)
TV_WIN_ID2=$(xdotool search --name 'Компьютеры и контакты')

if [ -n "$TV_WIN_ID" ] ; then
 sleep 1
 xdotool windowactivate $TV_WIN_ID
 xdotool key Alt+F4  
else
 exit 1
fi
if [ -n "$TV_WIN_ID2" ] ; then
 sleep 1
 xdotool windowactivate $TV_WIN_ID2
 xdotool key Alt+F4  
 else
exit 1
fi
0
Andrey

Devilspieは、何らかの理由で私のシステムで動作しませんでした。最終的に、私は代替品を見つけました(それほどエレガントではありません)。wmctrlをインストールしました:

Sudo apt-get install wmctrl

wmctrl -lを使用してウィンドウの名前を見つけたため、起動時に閉じたいと思いました。その後、これらのコマンドをスクリプトに追加します(新しい空のファイルを作成し、.<...>.shという名前を付けます。名前の先頭にドットを付けて非表示にします)。

wmctrl -c <Window_1>
wmctrl -c <Window_2>
wmctrl -c <Window_3>

最後に、このファイルをターゲットの数秒後にスタートアップアプリケーションに追加しました。


このコマンドはウィンドウを閉じることに注意してください。最小化されたプログラムを開始するには、異なるワークスペースで、プログラムのマニュアルで適切なオプションを見つけます。

0
Sergey