Как известно, браузеров в системе может быть множество, но браузер по умолчанию один. Но что делать, если мы используем несколько рабочих столов и на одном у нас всё оптимизировано, например, для администрирования, а на втором — для разработки и должны использоваться разные браузеры с разными настройками и разными же наборами закладок?
В целом, не проблема запустить на втором рабочем столе отдельный браузер, браузер с другим профилем и т.п. — решений может быть множество. Но мне удобнее всего использовать именно разные браузеры, полностью адаптированные для разных задач (разные настройки 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.