xdg-open ouvre uniquement un nouvel onglet dans une nouvelle fenêtre Chromium malgré le passage d'une URL


10

Lorsque j'utilise xdg-openpour ouvrir un lien dans Chromium, il en résulte simplement une nouvelle fenêtre Chromium avec uniquement la nouvelle page d'onglet, sans rien d'autre.

Par exemple, xdg-open '/ubuntu/'ouvrira simplement une nouvelle fenêtre Chromium et n'ouvrira pas AskUbuntu.

Il semble juste que l'URL n'est pas passé à Chrome, comme l' invocation de chrome directement fait le travail et ouvre la page souhaitée: chromium-browser '/ubuntu/' œuvres .

De toute évidence, Chromium est le navigateur par défaut.

Où pourrait être le problème et comment le résoudre? C'est particulièrement ennuyeux lorsque certains programmes utilisent xdg-openpour ouvrir un lien et que vous ne pouvez pas accéder à la page souhaitée, ni même voir ce qui a été ouvert.


Bien que cette question s'adresse à Chromium, cela pourrait fonctionner pour Firefox s'il s'agit du même problème.
— Léo Lam

Réponses:


17

Le problème est en effet que xdg-openne transmet pas l'URL demandée à Chromium, donc au lieu de s'exécuter chromium-browser url-here, il s'exécute , ce chromium-browserqui ouvre simplement une nouvelle fenêtre.

Après avoir recherché sur Internet, j'ai découvert qu'il xdg-openutilise certains fichiers "config" situés dans /usr/share/applications.

/usr/share/applications/chromium-browser.desktop semblait correct, car il est configuré pour transmettre correctement l'URL à Chromium:

$ grep Exec /usr/share/applications/chromium-browser.desktop
Exec=chromium-browser %U
...

Alors qu'est-ce qui n'allait pas? Il s'avère qu'il y a un autre emplacement qui xdg-openutilise et qui est prioritaire /usr/share/applications.

$ grep Exec ~/.local/share/applications/chromium-browser.desktop
Exec=/usr/lib/chromium-browser/chromium-browser --use-system-title-bar --ppapi-flash-path=/usr/lib/pepflashplugin-installer/libpepflashplayer.so --ppapi-flash-version=14.0.0.125

Je n'ai aucune idée de pourquoi il y a un autre chrome-browser.desktop, mais notez que cette ligne Exec ne passe pas l'URL; il manque le %U. J'ai donc simplement ajouté %Uà cette ligne. Cela a résolu instantanément tous les problèmes avec xdg-openet Chrome.


Incroyable! Je me suis cogné la tête contre un mur de briques pendant des semaines sur celui-ci, à peine trouvé cette réponse. La même chose se produit avec le google-chromepackage. Comment avez-vous compris cela?
— Adaline Simonian

1
J'ai aussi eu ce problème pendant longtemps, et je n'ai trouvé la cause que lorsque j'ai lu .desktoples fichiers d'application - je me suis souvenu des problèmes avec Chromium et j'ai décidé de vérifier les fichiers, et c'est ainsi que je l'ai résolu.
— Léo Lam

1
En fin de compte, je pense que le problème a été causé par le pepperflash, bien que je ne sois pas sûr. Besoin de consulter la liste des fichiers du package ou le script d'installation pour en être sûr.
— Léo Lam

Merci, travaillé pour google-chrome en mettant à jour ~ / .local / share / applications / google-chrome.desktop
— Vlad

Les fichiers liés à Chrome ont été déplacés de /.local/share/applications et cela a commencé à fonctionner instantanément! Merci!
— Íhor Mé
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.