Dodanie parametru do domyślnej przeglądarki

8

Mogę google-chrome --single-process --purge-memory-buttonbez problemu uruchomić przeglądarkę z dodanymi parametrami (np. ), Edytując .desktop file, ale w jaki sposób mogę osiągnąć to samo, uruchamiając domyślną przeglądarkę poprzez wywołanie zdarzenia otwartego adresu URL? W tym przypadku nie zastosowano żadnych opcji.

Na przykład, jeśli mam dokument w LibreOffice z adresem URL, po jego kliknięciu pojawi się nowa instancja przeglądarki, ale nie zostaną zastosowane żadne parametry. Jak mogę to zmienić?

Jan
źródło
Utwórz niestandardowy program uruchamiający .desktop Google Chrome w tym samym folderze co istniejący, ale o innej wartości nazwy. Następnie ustaw go jako domyślny w „Szczegóły”> „Domyślne aplikacje”
Wilf,

Odpowiedzi:

4

W tym przypadku wystarczy edytować plik .desktop, ponieważ aplikacje domyślne są wywoływane za pomocą pliku .desktop.

Zobacz /etc/gnome/defaults.listplik i ~/.local/share/applications/mimeapps.listplik, pierwszy zawiera domyślne ustawienia systemowe, a drugi zawiera domyślne, które wybrałeś zamiast domyślnych ustawień systemowych.

Więc po prostu spójrz na te pliki i zobacz, który plik .desktop jest wywoływany dla którego typu mime i edytuj ten plik .desktop tak, jak chcesz. Pliki .desktop można znaleźć w /usr/share/applications/katalogu lub jeśli przesłoniłeś domyślny plik .desktop, który można znaleźć w ~/.local/share/applications/katalogu. (Oznacza to, że jeśli masz plik .desktop o tej samej nazwie w obu katalogach, system zawsze użyje pliku .desktop znajdującego się w ~/.local/share/applications/katalogu)

Np. Jeśli chcę, aby firefox otwierał łącza, które klikam w terminalu w nowym oknie zamiast w nowej karcie, po prostu upewniłem się, że firefox jest moją domyślną aplikacją do przeglądania, a następnie po prostu

cp /usr/share/applications/firefox.desktop ~/.local/share/applications/firefox.desktop

aby zastąpić domyślny plik .desktop i zmienić ~/.local/share/applications/firefox.desktopplik w wierszu

Exec=firefox %u

do

Exec=firefox -new-window %u
sokolnik
źródło
Wygląda dobrze dla Firefoxa, ale wygląda na to, że chrom robi coś paskudnego z ... icewind@icewind-Aspire-4820TG:~$ cat ~/.local/share/applications/mimeapps.list | grep google text/html=google-chrome.desktop x-scheme-handler/mailto=google-chrome.desktop x-scheme-handler/http=google-chrome.desktop x-scheme-handler/https=google-chrome.desktop x-scheme-handler/unknown=google-chrome.desktop ale $ ls -al /usr/share/applications | grep chrome $ $ ls -la ~/.local/share/applications | grep chrome $ masz jakiś pomysł?
Jan
@ Jan Nie rozumiem twojego problemu. Z twoich danych wyjściowych widzę, że ustawiłeś chrome jako domyślną przeglądarkę (mimeapps.list), ale nie masz pliku google-chrome.desktop w swoim katalogu domowym. To dobrze, jeśli nie ma tam pliku .desktop, wówczas używany jest domyślny ogólnosystemowy plik .desktop /usr/share/applications. Jeśli chcesz zastąpić, po prostu skopiuj go do ~/.local/share/applications/katalogu, a zastąpi domyślny.
sokolnik
0

W takim przypadku będziesz musiał edytować plik, który obsługuje wykonanie przeglądarki. W ten sposób będziesz mieć pewność, że parametry, które chcesz, zostaną uwzględnione, gdy zostaną wywołane z dowolnego miejsca.

To jest to co mam na mysli:

  1. Przenieś oryginalny plik pod inną nazwą
  2. Przy starej nazwie oryginalnego pliku utwórz nowy skrypt wywołujący oryginalny plik z wymaganymi parametrami.

Pokażę przykład, jak to zrobić, używając chromium-browser.

Podczas wykonywania poniższych poleceń będziesz musiał zachować ostrożność, ponieważ zostaną przyznane uprawnienia superużytkownika, dzięki czemu będziesz mieć pełne prawa do całego systemu i np. Możesz usunąć lub zmienić wszystko

  • Wykonaj kopię zapasową starego pliku:

    cp / usr / bin / chromium-browser ~ / Documents / backup /

Gdzie /usr/bin/chromium-browserznajduje się plik wykonywalny przeglądarki i ~/Documents/backup/jest to przykładowa lokalizacja kopii zapasowej. Aby znaleźć lokalizację pliku wykonywalnego wywoływanego przy każdym uruchomieniu przeglądarki, można go znaleźć w pliku na pulpicie, zwykle w /usr/share/applications.

Spowoduje to skopiowanie / usr / bin / chromium-browser do ~ / Documents / backup /

  • Przenieś plik do nowej nazwy:

    sudo mv / usr / bin / chromium-browser / usr / bin / chromium-original

Spowoduje to zmianę nazwy pliku wykonywalnego z przeglądarki chromu na wersję chromu

  • Zamień nazwę starego pliku na plik, który przekazuje parametry do oryginalnego pliku wykonywalnego.

Na przykład, przy tej okazji utwórz w dowolnym miejscu plik o nazwie przeglądarka chromowa z zawartością:

#!/bin/bash

/usr/bin/chromium-original --param1 --param2 --param3 "$@"

Gdzie --param1 --param2 --param3 to parametry, które chcesz wykonać za każdym razem.

„$ @” Oznacza „wszystkie parametry przekazane do tego pliku”, którym w tym przypadku jest zazwyczaj adres URL.

  • Ustaw plik jako wykonywalny i przenieś go do lokalizacji starego pliku

Po zapisaniu powyższego pliku, wykonaj go. Można to zrobić na dwa sposoby: kliknij prawym przyciskiem myszy-> Właściwości-> Uprawnienia-> Zezwól na uruchamianie pliku jako programu lub przez terminal:chmod +ax chromium-browser

Na koniec przenieś go do starej lokalizacji oryginalnego pliku wykonywalnego:

mv ~/chromium-browser /usr/bin/

gdzie ~/chromium-browserznajduje się lokalizacja skryptu, który utworzyłeś.

Pamiętaj, że nie musisz wykonywać tych wszystkich czynności, jeśli chcesz zastąpić jedno polecenie terminala tym samym, ale innymi argumentami. Możesz to zrobić, ~/.bash_aliasesużywając aliasu. Zobacz Jak utworzyć stały „alias”? po więcej informacji.

hytromo
źródło