Я могу без проблем запустить Browser из черточки с добавленными параметрами (например, google-chrome --single-process --purge-memory-button
), отредактировав .desktop file
, но как я могу достичь того же, запустив браузер по умолчанию через запуск события open URL? В этом случае опции не применяются.
Например, если у меня есть документ в LibreOffice с URL-адресом, после щелчка по нему появляется новый экземпляр браузера, но к нему не применяются никакие параметры. Как я могу изменить это?
В этом случае достаточно редактирования файла .desktop, потому что приложения по умолчанию вызываются через файл .desktop.
См. Файл /etc/gnome/defaults.list
и файл ~/.local/share/applications/mimeapps.list
, первый содержит системные значения по умолчанию, а второй содержит стандартные значения, которые вы выбрали вместо системных по умолчанию.
Так что, в основном, просто посмотрите в эти файлы и посмотрите, какой файл .desktop вызывается для какого типа mime, и отредактируйте этот файл .desktop так, как вам нравится. Файлы .desktop можно найти в каталоге /usr/share/applications/
или, если вы переопределили .desktop по умолчанию, который можно найти в каталоге ~/.local/share/applications/
. (Это означает, что если у вас есть файл .desktop с одинаковым именем в обоих каталогах, система всегда будет использовать файл .desktop, присутствующий в каталоге ~/.local/share/applications/
)
E.g. если я хочу, чтобы firefox открывал ссылки, которые я нажимаю в терминале в новом окне, а не в новой вкладке, я бы просто удостоверился, что firefox - это мое приложение по умолчанию для просмотра, а затем просто
cp /usr/share/applications/firefox.desktop ~/.local/share/applications/firefox.desktop
переопределите файл .desktop по умолчанию и измените файл ~/.local/share/applications/firefox.desktop
в строке
Exec=firefox %u
на
Exec=firefox -new-window %u
В этом случае вам нужно будет отредактировать файл, который обрабатывает выполнение браузера. Таким образом, вы будете уверены, что нужные параметры будут включены при вызове отовсюду.
Вот что я имею в виду:
Я покажу пример того, как это сделать, используя chromium-browser
.
Вы должны быть осторожны при выполнении приведенных ниже команд, так как будут предоставлены привилегии суперпользователя, таким образом, у вас есть полные права для всей вашей системы, и, например, Вы можете удалить или изменить все, что угодно
Сделайте резервную копию старого файла:
cp / usr / bin / chromium-browser ~ / Documents / backup /
Где /usr/bin/chromium-browser
- исполняемый файл вашего браузера, а ~/Documents/backup/
- пример резервной копии. Чтобы найти местоположение исполняемого файла, вызываемого при каждом запуске браузера, вы можете найти его в файле рабочего стола, обычно в /usr/share/applications
.
Это скопирует / usr / bin / chromium-browser в ~ / Documents / backup /
Переместите файл под новым именем:
sudo mv / usr / bin / chromium-browser / usr / bin / chromium-original
Это позволит переименовать исполняемый файл из chromium-browser в chromium-original
Например, в этом случае создайте где-нибудь файл с именем chromium-browser с содержимым:
#!/bin/bash
/usr/bin/chromium-original --param1 --param2 --param3 "$@"
Где --param1 --param2 --param3 - параметры, которые вы хотите задать исполняться каждый раз.
«$ @» означает «все параметры, передаваемые в этот файл», что в данном случае обычно является URL.
После сохранения вышеуказанного файла сделайте его исполняемым. Два способа сделать это, либо щелкнуть правой кнопкой мыши -> Свойства-> Разрешения-> Разрешить выполнение файла как программы или через терминал: chmod +ax chromium-browser
Наконец, переместите его в старое местоположение исходного исполняемого файла:
mv ~/chromium-browser /usr/bin/
где ~/chromium-browser
местоположение созданного вами скрипта.
Обратите внимание, что вам не нужно делать все это, если вы хотите заменить одну команду терминала на ту же, но с другими аргументами. Вы можете сделать это в ~/.bash_aliases
, используя псевдоним. См. Как создать постоянный «псевдоним»? для получения дополнительной информации.