Subject: bug#55261: file:// links geneated by --hyperlink

From: Pádraig Brady <[email-masked]>
Date: Thu, 5 May 2022 14:13:31 +0100

On 04/05/2022 14:27, Stephen Eglen wrote:
> hi,
> 
> With ls (GNU coreutils) 9.0 if I generate a hyperlink e.g.:
> 
> $ ls --hyperlink /etc/anacrontab
> 
> it generates the following filename (after removing the markup)
> 
> file://light/etc/anacrontab
> 
> where 'light' is the name of my laptop (running arch linux).
> browse-url-xdg-open is my browser-function, and
> 
> $ xdg-open file://light/etc/anacrontab
> 
> generates the error:
> 
> xdg-open: file 'file://light/etc/anacrontab' does not exist
> 
> As the file URI is local, I think it might be a mistake to include the
> machine name, light, unless it is a FQDN.  If I edit the URL to remove
> 'light' the link works as expected.
> 
> This was reported for kitty terminal last year and fixed by dropping the
> hostname: https://github.com/kovidgoyal/kitty/issues/2970
> 
> However, kitty seems to be able to connect to machines remotely via
> ssh  ( https://download.calibre-ebook.com/videos/kitty.mp4 ) and so
> maybe having the domain name in the hyperlink is useful.
> 
> Stephen

The scheme we're following for this is described at:
https://gist.github.com/egmontkob/eb114294efbcd5adb1944c9f3cb5feda#file-uris-and-the-hostname

What is $HOSTNAME for you?
Is it perhaps a FQDN and that might work better?
I guess if we went with $HOSTNAME if set, it would allow one to override
the hostname used by ls like: HOSTNAME=blah ls --hyper

For reference, on my system `xdg-open file://blah/etc/hostname`
ignores "blah" and opens the local file, while gnome-terminal
opening such a link will refuse with:
"file" scheme with remote hostname not supported.

cheers,
Pádraig