I know the above question isn’t fully complete and lacks some important information, I will (hopefully) provide that below, but first I want to explain where I am coming from with this question a little.

I would consider myself a power user in Windows (maybe even more than that). At one point I was even studying for my Microsoft Certified System Administrator (MCSA 70-270), worked in IT dealing with complex virus removal (anyone remember Combofix and Bleeping Computer?) and generally am comfortable bending anything up to about Windows 10 to my will.

I also have some experience programming in .Net, Java, Python, and Arduino’s version of C++ (FWTW).

I have been trying to force myself to use Linux as my primary for a little while now. I ran Mint as my primary OS for a little over a year, and have recently switched to Manjaro to try Wayland and “increase the difficulty level” as it were.

The problem that motivated this post is that I recently installed an application via the AUR by cloning and making the package. Annoyingly though, the application is configured to run at startup and I don’t see an obvious setting in the application to turn that behavior off.

I know I can “Google” how to figure out this particular problem, but it seems like a good opportunity for me to metaphorically learn how to fish rather than being given a fish by learning the Linux equivalent of what I would do in Windows for this kind of thing.

If I had this issue in Windows I would approach the issue in the following manner:

  1. Depending on flavor of Windows do one of the following and check the autostart tab
    • Run MSConfig
    • Run Task Manager
  2. Check the Startup folder for my User and All Users
  3. Pull out the “I’m done messing around tools”

I understand, and know the various locations and registry entries the applications from step 3 are looking at, it’s just usually faster to use them than go digging into those locations individually.

My question therefore is, what is the Linux equivalent of the methodology I would use when in Windows? Is, or are there, specific tools for looking at startup programs and services? Is it as simple as digging into Systemd? Am I approaching this with the completely wrong mindset?

Essentially, what am I ignorant of, and can I that ignorance be rectified using my existing knowledge as a framing device?

Regardless of anything else, I very much appreciate your taking the time to read all of this and thank you in advance if you do have the time and knowledge to spare answering this question.

Cheers!

  • communism@lemmy.ml
    link
    fedilink
    English
    arrow-up
    11
    ·
    6 days ago

    I would say not enough info, because on Linux there’s not one particular way to do “startup applications”. It could be a service managed by your service manager (systemd in Manjaro’s case), but unlikely if this is a graphical application you’re talking about. It could be started by your ~/.bash_profile (or zsh equivalent). It could be started by your DE or Wayland compositor. If this is a graphical application (i.e. an actual window pops up when you log in) I’m guessing maybe ~/.bash_profile, since how would this AUR package know to add itself to startup programs in your DE or compositor or WM when there are so many options this could be?

    What AUR package did you install?

  • Not a replicant@lemmy.world
    link
    fedilink
    English
    arrow-up
    3
    ·
    6 days ago

    Systemctl status > somefile.txt and examine that file, or systemctl status | more

    Also, on Windows: services.msc and sort by ‘startup type’ also check the registry HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run and the various other versions of that, HKCU, and WOW6432Node, etc

  • As Linux is a multi-user system, stuff you install can either run a system process, or a user process. Most other comments are assuming you installed a process that’s running as a user. On Arch, this could either be an autostart process (which is desktop agnostic) or something attached to Gnome or KDE’s startup.

    On Arch,systemd controls system services. There are two key CLI commands for working with systemd (and some GUIs, but you’ll have to find those). The first is systemctl, and the second is journalctl. The second gets you logs. The first controls services.

    systemctl status will give you an overview of all the services on your system.

    sudo systemctl stop <service name> will temporarily stop a service; ... start ... starts it again. ... disable ... will stop it from starting when you reboot – this does not stop the service, it only prevents it from being started again in reboot. As you’ve guessed, ... enable ... re-enables the service. ... status ... gives you a status for the process, and the last few lines of the log for it.

    systemd services can also be run at the user level; the commands are all the same, but you add --user every time to control the user services.

    journalctl -xe gives you a system log since boot. You can also look at logs for previous boots, look at logs only for a single process (-u <servicename>), look at user processes (same --user argument), tail a log to watch new messages roll in (--tail) and a bunch of other stuff.

    Systemd also controls scheduled jobs (that used to be handled by cron) with timers. Really, most Linux distros these days should be known as systemd/Linux.

    I suspect what you’re looking for is sudo systemd disable <service>, but if it’s a user processes, check ~/.config/autostart and your desktop config tool section for auto-start settings.

    It will help if you can say which desktop you’re using (Gnome? KDE? LXDE? Or just a window manager?) and what the package is. If you give the package name, we can explain exactly how to disable it. Otherwise, you have the hodge-podge of answers below.

  • masterofn001@lemmy.ca
    link
    fedilink
    English
    arrow-up
    5
    arrow-down
    1
    ·
    edit-2
    6 days ago

    Edit: This is a much simplified GUI startup (not boot or system services) application manager

    gnome-startup-applications

    The Startup Applications Preferences app allows configuring applications to run automatically when logging in to your desktop. This app complies with the FreeDesktop.org Desktop Application Autostart Specification so it will work even if your chosen desktop is not GNOME.

    *to enable and disable system or other services on startup, you’ll have to familiarize yourself with the systemctl command


    systemd-analyze blame

    And

    systemd-analyze critical-chain

    https://trstringer.com/systemd-critical-chain/

    https://commandmasters.com/commands/systemd-analyze-linux/

  • GustavoM@lemmy.world
    link
    fedilink
    English
    arrow-up
    3
    ·
    6 days ago

    Either by checking $HOME/.bash_profile or the wm’s config file (which is very likely to be at $HOME/.config).

    t. I only do minimal installs.

  • Shortbus@lemmy.world
    link
    fedilink
    English
    arrow-up
    3
    ·
    edit-2
    6 days ago

    Knowing what AUR pkg would help, but here is where I would look.

    Systemctrl disable tab tab to get a list of what is enabled to start at boot for services and such. Disable what you don’t want.

    I use gnome, so I’d check ~/.config/autostart if it’s an application that’s starting when I login.

  • BCsven@lemmy.ca
    link
    fedilink
    English
    arrow-up
    1
    ·
    6 days ago

    You could try cockpit, it is webgui for your system, it has an area where you can see what services are launched and enable/disable them.

    If you try OpenSUSE their s a GUI made for startup/enable/disable settings