Как я могу запустить только один экземпляр Thunar?

У меня есть Ubuntu 20 .

Я хочу запустить только один Thunar Exter для пользователя.

Я попробовал: WMCTRL - не работает, окно Thunar не в результате

Как это сделать?

1
задан 6 March 2021 в 13:16

1 ответ

Запуск или переключение на

Если приложение само по себе не позволяет подключиться к запущенному экземпляру при повторном запуске, вы можете использовать wmctrl для переключения на запущенный экземпляр, если он присутствует.

Следующий liner сделает:

wmctrl -x -a Thunar || thunar

Это запустит wmctrl, который переключит (-a, активирует) на окно с классом (-x) "Thunar". Если команда не работает, т.е. такого окна нет, то выполняется команда после -a, команда для запуска туннеля. В выводе wmctrl -lx найдите правильный класс окна (не уверен, что "Тюнар" действителен).

Адаптируя пусковой механизм

Теперь вы можете настроить пусковой механизм для ТУНАРа в своем меню. Пусковые установки - это текстовые файлы с расширением .desktop. Они находятся (среди прочих) в /usr/share/applications. Скопируйте пусковой механизм Thunar в вашу папку ~/.local/share/applications:

cp /usr/share/application/thunar.desktop ~/.local/share/applications

Затем отредактируйте копию и измените строку Exec= на что-то вроде:

Exec=sh -c "wmctrl -x -a Thunar || thunar %U"

Вы вставляете команду (в действительности это две команды) в вызов bash (sh -c), потому что пусковые механизмы не поддерживают наличие более одной команды в Exec - это строка. тунар %U должен быть командой, которая изначально появилась в пусковой установке.

**Назначение горячей клавиши для запуска Thunar"

Если вы используете горячую клавишу для запуска Thunar, вы можете вместо нее указать sh -c "wmctrl -x -a Thunar || thunar в качестве команды. Теперь, при нажатии горячей клавиши, перед командой будет запущен экземпляр, если он есть.

Необязательный совет

Вместо непосредственного использования wmctrl, я использую бэш-скрипт jumpapp (https://github.com/mkropat/jumpapp), который делает то же самое, но на стероидах. Последующие вызовы будут циклически проходить через все открытые окна. Скрипт имеет различные опции, чтобы справиться с определенным поведением различных приложений.

1
ответ дан 18 March 2021 в 23:28

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

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