4 ms·
The author's last post was about terminal frustrations[0] This is easily one of the most annoying ones, especially when shells will have several different loca
by ljm 2y ago
The author's last post was about terminal frustrations[0]
This is easily one of the most annoying ones, especially when shells will have several different locations to read config from depending on how you start the shell, or what a desktop app will do to try and pull the config in (`exec-path-from-shell` in emacs, for example).
And you can't really, say, put it in both your `.zprofile` and `.zshrc` or `.bash_profile`, `.profile`, and `.bashrc`, because then it'll get executed more than once and you'd need to maintain some kind of state to prevent that.
[0]https://jvns.ca/blog/2025/02/05/some-terminal-frustrations/ https://jvns.ca/blog/2025/02/05/some-terminal-frustrations/
- EndShell 2y agoSomewhat related there are other confusing things around how environment variables are set (especially on Linux). There are environment variables I set for QHD and UHD monitors e.g. QT_SCALE_FACTOR * If you are using Xorg, you put environment variables in ~/.xprofile * If you are using Xorg on Debian, you put the environment variables in ~/.xsessionrc * If you are using Wayland, you make a file in ~/.config/environment.d/ and set you configuration variables there.
- p_ing 2y agoAt what point do you consider it an "environment variable" vs "application setting" (even when called an env var by the app)? Windows has it's explicit env vars and GUI or CLI methods to set them, but if I was changing something about Explorer or some other graphical portion of the OS, I'd be going to the registry, for example. Setting the display resolution or scaling factor would be another registry entry, though I'd be using a purpose-built GUI for that.
- EndShell 2y agoWell with QT_SCALE_FACTOR is goes and tells all the QT to behave in a particular way. It isn't a per application setting. There is a similar environment variable for Steam on Linux and I would argue that it should be an application setting but for whatever reason it isn't. Both of these are hacks around how Xorg (doesn't) handle fractional scaling.
- p_ing 2y ago> Well with QT_SCALE_FACTOR is goes and tells all the QT to behave in a particular way. It isn't a per application setting. I understand that, but your window server is just another application. On Windows I wouldn't consider scale factor being an env var, and indeed it isn't set as such -- rather that value is set in the registry. Maybe that's the answer -- Windows has a defacto method of setting system-wide env vars that every application inherits within a given personality but Linux/BSD does not. I can live with that answer :-)
- jillyboel 2y agoNo, it's talking about QT: https://nl.wikipedia.org/wiki/Qt-toolkit https://nl.wikipedia.org/wiki/Qt-toolkit Not the window server. QT is a library that applications can use to render their GUIs, so there are many instances of QT in all of the apps that use it.
- zokier 2y ago> If you are using Wayland, you make a file in ~/.config/environment.d/ and set you configuration variables there. This is not in any way Wayland specific, and arguably should be the default choice for setting env vars, as it should apply to all user sessions regardless of what type they are or what shell is used.
- EndShell 2y agoI didn’t know that. I have to check if it works with Xorg + Gnome on Debian because I don’t think it does.
- throw0101d 2y ago> And you can't really, say, put it in both your `.zprofile` and `.zshrc` or `.bash_profile`, `.profile`, and `.bashrc`, because then it'll get executed more than once and you'd need to maintain some kind of state to prevent that. FWIW, profiles are loaded on 'from scratch' logins; RC files are loaded all the time. * https://superuser.com/questions/657848/why-do-we-have-login-non-login-interactive-and-non-interactive-bash-shells https://superuser.com/questions/657848/why-do-we-have-login-... * https://askubuntu.com/questions/879364/differentiate-interactive-login-and-non-interactive-non-login-shell https://askubuntu.com/questions/879364/differentiate-interac...
- rascul 2y ago> RC files are loaded all the time Not necessarily. Bash won't do it on its own for a login shell, but there's probably a bit in the /etc/profile your distro provides that does it.