Разные браузеры по умолчанию на разных рабочих столах

Как известно, браузеров в системе может быть множество, но браузер по умолчанию один. Но что делать, если мы используем несколько рабочих столов и на одном у нас всё оптимизировано, например, для администрирования, а на втором — для разработки и должны использоваться разные браузеры с разными настройками и разными же наборами закладок?

В целом, не проблема запустить на втором рабочем столе отдельный браузер, браузер с другим профилем и т.п. — решений может быть множество. Но мне удобнее всего использовать именно разные браузеры, полностью адаптированные для разных задач (разные настройки proxy, наборы закладок и т.п.). И запустить другой браузер на втором рабочем столе не проблема, но вот при переходе по ссылке из стороннего приложения (Telegram, Konsole и т.п.) — ссылка будет открыта именно в браузере по умолчанию.

В Linux KDE решается это на удивление просто.

1. Создаем собственный скрипт, где-либо, например, /home/username/scripts/browser_from_desktop.sh с таким содержанием:

#!/bin/bash

CURRENT_DESKTOP=$(qdbus org.kde.KWin /KWin currentDesktop)
if [ "$CURRENT_DESKTOP" -eq 1 ]; then
    chromium "$1"  # Открыть ссылку в chromium на рабочем столе 1
else
    google-chrome-stable "$1"  # Открыть ссылку в chrome на рабочем столе 2
fi

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

2. Создаем ярлык по адресу ~/.local/share/applications/browser_from_desktop.desktop:

[Desktop Entry]
Version=1.0
Name=BrowserFromDesktop
Exec=/home/username/scripts/browser_from_desktop.sh %u
Terminal=false
Type=Application
MimeType=text/html;text/xml;application/xhtml+xml;x-scheme-handler/http;x-scheme-handler/https;
Categories=Network;WebBrowser;

3. В параметрах системы > Приложения по умолчанию, в поле Веб-браузер указываем свой скрипт BrowserFromDesktop.

4. Там же, в разделе «Привязки файлов», добавляем BrowserFromDesktop для html.

5. Выполняем команду, чтобы посмотреть, какой браузер по умолчанию установлен сейчас:

xdg-settings get default-web-browser

6. И если не наш browser_from_desktop.desktop — устанавливаем свой скрипт в качестве браузера по умолчанию:

xdg-settings set default-web-browser browser_from_desktop.desktop

Профит! Теперь, на разных рабочих столах мы имеем разные браузеры по умолчанию.

Вы спросите, а зачем выполнять последние команды, если браузер по умолчанию был задан через GUI? А я отвечу, что не знаю, как и у кого, но у многих, konsole игнорирует браузер по умолчанию, заданный через GUI, что подтверждается выполнением команды xdg-settings get default-web-browser.

Ответить