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:
- Depending on flavor of Windows do one of the following and check the autostart tab
- Run MSConfig
- Run Task Manager
- Check the Startup folder for my User and All Users
- 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!
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 issystemctl
, and the second isjournalctl
. 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.