this post was submitted on 30 Oct 2023
612 points (98.0% liked)

linuxmemes

21180 readers
1086 users here now

Hint: :q!


Sister communities:


Community rules (click to expand)

1. Follow the site-wide rules

2. Be civil
  • Understand the difference between a joke and an insult.
  • Do not harrass or attack members of the community for any reason.
  • Leave remarks of "peasantry" to the PCMR community. If you dislike an OS/service/application, attack the thing you dislike, not the individuals who use it. Some people may not have a choice.
  • Bigotry will not be tolerated.
  • These rules are somewhat loosened when the subject is a public figure. Still, do not attack their person or incite harrassment.
  • 3. Post Linux-related content
  • Including Unix and BSD.
  • Non-Linux content is acceptable as long as it makes a reference to Linux. For example, the poorly made mockery of sudo in Windows.
  • No porn. Even if you watch it on a Linux machine.
  • 4. No recent reposts
  • Everybody uses Arch btw, can't quit Vim, and wants to interject for a moment. You can stop now.

  • Please report posts and comments that break these rules!

    founded 1 year ago
    MODERATORS
     
    all 42 comments
    sorted by: hot top controversial new old
    [–] [email protected] 73 points 1 year ago (1 children)
    [–] [email protected] 9 points 1 year ago (1 children)

    It's changeable so I don't really mind but I hate the XDG default data dirs used by most OSs. Uppercase feels out of place, organizing things based on mine type (ex. "Video") feels wrong, and wtf is a "Desktop".

    [–] [email protected] 9 points 1 year ago (1 children)

    same, I just delete all these dirs and use ~/downloads for everything. If I need a file for more than a couple of hours, it goes somewhere it makes sense, not to a generic dumpster like "Documents".

    [–] [email protected] 8 points 1 year ago (1 children)

    Been downloading most things to /tmp for years and it was a great decision.

    By the time you've extracted, built a binary, picked out what you wanted and put it somewhere sensible, or just realized it won't do what you need, all that's left over is cruft that gets wiped on the next boot.

    [–] [email protected] 6 points 1 year ago* (last edited 1 year ago)

    Me too. Many distros mount /tmp on ram, so it even helps process things faster, and maybe saves a few writes from ssds. Back when I used an hdd, the diference was brutal.

    [–] [email protected] 49 points 1 year ago (1 children)
    [–] [email protected] 5 points 1 year ago (2 children)

    What does this mean though? Sure it's not new, but does it make it less of a mess?

    [–] [email protected] 31 points 1 year ago (1 children)

    The XDG Base Directory Specification is a set of guidelines to tell application developers where they should store their application's config files, cache, etc.

    There are many applications that don't follow the guidelines and put their files in a hidden folder directly in your home directory, which is what the guidelines are trying to combat.

    [–] [email protected] 7 points 1 year ago (1 children)

    Sometimes that folder isn't even hidden, either

    [–] [email protected] 4 points 1 year ago (1 children)

    Really just disrespectful on the developer's part.

    [–] [email protected] 2 points 1 year ago (1 children)

    cough cough Zoom. But then, even stuff like yay on Arch has its folder just in plain sight, slapped right into my home directory. Like, why

    [–] [email protected] 1 points 1 year ago (1 children)

    Doesn't yay use XDG_CACHE_DIR?

    [–] [email protected] 2 points 1 year ago

    Maybe it's because I'm using Endeavour? I'm not sure

    [–] [email protected] 18 points 1 year ago* (last edited 1 year ago)

    It certainly can. try xdg-ninja.

    [–] [email protected] 31 points 1 year ago (2 children)
    [–] [email protected] 15 points 1 year ago

    I would fucking love it if I could put all my configs there, but unfortunately every other CLI tool seems to feel it needs a spot in the home dir instead..

    [–] [email protected] 1 points 1 year ago (1 children)

    so ya just put so the stuff in there? is there a reason for that specific directory (I'm kinda a noob)

    [–] [email protected] 11 points 1 year ago* (last edited 1 year ago) (1 children)

    It's used to store configuration files for various applications so they don't clutter up your home directory. For example, you can put your Emacs config files in ~/.config/emacs instead of ~/.emacs.d. Not every program supports it though.

    [–] [email protected] 6 points 1 year ago (3 children)

    Every project should at least move the default config location to the ./config folder. Even better if they create their own subdirectory in there.

    [–] [email protected] 6 points 1 year ago (1 children)

    Every tool I build checks three places:

    1. An env variable (if it exists) which should point to a dir of the users choosing
    2. ~/.config/tool-name/
    3. ~/.tool-name

    Which imo is how every modern application should work

    [–] [email protected] 1 points 1 year ago* (last edited 1 year ago) (1 children)

    For number 2, is it hard-coded to ~/.config or does it read XDG_CONFIG_HOME? The latter is what it should do, so that the user has the flexibility to move all their configs elsewhere.

    [–] [email protected] 1 points 1 year ago (1 children)

    It's from $HOME so you would want to use the first option

    But it's GTK that var is used by some people

    [–] [email protected] 2 points 1 year ago

    Please follow XDG specs and use $XDG_CONFIG_HOME instead of $HOME/.config. $HOME/.config could be a fallback if $XDG_CONFIG_HOME isn't set. :)

    [–] [email protected] 2 points 1 year ago
    [–] [email protected] 1 points 1 year ago

    No, they should read XDG variables. I have my configs on another drive.

    [–] [email protected] 20 points 1 year ago (2 children)

    Fine, it's 23:46. You got me to check my PC. Let's have a look.

    ls -A ~/

    2FAlist.txt
    Applications
    aurpkt
    .bash_history
    .bash_logout
    .bash_profile
    .bashrc
    .cache
    .cddb
    .cert
    Cisco Packet Tracer 8.2.1
    .cmake
    .config
    .cups
    Desktop
    .dir_colors
    Documents
    .dosbox
    Downloads
    dump1090
    .dvdcss
    .elinks
    .face
    .face.icon
    .fltk
    .fonts.conf
    .gnupg
    .gnuradio
    .gphoto
    .grc_gnuradio
    .gr_fftw_wisdom
    .gr_fftw_wisdom.lock
    gr-gsm
    .gtkrc-2.0
    .hplip
    .icons
    iqtosharp
    .java
    .kal_fftw_plan
    .kde4
    .lesshst
    .local
    .minetest
    missaurpkg.png
    .mozilla
    Music
    .openjfx
    options.txt
    .packettracer
    packettracer
    Pictures
    .pki
    pkttheme
    Public
    .putty
    .python_history
    qsstv
    .qt-dab.ini
    .qt-dab-presets.xml
    .qt-dab-schedule.ini
    .qt-scanList.xml
    .rnd
    rtl_wmbus
    sdr-trunk
    SDRTrunk
    sdr-trunk-linux-x86_64-v0.5.0-beta6
    sdr-trunk-linux-x86_64-v0.5.3
    snapcore.png
    speedtest-1.2.0
    .ssh
    .ssr
    .steam
    .steampath
    .steampid
    Templates
    tmp
    Videos
    .viminfo
    VirtualBox VMs
    .wget-hsts
    .wine
    wmbusmeters
    .wxlistlog
    .wxtoimg
    wxtoimg
    .wxtoimglic
    .wxtoimgrc
    .Xauthority
    .Xclients
    .xinitrc
    .zcompdump
    zesarux
    .zesaruxrc
    .zhistory
    .zshrc
    

    Pretty clean, I'd say. At least on this install.

    [–] [email protected] 9 points 1 year ago (3 children)

    Lies. I see no .porn folder!

    [–] [email protected] 12 points 1 year ago

    we only do homework here

    [–] [email protected] 2 points 1 year ago

    /usr/local/share/porn

    [–] [email protected] 1 points 1 year ago (1 children)

    Would that not be under ~/Videos?

    [–] [email protected] 2 points 1 year ago

    Not strictly. Plenty of non-video content. Anything on nhentai for example. Or literotica. Or old.reddit.com/r/nsfwcyoa or old.reddit.com/r/breedingcaptions . Or any games, like Beasts in the Sun

    I swear I wasn't this into porn until covid hit, then I spent too much time at home.

    [–] [email protected] 2 points 1 year ago

    A fellow sdr enthusiast!

    [–] [email protected] 16 points 1 year ago* (last edited 1 year ago)

    .config
    .config.BAK
    .config.BAK2
    .config.OLD
    .config.bspwm
    .config.CWM
    .config.JACKAUDIO
    .config.LFS1
    etc etc

    [–] [email protected] 10 points 1 year ago

    For when I can be bothered to go through and clean it up a bit, I find xdg-ninja extremely useful

    [–] [email protected] 10 points 1 year ago (2 children)

    I never share screenshots, my desktop is boring... practical, nothing really fancy.

    [–] [email protected] 2 points 1 year ago (1 children)

    I just use the defaults lol.

    [–] [email protected] 1 points 1 year ago

    I "spice it up" to look more or less like I want it to and that's it 🤷 😂.

    [–] [email protected] 6 points 1 year ago

    It's getting better. I recently removed a bunch of AIX and Solaris specific dotfiles/directories that haven't been of use for years.

    [–] [email protected] 3 points 1 year ago* (last edited 1 year ago) (1 children)

    https://wiki.archlinux.org/title/XDG_Base_Directory

    Do that for your tools in /etc/profile.d/01-xdg, make it executable, restart, done. Just make sure the XDG_* variables are on top.

    [–] [email protected] 6 points 1 year ago* (last edited 1 year ago) (1 children)

    Lots of tools ignore xdg, and issues asking to add support get bogged down in backwards compatibility problems. The best they achieve is to introduce yet another env variable to control where the config goes. It's really annoying.

    I have a bunch of TOOLX_CONFIG="$XDG_CONFIG_HOME/toolx" stuff in my bashrc.

    [–] [email protected] 2 points 1 year ago* (last edited 1 year ago)

    Yes? Most workarounds are in the link. If not, please add them.

    But sure, some have none.