Making a better startup environment

So, I just got this all figured out, so I thought I’d write it down here before I forget. This is about me tweaking my Arch Linux setup to be a bit more productive a little faster.

The non-problem

So, I use Arch (BTW), so I naturally have full control of what my computer does. Well besides the firmware, the loose ports, and all the software I have no idea how to work or use (yet). But I’m getting there. I still need to figure out how to make this Ladspa sync in Pulse go to whatever card is plugged in, not just the Intel built-in Speakers/headphone-jack thing.

Anyways, I had ESpeakup (Speakup screen reader speaking through ESpeak), starting at startup, giving me a good indication that the system is ready. I could then type in my username and password, and then raced to type `startx` before the network manager connected to Wi-fi, because it was kinda fun getting that notification that I’m connected to Wi-fi.

Then, I needed to type my password again because some log-in key ring wasn’t authenticated via a mere shell login. Ah well. But that wasn’t all very productive. For one thing, I almost never used the console for anything. So, why log in using it? I just used it as a jumping off point for startx and mate-session.

So, I tried a few display managers. My first choice was lightdm, as I wasn’t sure the GDM one would allow me to start Mate, or if it was tied to Gnome. Well, that one didn’t seem to have Orca support. Or, if it did, it was more work than I was willing to expend to get that working. So, I went back to no DM and just using startx.

So, then, I tried GDM, the Gnome display manager. This worked well, I was able to start Orca within it. The settings were just the default Orca settings, with slow speech and such, but I could deal with that. I just needed to hit Enter, type in my password, and hit Enter again. But then, I started Emacs. The environment variable to set DTKProgram wasn’t set anymore to “outloud,” so it used ESpeak, which doesn’t have great support in Emacspeak. So, I tried other programs, some QT apps weren’t accessible, and neither was Chromium. So, my environment variables weren’t being loaded. So, I went back to no DM and just using startx.

So, today, I can’t remember why I wanted to try this again. Ah yes, it was .bashprofile verses .bashrc. Also, I need to find new Aspell dictionary with more computer/Linux terms and such. But anyway, I wanted to see if .bashrc worked to get environment vars loaded when using GDM. So, I enabled GDM, but found that Emacs (with Emacspeak) still loaded ESpeak. That was kind of disappointing.

So, after a few restarts, I determined that it wasn’t me, that the .bashprofile was made right, and that when loading GDM, that simply wasn’t being taken into account. So, I looked it up, and found that most modern Linux distros load from .profile, not .bashrc or .bashprofile. Well, that makes sense.

So, I found that, yes, I do have a .profile, and that it’s practically empty. I filled in everything that I had from my .xinitrc, .bashrc, and .bashprofile that I’ve added over the months that I’ve used Linux, and restarted. And it works! Emacs loads with Outloud, Chromium is accessible, and all it better, needing one login, not basically two with the authentication key ring login. So, here is my .profile:

export DTK_PROGRAM=outloud
export LADSPA_PATH=/usr/lib/ladspa
export PATH="$HOME/.gem/ruby/2.7.0/bin:$PATH"
export SAL_USE_VCLPLUGIN=gtk3 GTK_MODULES="gail:atk-bridge"
export GTK_MODULES=gail:atk-bridge
export EDITOR="emacsclient"

alias git=git-smb

Yeah, it could use with a little cleaning, but the extra stuff about GTK3 was for LibreOffice, and I ain’t messing with that.


You can always subscribe to my posts through Email or Mastodon. Have a great day, and thanks for reading!