'open' instead of 'xdg-open' for usability?
François Revol
revol at free.fr
Mon Dec 16 06:42:41 PST 2013
On 16/12/2013 13:22, Simon McVittie wrote:
> On 16/12/13 10:03, Robert Qualls wrote:
>> Instead of making users google this, shouldn't we just have a
> universal
>> 'open' command on all freedesktop environments?
>
> Unfortunately, that name is already taken. On my Debian system:
>
[...]
>
> This is a nice illustration of how one-word command names are a
> limited
> resource. Similarly, view(1) is either an alias for see(1) (a
> precursor
> of xdg-open from Debian's mime-support, which is a precursor of the
> Freedesktop shared MIME database), or an alias for vi(1) which opens
> the
> file read-only; and node(1) is either the Node-JS programming language
> interpreter (now called node-js in Debian), or an amateur radio daemon
> (now renamed to ax25-node).
>
Maybe but indeed, it's frustrating, specially when you're a regular user
of another OS with an existing open command which does exactly this
(Haiku in my case, even though I did have to bear OSX for a while too),
I often end up typing op[TAB]^H^Hxd[TAB]-o[TAB] which isn't really fast.
cf.
http://cgit.haiku-os.org/haiku/tree/src/bin/open.cpp
Btw, I've yet to encountered "open" meaning openvt in any script
anyway... now with proper package management it should be possible to
track this dependency, I wonder if it spans much more than what is
already packaged...
Btw, debian already has something do deal with this issue (although not
exactly meant for this one but rather competing programs for the same
purpose):
https://wiki.debian.org/DebianAlternatives
>> Imagine the following conversation:
>>
>> new user: What command do i use to find files?
>> *nix veteran: Oh, that's easy. Use xzzy-locate.
>> new user: W-why not...just locate? That makes sense.
>> *nix veteran: 'Cause we're a bunch of nerds.
>> new user: oh.
>
> Welcome to the command line. If things must continue to work the way
> they always used to work (which is the case for command-line
> utilities,
> because they're "API" for scripts) then you can't avoid being exposed
> to
> 40 years of historical baggage; if this hypothetical new user is
> using a
> GUI, which they probably are, they won't run into this.
Well, we could ask the IANA to hold a registry of command names maybe...
but then please don't forget other OSes, there are things beyond Linux
or even Unix clones...
The problem is also people usually write scripts without enough forward
looking and often use those shortcuts instead of the unambiguous
commands even when available.
But indeed, to avoid extra future cluttering it could be useful to have
such a registry (but they big distros need to abide by it and veto
including new packages without checking for names first)...
A related problem is the discrepancies between implementation of the
same command across OSes (shrug, ifconfig|route|netstat|... shrug).
Those should probably be packaged with an OS/kernel specific prefix and
symlinked, it would provide much easier detection by configure scripts
for ex...), like ifconfig -> linux-ifconfig...
(btw, I recall reading ifconfig was "deprecated in favor of" "ip", but I
guess that's just one more linux-specific unilateral decision anyway...
as I recall trying to port "ip" and it was just full of linux-only
hacks, I guess portability is not a concern for anyone anymore)
>> When I got the document open I saw that my viewer was evince. No
>> wonder I couldn't remember.
>
> I use evince too, but my GUI menus (in GNOME Shell) call it "Document
> Viewer". You should only have to see the internal name if you go
> looking
> for it (or if you use the command-line, where it's necessary to
> disambiguate between half a dozen possible document viewers).
That's because they want to avoid using what is actually "brand names"
and instead use descriptive names, for newbies to avoid wondering what
"evince" is supposed to do, which isn't bad in itself, but it hides
things even more.
I guess putting the program name in parentheses is too hard to do...
François.
More information about the xdg
mailing list