xdg-open solo abre una nueva pestaña en una nueva ventana de Chromium a pesar de pasarle una URL

10

Cuando estoy usando xdg-openpara abrir un enlace en Chromium, solo da como resultado una nueva ventana de Chromium con solo la nueva pestaña, sin nada más.

Por ejemplo, xdg-open '/ubuntu/'solo abrirá una nueva ventana de Chromium y no abrirá AskUbuntu.

Pero parece que la dirección no se está pasando al cromo, como invocando directamente cromo hace el trabajo y se abre la página deseada: chromium-browser '/ubuntu/' obras .

Obviamente, Chromium es el navegador predeterminado.

¿Dónde podría estar el problema y cómo puedo solucionarlo? Es especialmente molesto cuando algunos programas usan xdg-openpara abrir un enlace y no puede ir a la página que desea, o incluso ver lo que se abrió.

Léo Lam
fuente
Aunque esta pregunta es para Chromium, esto podría funcionar para Firefox si es el mismo problema.
Léo Lam

Respuestas:

17

El problema es que xdg-openno pasa la URL solicitada a Chromium, por lo que en lugar de ejecutarse chromium-browser url-here, se está ejecutando, lo chromium-browserque solo abre una nueva ventana.

Después de buscar en Internet, descubrí que xdg-openusa algunos archivos de "configuración" ubicados en /usr/share/applications.

/usr/share/applications/chromium-browser.desktop parecía correcto, ya que está configurado para pasar la URL a Chromium correctamente:

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

Entonces, ¿qué estaba mal? Resulta que hay otra ubicación que xdg-openusa y que tiene prioridad sobre /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

No tengo idea de por qué hay otro chromium-browser.desktop, pero tenga en cuenta que esta línea Exec no pasa la URL; le falta el %U. Entonces simplemente agregué %Ua esta línea. Esto solucionó al instante todos los problemas con xdg-openChromium.

Léo Lam
fuente
¡Increíble! He estado golpeándome la cabeza contra una pared de ladrillos durante semanas en este caso, apenas encontré esta respuesta. Lo mismo sucede con el google-chromepaquete. ¿Cómo lo resolviste?
Adaline Simonian
1
También tuve este problema durante mucho tiempo, y solo encontré la causa cuando leí sobre .desktoparchivos de aplicaciones: recordé los problemas con Chromium y decidí revisar los archivos, y así fue como lo solucioné.
Léo Lam
1
En última instancia, creo que el problema fue causado por pepperflash, aunque no estoy seguro. Es necesario mirar la lista de archivos del paquete o instalar el script para estar seguro.
Léo Lam
Gracias, trabajé para google-chrome actualizando ~ / .local / share / aplicaciones / google-chrome.desktop
Vlad
¡Se movieron los archivos relacionados con Chrome desde /.local/share/applications y comenzó a funcionar al instante! ¡Gracias!
Íhor Mé