Proposal: Removal of the /etc/skel/bin/ directory
Hi. I would like to propose the removal of the $HOME/bin directory from the default setup. It clutters the user's home in exchange for very little gain in some very specific individual workflows. For those who need an easy and user-oriented directory in $PATH, $HOME/.local/bin is already configured by default. What do you think? Best regards, Heitor Moreira
W dniu 20.11.2024 o 21:32, Larry Len Rainey pisze:
There is no $HOME/.local/bin in the PATH - here iswhat all my machines show:
PATH=/home/user/bin:/usr/local/bin:/usr/bin:/bin:/usr/lib/mit/sbin
In /etc/profile there's code that tests if $HOME/.local/bin exists and conditionally adds it to the PATH.
You completely misunderstood what I wrote. You wrote that you don't have $HOME/.local/bin in your PATH. I responded, that in /etc/profile it's tested if it exists, before being added to PATH. In other words if you run "mkdir ~/.local/bin" and open a new shell, it will appear in your PATH. No change required in /etc/profile. W dniu 20.11.2024 o 21:47, Larry Len Rainey pisze:
Are you wanting to change /etc/profile to remove the $HOME/bin from the list or just the creation of $HOME/bin from the installation media and when useradd is called to create a new directory in /home ?
On 11/20/24 14:38, Adam Mizerski via openSUSE Factory wrote:
W dniu 20.11.2024 o 21:32, Larry Len Rainey pisze:
There is no $HOME/.local/bin in the PATH - here iswhat all my machines show:
PATH=/home/user/bin:/usr/local/bin:/usr/bin:/bin:/usr/lib/mit/sbin
In /etc/profile there's code that tests if $HOME/.local/bin exists and conditionally adds it to the PATH.
On 2024-11-20 20:51, Heitor Moreira wrote:
Hi.
I would like to propose the removal of the $HOME/bin directory from the default setup. It clutters the user's home in exchange for very little gain in some very specific individual workflows.
For those who need an easy and user-oriented directory in $PATH, $HOME/.local/bin is already configured by default.
What do you think?
Please don't. It would break many scripts for no gain. It would also break a lot of documentation. -- Cheers / Saludos, Carlos E. R. (from 15.5 x86_64 at Telcontar)
The change doesn't remove already created directories, only stops creating the directory to new users. What scripts would break and why? What documentation? They should be updated too. Anyone who really prefers the $HOME/bin/ could create it at any time. Regards, Heitor Moreira Em qua., 20 de nov. de 2024 às 18:07, Carlos E. R. <carlos.e.r@opensuse.org> escreveu:
On 2024-11-20 20:51, Heitor Moreira wrote:
Hi.
I would like to propose the removal of the $HOME/bin directory from the default setup. It clutters the user's home in exchange for very little gain in some very specific individual workflows.
For those who need an easy and user-oriented directory in $PATH, $HOME/.local/bin is already configured by default.
What do you think?
Please don't.
It would break many scripts for no gain. It would also break a lot of documentation.
-- Cheers / Saludos,
Carlos E. R. (from 15.5 x86_64 at Telcontar)
On Wed, 20 Nov 2024 18:43:45 -0300, Heitor Moreira via openSUSE Factory wrote:
Anyone who really prefers the $HOME/bin/ could create it at any time.
Conversely, anyone who really prefers not having $HOME/bin/ can remove it at any time. :) -- Jim Henderson Please keep on-topic replies on the list so everyone benefits
On 2024-11-20 22:43, Heitor Moreira via openSUSE Factory wrote:
The change doesn't remove already created directories, only stops creating the directory to new users.
What scripts would break and why?
Thousands written over decades.
What documentation? They should be updated too.
Really? Adapt documentation that has been working for decades? Both printed and in electronic formats?
Anyone who really prefers the $HOME/bin/ could create it at any time.
Anyone wanting $HOME/.local/bin can create it himself. -- Cheers / Saludos, Carlos E. R. (from 15.5 x86_64 at Telcontar)
On 2024-11-20 22:43, Heitor Moreira via openSUSE Factory wrote:
The change doesn't remove already created directories, only stops creating the directory to new users.
What scripts would break and why?
Thousands written over decades. Thousands written over decades and you are unable to cite at least a few? Do you mean that people are writing scripts with hard dependency to $HOME/bin/? Really!?
What documentation? They should be updated too.
Really? Adapt documentation that has been working for decades? Both printed and in electronic formats? Well, if you are relying in documentation not updated over decades,
Em 20/11/2024 18:55, Carlos E. R. escreveu: there are for sure a lot of outdated instructions there already.
Anyone who really prefers the $HOME/bin/ could create it at any time.
Anyone wanting $HOME/.local/bin can create it himself.
On 2024-11-21 02:17, Heitor Moreira wrote:
Em 20/11/2024 18:55, Carlos E. R. escreveu:
On 2024-11-20 22:43, Heitor Moreira via openSUSE Factory wrote:
The change doesn't remove already created directories, only stops creating the directory to new users.
What scripts would break and why?
Thousands written over decades. Thousands written over decades and you are unable to cite at least a few?
Mine are personal, and of course I will not cite them. Then thousands of other users. You are trying to mess with MY HOME. Leave OUR HOMES alone.
Do you mean that people are writing scripts with hard dependency to $HOME/bin/? Really!?
Yes, really. -- Cheers / Saludos, Carlos E. R. (from 15.5 x86_64 at Telcontar)
On Thu, Nov 21, 2024 at 1:48 PM Carlos E. R. <carlos.e.r@opensuse.org> wrote:
You are trying to mess with MY HOME. Leave OUR HOMES alone.
No. Nobody is trying to mess with YOUR HOME. And if this question did not come up and the package was simply changed you would not even notice it. Do you know what /etc/skel is?
Good morning, On 21.11.24 11:47 Carlos E. R. wrote:
You are trying to mess with MY HOME. Leave OUR HOMES alone.
Carlos, you are aware that this only targets the home directories of **new** users? And if you hardcode ~/bin/foo instead of relying on path then something is really off IMHO... Kind Regards, Johannes
On Thu, Nov 21, 2024 at 2:18 AM Heitor Moreira <heitor@opensuse.org> wrote:
Thousands written over decades and you are unable to cite at least a few? Do you mean that people are writing scripts with hard dependency to $HOME/bin/? Really!?
We install our software system-wide in /opt. It belongs to root. It is placed at the end of the PATH. If a user wants to override a program (a test, whatever), they can put it in $HOME/bin and it will 'replace' what we have in /opt. Don't go all 'bad design' on me here. It is a working solution. So why not put it in $HOME/.local/bin instead? Because .local is a hidden directory. We prefer that the things in $HOME/bin are directly visible in all contexts. So the user knows what's there. It's not the location issue. It's the hidden nature of it. And hidden things are often forgotten. It is a different setup than just about every user-visible program that is stored in a visible location. Things that users never run directly as a command could perhaps be hidden. But not commands that will be run by name. M2CW. -- Roger Oberholtzer
On Thu, 21 Nov 2024 at 12:09, Roger Oberholtzer <roger.oberholtzer@gmail.com> wrote:
We install our software system-wide in /opt. It belongs to root. It is placed at the end of the PATH. If a user wants to override a program (a test, whatever), they can put it in $HOME/bin and it will 'replace' what we have in /opt.
What I see was proposed here, is not going to change any of that in any way. This is NOT about what goes into $PATH. The proposal is what "useradd -m" creates for so far nonexistent accounts. Nothing else. In my openSUSE (tw) usages, which is around 300 physical hosts and virtual machines, I probably have half a handful of $HOME/bin directories that are not empty. I would not shed any tears for this change (to not create $HOME/bin on new user creation) is implemented. best regards Patrick
On Thu, Nov 21, 2024 at 4:44 PM Patrick Schaaf <patrick.schaaf@yalwa.com> wrote:
What I see was proposed here, is not going to change any of that in any way. This is NOT about what goes into $PATH.
The proposal is what "useradd -m" creates for so far nonexistent accounts. Nothing else.
In my openSUSE (tw) usages, which is around 300 physical hosts and virtual machines, I probably have half a handful of $HOME/bin directories that are not empty. I would not shed any tears for this change (to not create $HOME/bin on new user creation) is implemented.
For me it is the change to putting things in a hidden folder. Obviously I can do as I please. But the idea that hiding programs is somehow acceptable (after all, the distro likes to set it up that way) is what I object to. -- Roger Oberholtzer
On 21.11.24 17:11 Roger Oberholtzer wrote:
For me it is the change to putting things in a hidden folder. Obviously I can do as I please. But the idea that hiding programs is somehow acceptable (after all, the distro likes to set it up that way) is what I object to.
But that is not what this change is about. The usage of ~/.local/bin/ is already a thing and is unrelated to this, even without the change. Kind Regards, Johannes
On Fri, Nov 22, 2024 at 8:14 AM Johannes Kastl <mail@johannes-kastl.de> wrote:
On 21.11.24 17:11 Roger Oberholtzer wrote:
For me it is the change to putting things in a hidden folder. Obviously I can do as I please. But the idea that hiding programs is somehow acceptable (after all, the distro likes to set it up that way) is what I object to.
But that is not what this change is about. The usage of ~/.local/bin/ is already a thing and is unrelated to this, even without the change.
If it is .local instead of bin, then that is exactly what it is about, as I see it. What is the benefit of .local/bin over bin? $HOME clutter is not a good reason. Look at all the desktop folders that are set up. Maybe some of them could go away. Does anyone really store their videos in $HOME/Videos? Or their MP3s in $HOME/Music? Or their documents in $HOME/Documents? etc. It makes no difference to me as I will continue with bin. But then people will say that not using .local/bin is bad design as, after all, it is set up for each user. I suggest that placing binaries that are in your $PATH in a hidden folder is bad design. -- Roger Oberholtzer
On Fri, Nov 22, 2024 at 10:48 AM Roger Oberholtzer <roger.oberholtzer@gmail.com> wrote:
What is the benefit of .local/bin over bin? $HOME clutter is not a good reason. Look at all the desktop folders that are set up. Maybe some of them could go away. Does anyone really store their videos in $HOME/Videos?
Yes, me.
Or their MP3s in $HOME/Music?
Yes.
Or their documents in $HOME/Documents? etc.
Yes, I do.
Am 22.11.24 um 08:47 schrieb Roger Oberholtzer:
What is the benefit of .local/bin over bin? $HOME clutter is not a good reason. Look at all the desktop folders that are set up. Maybe some of them could go away. Does anyone really store their videos in $HOME/Videos? Or their MP3s in $HOME/Music? Or their documents in $HOME/Documents? etc.
These directories are not set up for every new user with useradd. They are created by stupid desktop environments. Sometimes even locale-dependent, which is even worse, but this has nothing to do with this thread.
It makes no difference to me as I will continue with bin. But then people will say that not using .local/bin is bad design as, after all, it is set up for each user.
No, it is not. There is no .local/bin/ in /etc/skel, only bin/ I think neither .local/bin/ nor bin/ should be created by default. And I use a rather heavily populated ~/bin ;-) -- Stefan Seyfried "For a successful technology, reality must take precedence over public relations, for nature cannot be fooled." -- Richard Feynman
On Fri, Nov 22, 2024 at 10:23 AM Stefan Seyfried via openSUSE Factory <factory@lists.opensuse.org> wrote:
I think neither .local/bin/ nor bin/ should be created by default. And I use a rather heavily populated ~/bin ;-)
With this I agree. Choosing one or the other sets a kind of policy. Better to leave it to the user to decide. -- Roger Oberholtzer
On Fri Nov 22, 2024 at 12:48 PM CET, Roger Oberholtzer wrote:
I think neither .local/bin/ nor bin/ should be created by default. And I use a rather heavily populated ~/bin ;-)
$ ln -srf ~/.local/bin ~/.bin is the first command I run on any new installation of any Linux. Best, Matěj -- http://matej.ceplovi.cz/blog/, @mcepl@floss.social GPG Finger: 3C76 A027 CA45 AD70 98B5 BC1D 7920 5802 880B C9D8 Monday, December 9th. We skip the bus tour of Stockholm to attend the economics lecture. Our guest status is again good for front row seats. We hear about the theory of auctions. There are integrals and derivatives. It’s like physics except physics works.
Matěj Cepl composed on 2024-11-22 14:20 (UTC+0100):
$ ln -srf ~/.local/bin ~/.bin
is the first command I run on any new installation of any Linux.
I use ~/bin/. The logic of placement of user scripts and binaries in dot (aka hidden) directories totally escapes me. The logic of any hidden directories at all in $HOME seems dubious. -- Evolution as taught in public schools is, like religion, based on faith, not based on science. Team OS/2 ** Reg. Linux User #211409 ** a11y rocks! Felix Miata
On Fri Nov 22, 2024 at 5:58 PM CET, Felix Miata wrote:
Matěj Cepl composed on 2024-11-22 14:20 (UTC+0100):
$ ln -srf ~/.local/bin ~/.bin
is the first command I run on any new installation of any Linux.
I use ~/bin/. The logic of placement of user scripts and binaries in dot (aka hidden) directories totally escapes me. The logic of any hidden directories at all in $HOME seems dubious.
I think it is a difference between desktop and server users. For me $HOME is real directory, which I don’t to have filled with anything which is not useful for me, and that’s mostly only documents or files I work with. Anything else I like to have out of the way (~/.config, ~/.bin, etc.). For server instances, where the operation of the system is the main purposes of it, openly showing all innards makes a lot of sense. On my server, that link is ~/.local/bin -> ~/bin. Best, Matěj -- http://matej.ceplovi.cz/blog/, @mcepl@floss.social GPG Finger: 3C76 A027 CA45 AD70 98B5 BC1D 7920 5802 880B C9D8 The American Republic will endure, until politicians realize they can bribe the people with their own money. -- based on a statement of Alexander Fraser Tytler
Am 22.11.24 um 17:58 schrieb Felix Miata:
I use ~/bin/. The logic of placement of user scripts and binaries in dot (aka hidden) directories totally escapes me.
The way I understand it, ~/.local/bin isn't for your own scripts and binaries, but rather scripts and binaries managed by "user-space" package managers like Python's pip, Ruby's gem, and so on. Still somewhat dubious that this is hidden, but at least you're not meant to deal with it directly. You just install packages and the commands magically appear in your PATH.
Am 23.11.24 um 01:51 schrieb Aaron Puchert:
Am 22.11.24 um 17:58 schrieb Felix Miata:
I use ~/bin/. The logic of placement of user scripts and binaries in dot (aka hidden) directories totally escapes me.
The way I understand it, ~/.local/bin isn't for your own scripts and binaries, but rather scripts and binaries managed by "user-space" package managers like Python's pip, Ruby's gem, and so on.
That's also how I understand it and to be honest, I would hate it if pip and friends would put their stuff into ~/bin ;-) ~/bin is *my* space for putting things.
Still somewhat dubious that this is hidden, but at least you're not meant to deal with it directly. You just install packages and the commands magically appear in your PATH.
...once I found out *how* they made it to magically appear in $PATH, it was ok, but at first I was a bit confused... ;-) -- Stefan Seyfried "For a successful technology, reality must take precedence over public relations, for nature cannot be fooled." -- Richard Feynman
Hi, Am 22.11.24 um 08:47 schrieb Roger Oberholtzer:
What is the benefit of .local/bin over bin? $HOME clutter is not a good reason. Look at all the desktop folders that are set up. Maybe some of them could go away. Does anyone really store their videos in $HOME/Videos? Or their MP3s in $HOME/Music? Or their documents in $HOME/Documents? etc.
FWIW you can via xdg-user-dir reconfigure, where ~/{Music,Videos} and the like are located, possibly also even hide under a dot-directory, so they do not pester you. There's no standard/plattform-independent configuration or standard to reconfigure this for ~/bin.
It makes no difference to me as I will continue with bin. But then people will say that not using .local/bin is bad design as, after all, it is set up for each user. I suggest that placing binaries that are in your $PATH in a hidden folder is bad design.
That's something i can understand, at least from a PoV of taste. But i still would like to be able to set a configuration to configure it to my taste. I can do so with xdg-user-dir. I can not do this in a stable independent manner with ~/bin to my knowledge, which will not break when i move to other types of linux/unix systems. Jm2c, Kind regards, as someone with 2 scripts in VMs in ~/bin and 3 in ~/.local/bin in bare metal ones, Dennis -- Dennis Knorr, dennis.knorr@suse.com SUSE Software Solutions Germany GmbH Frankenstr. 146 90461 Nuernberg Germany www.suse.com Geschäftsführer: Ivo Totev, Andrew McDonald, Werner Knoblich (HRB 36809, AG Nürnberg)
On 2024-11-21 12:08, Roger Oberholtzer wrote:
On Thu, Nov 21, 2024 at 2:18 AM Heitor Moreira <heitor@opensuse.org> wrote:
Thousands written over decades and you are unable to cite at least a few? Do you mean that people are writing scripts with hard dependency to $HOME/bin/? Really!?
We install our software system-wide in /opt. It belongs to root. It is placed at the end of the PATH. If a user wants to override a program (a test, whatever), they can put it in $HOME/bin and it will 'replace' what we have in /opt. Don't go all 'bad design' on me here. It is a working solution.
So why not put it in $HOME/.local/bin instead? Because .local is a hidden directory. We prefer that the things in $HOME/bin are directly visible in all contexts. So the user knows what's there. It's not the location issue. It's the hidden nature of it. And hidden things are often forgotten. It is a different setup than just about every user-visible program that is stored in a visible location. Things that users never run directly as a command could perhaps be hidden. But not commands that will be run by name.
You are right, having programs in a hidden directory is a bad idea. -- Cheers / Saludos, Carlos E. R. (from 15.5 x86_64 at Telcontar)
On Wed, 20 Nov 2024 22:17:41 -0300, Heitor Moreira <heitor@opensuse.org> wrote:
Em 20/11/2024 18:55, Carlos E. R. escreveu:
On 2024-11-20 22:43, Heitor Moreira via openSUSE Factory wrote:
The change doesn't remove already created directories, only stops creating the directory to new users.
What scripts would break and why?
Thousands written over decades.
Thousands written over decades and you are unable to cite at least a few? Do you mean that people are writing scripts with hard dependency to $HOME/bin/? Really!?
"$HOME/bin" is in the install target of my makefiles for scripts and programs. Filesystem management scripts are another place to use that path. It is in my ~/.profile. Some scripts set $PATH and include $HOME/bin. I would be surprised if you couldn't find instances of that path in a search of the openSUSE repositories. -- Robert Webb
Anybody can customize the default user home directory layout for his/environment. I think the question is mostly what makes sense to be the default. My 2 cents. On Thu, Nov 21, 2024, 19:02 Robert Webb via openSUSE Factory < factory@lists.opensuse.org> wrote:
On Wed, 20 Nov 2024 22:17:41 -0300, Heitor Moreira <heitor@opensuse.org> wrote:
Em 20/11/2024 18:55, Carlos E. R. escreveu:
On 2024-11-20 22:43, Heitor Moreira via openSUSE Factory wrote:
The change doesn't remove already created directories, only stops creating the directory to new users.
What scripts would break and why?
Thousands written over decades.
Thousands written over decades and you are unable to cite at least a few? Do you mean that people are writing scripts with hard dependency to $HOME/bin/? Really!?
"$HOME/bin" is in the install target of my makefiles for scripts and programs. Filesystem management scripts are another place to use that path. It is in my ~/.profile. Some scripts set $PATH and include $HOME/bin.
I would be surprised if you couldn't find instances of that path in a search of the openSUSE repositories. -- Robert Webb
On Thu, 21 Nov 2024 19:53:09 -0600, Cyrus <cyruspy@gmail.com> wrote:
Anybody can customize the default user home directory layout for his/environment.
I think the question is mostly what makes sense to be the default.
Consider how long $HOME/bin has been the standard place for user created executables. -- Robert Webb
On 11/21/24 17:53, Cyrus wrote:
Anybody can customize the default user home directory layout for his/environment.
I think the question is mostly what makes sense to be the default.
Yes. Then there's the tyranny of the default to consider. What the default sets will seldom be changed by the users. In my opinion, ~/bin should stay, I use it. Speaking of defaults, one that bugs me is KDE's "Suspend session" defaulting to "Sleep". I've had lots of my users complain that they're getting a black screen with a live cursor after going away for a while. Deselecting "Suspend session" seems to take care of the issue. Sleeping/hibernating has generally been unreliable, why should that behavior be default? Regards, Lew
Heitor Moreira composed on 2024-11-20 16:51 (UTC-0300):
I would like to propose the removal of the $HOME/bin directory from the default setup. It clutters the user's home in exchange for very little gain in some very specific individual workflows.
For those who need an easy and user-oriented directory in $PATH, $HOME/.local/bin is already configured by default.
What do you think?
I'm with Carlos - bad idea!
Am 20.11.24 um 20:51 schrieb Heitor Moreira:
I would like to propose the removal of the $HOME/bin directory from the default setup. It clutters the user's home in exchange for very little gain in some very specific individual workflows.
For those who need an easy and user-oriented directory in $PATH, $HOME/.local/bin is already configured by default.
You probably mean "user-oriented" in the sense of per-user, but I think that ~/.local/bin is more a place for programs to install commands without root privileges. As a user, that place is not for me. If I want to install commands, I put them in ~/bin instead of the hidden ~/.local. (Hidden = not for me.) So I think they serve different purposes: ~/.local/bin for commands installed programmatically, e.g. via pip, ~/bin for commands installed manually by the user, usually by simply putting a file there. Aaron
Am 21.11.24 um 03:17 schrieb Aaron Puchert:
Am 20.11.24 um 20:51 schrieb Heitor Moreira:
I would like to propose the removal of the $HOME/bin directory from the default setup. It clutters the user's home in exchange for very little gain in some very specific individual workflows.
For those who need an easy and user-oriented directory in $PATH, $HOME/.local/bin is already configured by default.
You probably mean "user-oriented" in the sense of per-user, but I think that ~/.local/bin is more a place for programs to install commands without root privileges. As a user, that place is not for me. If I want to install commands, I put them in ~/bin instead of the hidden ~/.local. (Hidden = not for me.)
So I think they serve different purposes: ~/.local/bin for commands installed programmatically, e.g. via pip, ~/bin for commands installed manually by the user, usually by simply putting a file there.
Aaron
I think the same, i like the easy way of putting executable files for users into ~/bin and of not care about that this files will be found. simoN -- www.becherer.de
On 11/20/24 9:17 PM, Aaron Puchert wrote:
Am 20.11.24 um 20:51 schrieb Heitor Moreira:
I would like to propose the removal of the $HOME/bin directory from the default setup. It clutters the user's home in exchange for very little gain in some very specific individual workflows.
For those who need an easy and user-oriented directory in $PATH, $HOME/.local/bin is already configured by default.
You probably mean "user-oriented" in the sense of per-user, but I think that ~/.local/bin is more a place for programs to install commands without root privileges. As a user, that place is not for me. If I want to install commands, I put them in ~/bin instead of the hidden ~/.local. (Hidden = not for me.)
So I think they serve different purposes: ~/.local/bin for commands installed programmatically, e.g. via pip, ~/bin for commands installed manually by the user, usually by simply putting a file there.
I agree with Aaron's explanation and the others that have responded. ~/.local/bin is used for programs installed by the regular user that are not managed by the package manager similar to how /usr/local/bin is for programs installed by root that are not managed by the package manager but are for all users. ~/bin is used for programs/commands that I have created. I suspect many users will have things in ~/bin with few if any in ~/.local/bin. I would also not want to mix programs that I installed for my user locally ( into ~/.local/bin ) with programs that I created ( ~/bin ). It would also mess with the backup process since I always backup ~/bin since it is stuff I created whereas I don't need to backup ~/.local/bin since it could just be reinstalled. Just my $0.02 -- Regards, Joe
On Wed, Nov 20, 2024 at 10:53 PM Heitor Moreira <heitor@opensuse.org> wrote:
Hi.
I would like to propose the removal of the $HOME/bin directory from the default setup. It clutters the user's home in exchange for very little gain in some very specific individual workflows.
For those who need an easy and user-oriented directory in $PATH, $HOME/.local/bin is already configured by default.
What do you think?
Majority of users on openSUSE forums do not even know what the command line is. I do not think they would care either way. OTOH to change something you need some arguments about what is wrong with the current state and how your change will improve it. A single directory can hardly be called "clutter".
Le mercredi 20 novembre 2024 à 16:51 -0300, Heitor Moreira a écrit :
Hi.
I would like to propose the removal of the $HOME/bin directory from the default setup. It clutters the user's home in exchange for very little gain in some very specific individual workflows.
For those who need an easy and user-oriented directory in $PATH, $HOME/.local/bin is already configured by default.
What do you think?
I'm strongly in favor of this. It is cluttering all user directory, visible in graphical files manager, for little if any added value. -- Frederic CROZAT Enterprise Linux OS and Containers Architect SUSE
On Thu, Nov 21, 2024 at 8:20 AM Frederic Crozat via openSUSE Factory <factory@lists.opensuse.org> wrote:
Le mercredi 20 novembre 2024 à 16:51 -0300, Heitor Moreira a écrit :
Hi.
I would like to propose the removal of the $HOME/bin directory from the default setup. It clutters the user's home in exchange for very little gain in some very specific individual workflows.
For those who need an easy and user-oriented directory in $PATH, $HOME/.local/bin is already configured by default.
What do you think?
I'm strongly in favor of this.
And I'm strongly against this change.
It is cluttering all user directory, visible in graphical files manager, for little if any added value.
And I hate to need to change graphical file manager to show dot directories to find important files and scripts. A clean directory structure in your home directory helps you to find the things in graphical file managers and on console. dot directories are the worst thing you can do here. Thorsten -- Thorsten Kukuk, Distinguished Engineer, Senior Architect, Future Technologies SUSE Software Solutions Germany GmbH, Frankenstraße 146, 90461 Nuernberg, Germany Managing Director: Ivo Totev, Andrew McDonald, Werner Knoblich (HRB 36809, AG Nürnberg)
On Wed, 20 Nov 2024 16:51:25 -0300, Heitor Moreira <heitor@opensuse.org> wrote:
Hi.
I would like to propose the removal of the $HOME/bin directory from the default setup. It clutters the user's home in exchange for very little gain in some very specific individual workflows.
For those who need an easy and user-oriented directory in $PATH, $HOME/.local/bin is already configured by default.
What do you think?
I don't care: ~/bin is one of the very first things I will create and populate when I get access to a new machine, along with ~/.tcshrc and ~/.elvisrc I see no gain in it being there when a new account is created (nor do I see added value in ~/.local/bin)
Heitor Moreira
-- H.Merijn Brand https://tux.nl Perl Monger http://amsterdam.pm.org/ using perl5.00307 .. 5.37 porting perl5 on HP-UX, AIX, and Linux https://tux.nl/email.html http://qa.perl.org https://www.test-smoke.org
On Mittwoch, 20. November 2024 20:51:25 CET Heitor Moreira wrote:
Hi.
I would like to propose the removal of the $HOME/bin directory from the default setup. It clutters the user's home in exchange for very little gain in some very specific individual workflows.
For those who need an easy and user-oriented directory in $PATH, $HOME/.local/bin is already configured by default.
What do you think?
Best regards, Heitor Moreira
A single directory clutters $HOME? And what about the directories created by KDE (and/or Gnome), e.g. Music, Pictures, Templates, Videos. They are cluttering $HOME for no purpose to me. $HOME/bin has a purpose. Leave it as is, please. -- Mit freundlichen Gruessen, Andreas Vetter
* On 11/20/24 20:51, Heitor Moreira wrote:
I would like to propose the removal of the $HOME/bin directory from the default setup. [...]
Wow, this has sparked quite some discussion (and derailing). FWIW, I suggest a middle ground that is employed by Debian: don't provide /etc/skel/bin, but check whether ~/bin and ~/.local/bin exist in /etc/skel/.profile and add these to $PATH if they do. Using this approach, new user accounts are free to choose whether to create a bin directory in their home directory (and, frankly, most of them probably won't) and if they decide to do so, it will still work transparently after a login cycle. Mihai
22.11.2024 20:13, Mihai Moldovan wrote:
* On 11/20/24 20:51, Heitor Moreira wrote:
I would like to propose the removal of the $HOME/bin directory from the default setup. [...]
Wow, this has sparked quite some discussion (and derailing).
FWIW, I suggest a middle ground that is employed by Debian: don't provide /etc/skel/bin, but check whether ~/bin and ~/.local/bin exist in /etc/skel/.profile and add these to $PATH if they do.
Come on. If user creates ~/bin user most certainly knows how to add it to the $PATH - and where in the $PATH user wants ~/bin to be. Whatever default you provide will be wrong for somebody.
W dniu 22.11.2024 o 18:13, Mihai Moldovan pisze:
* On 11/20/24 20:51, Heitor Moreira wrote:
I would like to propose the removal of the $HOME/bin directory from the default setup. [...]
Wow, this has sparked quite some discussion (and derailing).
FWIW, I suggest a middle ground that is employed by Debian: don't provide /etc/skel/bin, but check whether ~/bin and ~/.local/bin exist in /etc/skel/.profile and add these to $PATH if they do.
Using this approach, new user accounts are free to choose whether to create a bin directory in their home directory (and, frankly, most of them probably won't) and if they decide to do so, it will still work transparently after a login cycle.
Mihai
This is already implemented in /etc/profile. No change required (apart from dropping bin from skel).
On 2024-11-22 22:14, Adam Mizerski via openSUSE Factory wrote:
W dniu 22.11.2024 o 18:13, Mihai Moldovan pisze:
* On 11/20/24 20:51, Heitor Moreira wrote:
I would like to propose the removal of the $HOME/bin directory from the default setup. [...]
Wow, this has sparked quite some discussion (and derailing).
FWIW, I suggest a middle ground that is employed by Debian: don't provide /etc/skel/bin, but check whether ~/bin and ~/.local/bin exist in /etc/skel/.profile and add these to $PATH if they do.
Using this approach, new user accounts are free to choose whether to create a bin directory in their home directory (and, frankly, most of them probably won't) and if they decide to do so, it will still work transparently after a login cycle.
Mihai
This is already implemented in /etc/profile. No change required (apart from dropping bin from skel).
Fine, if you also drop ~/.local/bin from skel. -- Cheers / Saludos, Carlos E. R. (from 15.5 x86_64 at Telcontar)
* On 11/22/24 23:38, Carlos E. R. wrote:
This is already implemented in /etc/profile. No change required (apart from dropping bin from skel).
Right. It might still be worthwhile to move the code in /etc/profile to /etc/skel/.profile in order to make $HOME-based directory PATH addition user-configurable. When done in /etc/profile, no opt-out is possible per-user (other than not creating the directories), which can lead to surprises like software silently creating ~/bin and placing something in there, like a malicious curl binary or script. Then again, software can also silently modify ~/.profile, so I guess there's little gain from an per-user opt-out anyway.
Fine, if you also drop ~/.local/bin from skel.
That request is impossible. ~/.local/bin is not and has (so far) never been part of skel. Mihai
Am 22.11.24 um 23:38 schrieb Carlos E. R.:
Fine, if you also drop ~/.local/bin from skel.
???? Did you even look there before posting ???? m) -- Stefan Seyfried "For a successful technology, reality must take precedence over public relations, for nature cannot be fooled." -- Richard Feynman
W dniu 23.11.2024 o 11:35, Stefan Seyfried via openSUSE Factory pisze:
Am 22.11.24 um 23:38 schrieb Carlos E. R.:
Fine, if you also drop ~/.local/bin from skel.
???? Did you even look there before posting ????
m)
I'm also a bit confused, but by this: There are /etc/skel and /usr/etc/skel. Maybe they are merged or something. Anyway bin and .local/bin are in /usr/etc/skel.
23.11.2024 19:46, Adam Mizerski via openSUSE Factory wrote:
W dniu 23.11.2024 o 11:35, Stefan Seyfried via openSUSE Factory pisze:
Am 22.11.24 um 23:38 schrieb Carlos E. R.:
Fine, if you also drop ~/.local/bin from skel.
???? Did you even look there before posting ????
m)
I'm also a bit confused, but by this: There are /etc/skel and /usr/etc/skel. Maybe they are merged or something. Anyway bin and .local/bin are in /usr/etc/skel.
Yes, they are merged. Unfortunately, it is not documented in "man useradd". bor@tw:~> sudo useradd -D GROUP=100 GROUPS= HOME=/home INACTIVE=-1 EXPIRE= SHELL=/bin/bash SKEL=/etc/skel USRSKEL=/usr/etc/skel CREATE_MAIL_SPOOL=yes LOG_INIT=yes bor@tw:~> /etc/skel does not overlap with /usr/etc/skel: bor@tw:~> LANG=en la /etc/skel total 64 drwxr-xr-x 1 root root 56 Sep 25 22:10 . drwxr-xr-x 1 root root 4274 Nov 23 17:00 .. -rw------- 1 root root 0 Sep 25 09:33 .bash_history -rw-r--r-- 1 root root 604 Sep 25 09:33 .bashrc -rw-r--r-- 1 root root 856 Sep 25 09:33 .profile bor@tw:~> rpm -qf /etc/skel/.* bash-5.2.37-14.2.x86_64 bash-5.2.37-14.2.x86_64 bash-5.2.37-14.2.x86_64 bor@tw:~> Any bash maintainer here? :)
On Sat, 23 Nov 2024 11:35:46 +0100, Stefan Seyfried via openSUSE Factory <factory@lists.opensuse.org> wrote:
Am 22.11.24 um 23:38 schrieb Carlos E. R.:
Fine, if you also drop ~/.local/bin from skel.
???? Did you even look there before posting ????
Before this thread I didn't even realize it was there. On my TumbleWeed box (updrading thoughout time) there are exactly TWO files there, both from 2020, which I never knowingly used, so I removed the folder now
m)
-- H.Merijn Brand https://tux.nl Perl Monger http://amsterdam.pm.org/ using perl5.00307 .. 5.37 porting perl5 on HP-UX, AIX, and Linux https://tux.nl/email.html http://qa.perl.org https://www.test-smoke.org
Am 22.11.24 um 18:13 schrieb Mihai Moldovan:
* On 11/20/24 20:51, Heitor Moreira wrote:
I would like to propose the removal of the $HOME/bin directory from the default setup. [...]
Wow, this has sparked quite some discussion (and derailing).
FWIW, I suggest a middle ground that is employed by Debian: don't provide /etc/skel/bin, but check whether ~/bin and ~/.local/bin exist in /etc/skel/.profile and add these to $PATH if they do.
That's already done. not in /etc/skel/.profile but one of the global profile files. And I cannot see that anyone ever suggested removing that. -- Stefan Seyfried "For a successful technology, reality must take precedence over public relations, for nature cannot be fooled." -- Richard Feynman
On Fri, Nov 22, 2024 at 6:13 PM Mihai Moldovan <ionic@ionic.de> wrote:
FWIW, I suggest a middle ground that is employed by Debian: don't provide /etc/skel/bin, but check whether ~/bin and ~/.local/bin exist in /etc/skel/.profile and add these to $PATH if they do.
Using this approach, new user accounts are free to choose whether to create a bin directory in their home directory (and, frankly, most of them probably won't) and if they decide to do so, it will still work transparently after a login cycle.
This would be my choice as well. -- Roger Oberholtzer
On Thursday, November 21st, 2024 at 2:51 AM, Heitor Moreira <heitor@opensuse.org> wrote:
Hi.
I would like to propose the removal of the $HOME/bin directory from the default setup. It clutters the user's home in exchange for very little gain in some very specific individual workflows.
For those who need an easy and user-oriented directory in $PATH, $HOME/.local/bin is already configured by default.
What do you think?
Best regards, Heitor Moreira
Hey, I think you should proceed with this change if haven't yet. Worst case your SR gets rejected ^-^ Most of us in this conversation are more than capable of changing the $PATH to fit our needs if we would really wanted to on new installations. Not like it would change the current systems ¯\_(ツ)_/¯ -- Br, A.
On Mon, 25 Nov 2024 21:35:50 +0000, Attila Pinter via openSUSE Factory <factory@lists.opensuse.org> wrote:
On Thursday, November 21st, 2024 at 2:51 AM, Heitor Moreira <heitor@opensuse.org> wrote:
I would like to propose the removal of the $HOME/bin directory from the default setup. It clutters the user's home in exchange for very little gain in some very specific individual workflows. [...]
I think you should proceed with this change if haven't yet. Worst case your SR gets rejected ^-^ Most of us in this conversation are more than capable of changing the $PATH to fit our needs if we would really wanted to on new installations. Not like it would change the current systems ¯\_(ツ)_/¯
Yes, we would create the ~/bin directory and edit ~/.profile to include it in $PATH. Then, after a reboot/new login, one might not notice, but $PATH would include ~/bin twice because /etc/profile "helpfully" added it to the path before your ~/.profile executes. So, a debugging job is automatically added to your tasks for a new install or adding a user. Not nice. -- Robert Webb
26.11.2024 04:31, Robert Webb via openSUSE Factory wrote:
On Mon, 25 Nov 2024 21:35:50 +0000, Attila Pinter via openSUSE Factory <factory@lists.opensuse.org> wrote:
On Thursday, November 21st, 2024 at 2:51 AM, Heitor Moreira <heitor@opensuse.org> wrote:
I would like to propose the removal of the $HOME/bin directory from the default setup. It clutters the user's home in exchange for very little gain in some very specific individual workflows. [...]
I think you should proceed with this change if haven't yet. Worst case your SR gets rejected ^-^ Most of us in this conversation are more than capable of changing the $PATH to fit our needs if we would really wanted to on new installations. Not like it would change the current systems ¯\_(ツ)_/¯
Yes, we would create the ~/bin directory and edit ~/.profile to include it in $PATH. Then, after a reboot/new login, one might not notice, but $PATH would include ~/bin twice because /etc/profile "helpfully" added it to the path before your ~/.profile executes.
So, a debugging job is automatically added to your tasks for a new install or adding a user. Not nice.
That's the argument for removal of automatic inclusion of ~/bin in the $PATH, not against removal of /usr/etc/skel/bin (which is the correct path BTW).
On Tue, 26 Nov 2024 07:22:11 +0300, Andrei Borzenkov <arvidjaar@gmail.com> wrote:
26.11.2024 04:31, Robert Webb via openSUSE Factory wrote:
On Mon, 25 Nov 2024 21:35:50 +0000, Attila Pinter via openSUSE Factory <factory@lists.opensuse.org> wrote:
On Thursday, November 21st, 2024 at 2:51 AM, Heitor Moreira <heitor@opensuse.org> wrote:
I would like to propose the removal of the $HOME/bin directory from the default setup. It clutters the user's home in exchange for very little gain in some very specific individual workflows. [...]
I think you should proceed with this change if haven't yet. Worst case your SR gets rejected ^-^ Most of us in this conversation are more than capable of changing the $PATH to fit our needs if we would really wanted to on new installations. Not like it would change the current systems ¯\_(ツ)_/¯
Yes, we would create the ~/bin directory and edit ~/.profile to include it in $PATH. Then, after a reboot/new login, one might not notice, but $PATH would include ~/bin twice because /etc/profile "helpfully" added it to the path before your ~/.profile executes.
So, a debugging job is automatically added to your tasks for a new install or adding a user. Not nice.
That's the argument for removal of automatic inclusion of ~/bin in the $PATH, not against removal of /usr/etc/skel/bin (which is the correct path BTW).
It does support removing even the conditional inclusion of ~/bin in $PATH if bin/ is removed from skel/, but the current status quo also does not cause a surprise. When skel/bin/ is copied to ~/bin/, then the first time the user logs in, the $PATH already includes ~/bin, so no problem (unless, as you pointed out previously, the user wants it in a different priority position in $PATH). My preference for keeping the default creation of ~/bin for new accounts is because it is convenient for me, but also to guide inexperienced users to use the conventional place for their scripts and binary executables. -- Robert Webb
On Tuesday, November 26th, 2024 at 6:25 PM, Robert Webb via openSUSE Factory <factory@lists.opensuse.org> wrote:
On Tue, 26 Nov 2024 07:22:11 +0300, Andrei Borzenkov arvidjaar@gmail.com wrote:
26.11.2024 04:31, Robert Webb via openSUSE Factory wrote:
On Mon, 25 Nov 2024 21:35:50 +0000, Attila Pinter via openSUSE Factory factory@lists.opensuse.org wrote:
On Thursday, November 21st, 2024 at 2:51 AM, Heitor Moreira heitor@opensuse.org wrote:
I would like to propose the removal of the $HOME/bin directory from the default setup. It clutters the user's home in exchange for very little gain in some very specific individual workflows. [...]
I think you should proceed with this change if haven't yet. Worst case your SR gets rejected ^-^ Most of us in this conversation are more than capable of changing the $PATH to fit our needs if we would really wanted to on new installations. Not like it would change the current systems ¯\(ツ)/¯
Yes, we would create the ~/bin directory and edit ~/.profile to include it in $PATH. Then, after a reboot/new login, one might not notice, but $PATH would include ~/bin twice because /etc/profile "helpfully" added it to the path before your ~/.profile executes.
So, a debugging job is automatically added to your tasks for a new install or adding a user. Not nice.
That's the argument for removal of automatic inclusion of ~/bin in the $PATH, not against removal of /usr/etc/skel/bin (which is the correct path BTW).
It does support removing even the conditional inclusion of ~/bin in $PATH if bin/ is removed from skel/, but the current status quo also does not cause a surprise. When skel/bin/ is copied to ~/bin/, then the first time the user logs in, the $PATH already includes ~/bin, so no problem (unless, as you pointed out previously, the user wants it in a different priority position in $PATH).
My preference for keeping the default creation of ~/bin for new accounts is because it is convenient for me, but also to guide inexperienced users to use the conventional place for their scripts and binary executables. -- Robert Webb
TBH I didn't really get the rest of your argument - well didn't make sense to me personally -, but just to follow up on the "inexperienced user" argument: Wouldn't it make more sense to give them transferable knowledge? So if they find themselves on a different distro - say at work - they're not trying to figure out how to get their scripts in $HOME/bin to work? -- Br, A.
On Wed, 27 Nov 2024 05:09:37 +0000, Attila Pinter via openSUSE Factory <factory@lists.opensuse.org> wrote:
On Tuesday, November 26th, 2024 at 6:25 PM, Robert Webb via openSUSE Factory <factory@lists.opensuse.org> wrote:
[...] My preference for keeping the default creation of ~/bin for new accounts is because it is convenient for me, but also to guide inexperienced users to use the conventional place for their scripts and binary executables.
TBH I didn't really get the rest of your argument - well didn't make sense to me personally -, but just to follow up on the "inexperienced user" argument: Wouldn't it make more sense to give them transferable knowledge? So if they find themselves on a different distro - say at work - they're not trying to figure out how to get their scripts in $HOME/bin to work?
I think the presence of ~/bin sends a message that this is an appropriate place to put your scripts. Its absence would strongly send the opposite message. It is a type of common knowledge passed along, not by a standards organization dictating things, but by the visible existence of structures built up by people over time. -- Robert Webb
On Wednesday, November 27th, 2024 at 7:44 AM, Heitor Moreira <heitor@opensuse.org> wrote:
Em 25/11/2024 18:35, Attila Pinter via openSUSE Factory escreveu:
I think you should proceed with this change if haven't yet. Worst case your SR gets rejected ^-^
Isn't the purpose of this list to discuss the change in advance so that the submission request isn't rejected?
Sure, on the other hand this is still a do-ocracy, right? "Those who do decide." -- Br, A.
participants (26)
-
Aaron Puchert
-
Adam Mizerski
-
Andreas Vetter
-
Andrei Borzenkov
-
Attila Pinter
-
Carlos E. R.
-
Cyrus
-
Dennis Knorr
-
Felix Miata
-
Frederic Crozat
-
H.Merijn Brand
-
Heitor Moreira
-
Heitor Moreira
-
Jim Henderson
-
Joe Salmeri
-
Johannes Kastl
-
Larry Len Rainey
-
Lew Wolfgang
-
Matěj Cepl
-
Mihai Moldovan
-
Patrick Schaaf
-
Robert Webb
-
Roger Oberholtzer
-
Simon Becherer
-
Stefan Seyfried
-
Thorsten Kukuk