Избегайте запуска нескольких программ

Некоторые программы, например. firefox , позволяет иметь несколько экземпляров. Хотя это полезно в некоторых случаях (например, новый экземпляр xterm ), я обычно получаю огромное количество.

Можно ли настроить, какие программы должны иметь только один экземпляр?

  • Как обмануть приложение для запуска разных процессов?
  • One Solution collect form web for “Избегайте запуска нескольких программ”

    Я запускаю свои приложения для графического интерфейса в основном с помощью сочетаний клавиш, а для приложений мне нужен только один экземпляр, я указываю эти ярлыки на оболочку, которая либо дает мне последний запущенный экземпляр (и ставит это окно на передний план), либо создает новый экземпляр если их нет.

    У меня есть:

    lonew :

     #!/bin/sh -e #lastof or new -- try lastof and give me a new instance if it failed cmd=$1; shift lastof "$cmd" || exec "$cmd" "$@" 

    lastof :

     #!/bin/sh -e #give me the last used instance of the GUI app matching $@ results=$(xdotool search "$@") result=$(echo "$results" | while read -r id; do echo "$(xprop -id $id '_NET_WM_USER_TIME')" "$id"; done | sed -n 's/.*= //p' |sort -n | tail -1| cut -d\ -f2 ) [ -n "$result" ] || result=$(echo "$results" | tail -1) exec xdotool windowactivate "$result" 

    Чтобы привести пример, мои настройки ярлыков для запуска моего эмулятора терминала:

     Ctrl+Alt+K : lonew konsole Ctrl+Shift+Alt+K : konsole #force a new instance 

    Некоторые приложения, такие как banshee или thunderbird, эффективно управляют этой одноузловой вещью сами по себе, но мне удобно иметь автономное решение do-one-thing-and-do-it-well, которое я могу обернуть вокруг любого приложения I хотеть.


    Зависимости: xprop, xdotool

    Interesting Posts

    Откройте приложение на обычном рабочем столе в xmonad

    Отладка «брутальной» системы зависает (больше не отвечает на Alt + SysRq + B)

    Как вы раскрашиваете только некоторые ключевые слова для сценария bash?

    доступ к Linux и окнам в одно и то же место размещения

    i3 bar заменяет значки лотков по тексту

    EFI Нет загрузчика. Конфигурационные файлы в \ loader \ entries \ *. Conf необходимы

    Восстановить поврежденный системный каталог (например, / lib)

    Есть ли способ отключить панель инструментов с плазмоидами, которая появляется, когда мышь находится над виджетами / плазмоидами?

    Рекурсивно найти все файлы с именем «file.txt» и выполнить команду sed

    Команда Openssl s_client всегда говорит 400 Bad Request

    Поиск файлов, содержащих несколько ключевых слов в любом месте файла

    apt-get подсказки для компакт-дисков при установке пакетов, как мне его остановить?

    SED Использование правильно изменить линию

    Какие команды я могу использовать в терминале, чтобы найти программу, которая делает конкретную вещь?

    Проблема использования пространства RedHat Linux

    Linux и Unix - лучшая ОС в мире.