В поисках запуска приложений, которое не запускает одно и то же приложение дважды?

Я недавно переключился с Windows в Linux и установил установку запуска приложения называется Альберт, Если у меня есть приложение (EX: Chrome или VSCode), если я ввожу имени приложения в Alfred, он откроется новое окно . Я ищу пусковую установку, которое откроет новое окно, если приложение не работает , в противном случае он будет Redirect Вы на уже запущены окно

Отказ

0
задан 23 February 2021 в 01:06

1 ответ

Рабочая группа Ubuntu Desktop работает над переносом 78 Thunderbird в Ubuntu 20,04 LTS. На момент написания статьи она находится в очереди в ожидании SRU . Можно отслеживать ход выполнения ошибки 1895643 .

-121--909619-

Проблема решена, но я не уверен, какое из приведенных выше предложений решило ее! Я подозреваю, что aptitude разрешил нарушенные зависимости пакета , которые не появлялись до перезагрузки.

Теперь все счастливы. Спасибо, милые люди.

-121--909799-

Поведение большинства пусковых установок по умолчанию заключается в том, чтобы запущенные приложения обрабатывали вещи. Пусковые устройства просто «запустят» приложение, даже если оно уже может быть открыто. Во многих случаях это приводит к появлению нового экземпляра приложения. В других случаях приложение программируется для проверки существующих экземпляров и вместо этого выполняет какие-либо действия с существующим окном, если оно существует. Например, Gimp будет «чувствовать», если он уже запущен, и переключаться на существующий экземпляр, а не запускать новый экземпляр.

Это соответствует концепции отделения «запуска» от «перехода на», которую некоторые люди могут предпочесть. Каждый раз, когда требуется перейти к существующему экземпляру, следует переключиться на него. При запуске нового экземпляра выполняется запуск. Вы всегда знаете, что средство запуска даст вам новый экземпляр. Некоторые люди могут предпочесть это, но другие, как и вы, могут предпочесть другое.

На самом деле есть пусковое устройство, которое является заметным исключением: это пусковое устройство Ubuntu Desktop по умолчанию, которое использует «Gnome Shell». Эта программа запуска использует модель «Launch or Switch to» (Запуск или переключение на).

Поэтому я могу ответить на ваш вопрос простым способом: средство запуска, которое дважды не запускает одно и то же приложение, является средством запуска по умолчанию рабочего стола Ubuntu .

Вы предпочитаете использовать Альберт (вероятно, именно это вы имеете в виду, а не Альфред, на который вдохновлялся аналог OS X Альберт), потому что он легкий, быстрый и элегантный. Наличие функции «Запуск или переключение на» находится в маршрутной карте Альберта. В настоящее время она этого не делает. Тем не менее, это Linux, и можно взломать, чтобы иметь поведение, которое вы хотите с Альбертом или любой другой запуск. Есть некоторое вдохновение в этом 10 летний вопрос , но есть более простой способ не упоминается там.

Самый простой подход заключается в запуске команды с однослойным:

wmctrl -a Calculator || gnome-calculator

При помощи утилиты wmctrl проверяется наличие окна «Калькулятор». Если это не удается, выполняется вторая команда - команда запуска приложения. Если wmctrl не будет установлен в системе, его можно установить с помощью команды sudo apt install wmctrl .

На практике необходимо отредактировать средство запуска .desktop , небольшой текстовый файл, который используется средством запуска для запуска приложения. Эти файлы находятся (среди прочих) в /usr/share/applications .Например, /usr/share/applications/org.gnome.Calculator.desktop содержит, среди прочего, следующую строку.

[Desktop Entry]
Name=Calculator
Comment=Perform arithmetic, scientific or financial calculations
Exec=gnome-calculator
Icon=org.gnome.Calculator
Type=Application
Categories=GNOME;GTK;Utility;Calculator;

Строка Exec = определяет способ запуска приложения. Поэтому при замене

Exec=gnome-calculator

на

Exec=sh -c "wmctrl -a Calculator || gnome-calculator"

файл .desktop будет изменен на «Launch or Switch to». Здесь требуется конструкция sh -c «»... , поскольку средства запуска .desktop не поддерживают несколько команд в строке Exec = .

Для безопасного изменения пусковых устройств .desktop без необходимости быть администратором скопируйте пусковые устройства .desktop , которые требуется изменить на ~/.local/share/applications . Затем их можно отредактировать с помощью текстового редактора. Измененные файлы .desktop в домашней папке пользователя заменяют файлы, установленные в масштабах всей системы (для всех пользователей) в /usr/share/applications .

Лично я использую jumpapp , сценарий bash, который основан на том же принципе. Однако она является более продвинутой и при последующих вызовах будет переключаться между различными окнами, которые могут быть открыты.

Если для вас это слишком сложно, попробуйте использовать средство запуска Ubuntu в полноэкранном режиме по умолчанию. Я научился, и использовать jumpapp для сочетаний клавиш ( Super + W запускает или переключается в браузер, Super + F запускает или переключается в файловый менеджер и т.д.).

0
ответ дан 18 March 2021 в 23:32

Другие вопросы по тегам:

Похожие вопросы: