GNU/Linux >> Linux の 問題 >  >> Linux

Linux で gui プログラムを 1 つのインスタンスのみに制限する

プログラムへのリンクを、プログラムが実行されているかどうかをチェックするシェル スクリプトへのリンクに置き換えることをお勧めします。 .


このスレッドを見つけて実装し、私のバージョンを共有しました。

実行ファイル /usr/local/bin/run_once.sh を作成しました 含む

#! /bin/bash
application=$1
if wmctrl -xl | grep "${application}" > /dev/null ; then
    # Already running, raising to front
    wmctrl -x -R "$application"
else
    # Not running: starting
    [email protected]
fi

これは wmctrl を使用してチェックします ps を使用する代わりに、起動しようとしているアプリケーションが既にウィンドウを開いている場合 (一部の GUI プログラムは、GUI を実行せずにワーカーを保持します) 、 -x を使用して WM_CLASS を使用します

ウィンドウが 1 つだけ必要なプログラムごとに、システム .desktop をコピーしました。 ファイルを ~/.local/share/applicationsexec を変更しました exec=program --arguments のフィールド exec=/usr/local/bin/run_once.sh program --arguments


通常、アプリケーションのソース コードは変更する必要があります。これは、オペレーティング システムによって行われるものではありません。


Linux
  1. Debianベースのシステム、たった1つのGUIプログラム、他には何もありませんか?

  2. Bashスクリプトのインスタンスを1つだけ実行するようにするにはどうすればよいですか?

  3. Linuxで実行中のプロセスを再起動(またはリセット)する方法は?

  1. Linux –Linuxでプロセスを1つのCPUコアに制限する方法は??

  2. Linuxで実行中のプロセスを強制終了する方法

  3. Linuxで実行中のサービスを確認する

  1. Linux で 1 つのスレッドの UID/GID のみを変更する

  2. Bash スクリプトのインスタンスが 1 つだけ実行されるようにする最善の方法は何ですか?

  3. LinuxでSteam Terrariaを実行するのに問題がある