Я недавно переключился с Windows в Linux и установил установку запуска приложения называется Альберт, Если у меня есть приложение (EX: Chrome или VSCode), если я ввожу имени приложения в Alfred, он откроется новое окно . Я ищу пусковую установку, которое откроет новое окно, если приложение не работает , в противном случае он будет Redirect Вы на уже запущены окно
Отказ
Рабочая группа 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 запускает или переключается в файловый менеджер и т.д.).