Hinzufügen von Parametern zum Standardbrowser

8

Ich kann den Browser google-chrome --single-process --purge-memory-buttonproblemlos über Dash mit hinzugefügten Parametern (wie ) ausführen , indem .desktop fileich ihn bearbeite. Wie kann ich ihn jedoch erreichen , indem ich den Standardbrowser durch Auslösen eines Ereignisses mit offener URL ausführe? In diesem Fall werden keine Optionen angewendet.

Wenn ich beispielsweise ein Dokument in LibreOffice mit URL habe, wird nach dem Klicken eine neue Instanz des Browsers angezeigt, auf die jedoch keine Parameter angewendet werden. Wie kann ich diese ändern?

Jan.
quelle
Erstellen Sie einen benutzerdefinierten Launcher .desktop von Google Chrome im selben Ordner wie der vorhandene, jedoch mit einem anderen Namenswert. Dann setzen Sie es als Standard in 'Details'> 'Standardanwendungen'
Wilf

Antworten:

4

Das Bearbeiten der .desktop-Datei ist in diesem Fall auch ausreichend, da die Standardanwendungen über die .desktop-Datei aufgerufen werden.

Siehe /etc/gnome/defaults.listDatei und ~/.local/share/applications/mimeapps.listDatei, die erste enthält die Systemstandards und die zweite enthält die Standardeinstellungen, die Sie anstelle der Systemstandards ausgewählt haben.

Schauen Sie sich also einfach diese Dateien an und sehen Sie, welche .desktop-Datei für welchen MIME-Typ aufgerufen wird, und bearbeiten Sie diese .desktop-Datei nach Ihren Wünschen. Die .desktop-Dateien befinden sich im /usr/share/applications/Verzeichnis oder wenn Sie eine standardmäßige .desktop-Datei überschrieben haben, die sich im ~/.local/share/applications/Verzeichnis befindet. (Das heißt, wenn Sie in beiden Verzeichnissen eine .desktop-Datei mit demselben Namen haben, verwendet das System immer die im ~/.local/share/applications/Verzeichnis vorhandene .desktop-Datei. )

Wenn ich beispielsweise möchte, dass Firefox Links öffnet, auf die ich in einem neuen Fenster in einem Terminal anstatt in einem neuen Tab klicke, würde ich nur sicherstellen, dass Firefox meine Standardanwendung zum Surfen ist, und dann einfach

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

um die Standard-Desktop-Datei zu überschreiben und die ~/.local/share/applications/firefox.desktopDatei in der Zeile zu ändern

Exec=firefox %u

zu

Exec=firefox -new-window %u
Falkner
quelle
Sieht für Firefox gut aus, scheint aber, dass Chrom etwas Böses damit macht ... 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 aber $ ls -al /usr/share/applications | grep chrome $ $ ls -la ~/.local/share/applications | grep chrome $ eine Idee?
Januar
@ Jan Ich verstehe dein Problem nicht. Aus Ihrer Ausgabe geht hervor, dass Sie Chrome als Standardbrowser (mimeapps.list) festgelegt haben, aber keine google-chrome.desktop-Datei in Ihrem Home-Verzeichnis haben. Das ist in Ordnung, wenn Sie dort keine .desktop-Datei haben, wird die systemweite .desktop-Standarddatei von verwendet /usr/share/applications. Wenn Sie dies überschreiben möchten, kopieren Sie es einfach in Ihr ~/.local/share/applications/Verzeichnis und es überschreibt die Standardeinstellung.
Falkner
0

In diesem Fall müssen Sie die Datei bearbeiten, die die Ausführung des Browsers übernimmt. Auf diese Weise können Sie sicher sein, dass die gewünschten Parameter beim Aufruf von überall berücksichtigt werden.

Das ist was ich meine:

  1. Verschieben Sie die Originaldatei unter einen anderen Namen
  2. Erstellen Sie mit dem alten Namen der Originaldatei ein neues Skript, das die Originaldatei mit den erforderlichen Parametern aufruft.

Ich werde ein Beispiel dafür zeigen, wie das geht chromium-browser.

Sie müssen vorsichtig sein, wenn Sie die folgenden Befehle ausführen, da Superuser-Berechtigungen gewährt werden. Sie haben also die vollen Rechte für Ihr gesamtes System und können beispielsweise alles löschen oder ändern

  • Sichern Sie die alte Datei:

    cp / usr / bin / chrom-browser ~ / Dokumente / backup /

Wo /usr/bin/chromium-browserist die ausführbare Datei Ihres Browsers und ~/Documents/backup/ist ein Beispiel für einen Sicherungsspeicherort. Um den Speicherort der ausführbaren Datei zu ermitteln, die bei jedem Start Ihres Browsers aufgerufen wird, finden Sie sie in der Desktop-Datei, normalerweise in /usr/share/applications.

Dadurch wird / usr / bin / chrom-browser nach ~ / Documents / backup / kopiert.

  • Verschieben Sie die Datei unter einen neuen Namen:

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

Dadurch wird die ausführbare Datei von Chrom-Browser in Chrom-Original umbenannt

  • Ersetzen Sie den Namen der alten Datei durch eine Datei, die die gewünschten Parameter an die ursprüngliche ausführbare Datei übergibt.

Erstellen Sie in diesem Fall beispielsweise an einer beliebigen Stelle eine Datei namens Chrom-Browser mit folgenden Inhalten:

#!/bin/bash

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

Wobei --param1 --param2 --param3 die Parameter sind, die Sie jedes Mal ausführen möchten.

Das "$ @" bedeutet "alle an diese Datei übergebenen Parameter", in diesem Fall handelt es sich normalerweise um eine URL.

  • Machen Sie die Datei ausführbar und verschieben Sie sie an den Speicherort der alten Datei

Nachdem Sie die obige Datei gespeichert haben, machen Sie sie ausführbar. Zwei Möglichkeiten, entweder Rechtsklick-> Eigenschaften-> Berechtigungen-> Ausführen der Datei als Programm oder über das Terminal zulassen:chmod +ax chromium-browser

Verschieben Sie es schließlich an den alten Speicherort der ursprünglichen ausführbaren Datei:

mv ~/chromium-browser /usr/bin/

wo ~/chromium-browserder Speicherort des Skripts, das Sie erstellt haben.

Bitte beachten Sie, dass Sie nicht alle diese Schritte ausführen müssen, wenn Sie einen Befehl des Terminals durch denselben, aber durch andere Argumente ersetzen möchten. Sie können dazu ~/.bash_aliaseseinen Alias ​​verwenden. Siehe So erstellen Sie einen permanenten "Alias" für mehr Informationen.

Hytromo
quelle