So when you click a link, another Chrome is started with a blank page. If you click the link again, does it open another Chrome with a blank page, and so on? The actual webpage is never displayed?
I tested a link in 3 locations and they all displayed in Chrome, on a separate Tab.
I tested with:
- Skype
- xfce4-terminal > Help > About > Visit Xfce Terminal website
- executed the command,
pacman -Qi pacman
, and middle-mouse-clicked the URL (requires: Edit > Preferences > Advanced > Use middle mouse click to open URLS)
I’m not a big google-chrome user. Could it be a google-chrome setting. HHHmmm…
A side note, I ran into an interesting gotcha. For the life of me, I couldn’t figure out who and when the lines below were added to $HOME/.config/mimeapps.list.
x-scheme-handler/http=xfce4-web-browser.desktop
x-scheme-handler/https=xfce4-web-browser.desktop
It turns out, when a user uses the XFCE Settings Manger to change the Default Browser, the XFCE Settings daemon, xfsettingsd, adds them. This brings home a key point, the daemon gets notified when a change is made if the user uses the GUI. So if a change is made manually (i.e., edit the file), it’s probably necessary to logoff/on. The daemon has a --replace
option, but I haven’t tested it to see if it will pick up the changes. Logoff/on is simple and it takes a lot of potential problems off the table.
Compare the ouput with your system:
===> gio mime x-scheme-handler/https
Default application for “x-scheme-handler/https”: xfce4-web-browser.desktop
Registered applications:
xfce4-web-browser.desktop
firefox.desktop
google-chrome.desktop
Recommended applications:
xfce4-web-browser.desktop
firefox.desktop
google-chrome.desktop
Note: There is a difference between google-chrome.desktop, firefox.desktop, and xfce4-web-browser.desktop. The later uses exo-open which is the XFCE way to open URLS. See man exo-open
.
===> locate xfce4-web-browser.desktop
/usr/share/applications/xfce4-web-browser.desktop
Note: locate
is from the mlocate package. The program, updatedb
, runs on a systemd timer (updatedb.timer). I don’t believe it is installed by default. You could just check that the file exists in the /usr/share/applications directory. Also check your $HOME directory ( find ~ -type f -name 'xfce4-web*'
).
# replace the file if found in your home directory, which overrides the system.
===> grep -i 'exec' /usr/share/applications/xfce4-web-browser.desktop
Exec=exo-open --launch WebBrowser %u
If all the above output was the same and nothing helped above, make sure you are getting the correct desktop file:
-
cd $HOME/.local/share/applications
Note: You may need to create the applications directory.
-
cp /usr/share/applications/xfce4-web-browser.desktop .
Note: The dot is current directory.
- edit copied xfce4-web-browser.desktop and change the Exec line (see above).
I just executed another application like /usr/bin/manjaro-documentation.
Note: Remember to remove this desktop file after the test.
The goal is, when you click on a link, you should see whatever is in the Exec line. This will prove at
least you are getting the correct desktop file. The desktop file is provided by the package xfce4-settings.
# what package owns this file
pacman -Fx xfce4-web-browser.desktop
# info about package from output (i.e., Required By)
pacman -Qi xfce4-settings
Hope this helps track down the problem.