Every time when i poweron the pc, some proccess are started with the system. Some of them are Anydesk and SQL. I had disable sql from start alongside the system with systemctl disable mysql, so i think that i need to do the same with anydesk. But why these programs make this? Even if i dont start the app/program, they will be there, eating resources from the start… WHY THIS HAPPEN!!!

Edit: Something i forgot to put: why they have root permissions? this happen no wonder the system i install these programms, they have the same behaviour

  • talkingpumpkin@lemmy.world
    link
    fedilink
    arrow-up
    8
    arrow-down
    1
    ·
    2 days ago

    Most probably those services are started because some other service depends on them.

    After running systemctl disable someservice the service someservice is not “disabled” in the sense that it can’t be started, it merely isn’t started automatically at startup. If you want to make a service not startable, use systemctl mask (or, you know, uninstall/delete it?).

    systemctl list-dependencies --reverse mysql.service should list the services that depend on mysql.service.

  • thingsiplay@lemmy.ml
    link
    fedilink
    arrow-up
    4
    ·
    2 days ago

    This is where the server/client concept comes from. Some server software runs in the background and wait for access from an external client software. Then it works on the server and produces and output for the client. This way the entire server does not need to start run and stop for every single request. I mean you don’t start and close every time you click on a new link on the website, right? So your PC runs all the time. And that’s similar to how MySQL operates. It starts a server in the background and then waits for any application to use it. So this is totally normal.

    Now because lot of people don’t want to start the server process “by hand”, they put it in autostart, so it starts with your system. If you don’t want it to autostart, maybe there is a way of configuring it so you have to start it manually each time you want to use it. But I cannot assist with that help, just wanted to explain why that is on a high level.

  • Eager Eagle@lemmy.world
    link
    fedilink
    English
    arrow-up
    4
    arrow-down
    1
    ·
    2 days ago

    systemctl list-unit-files --state=enabled to check everything enabled that you might want to disable

    as for running as root, AFAIK all systemd services run as root, unless they’re defined at the user-level; but IME setting services at the user level usually means a more involved setup to make sure PATH and env vars are correct.

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

    Wonderful day!

    May I ask how did you install these programs?

    For example, AnyDesk. The underlying service might be installed from the official repository DEB package.
    As we may see, in the following package:
    - https://deb.anydesk.com/pool/main/a/anydesk/anydesk_8.0.4_amd64.deb

    There’s a standard “postinst” script inside that installs the service:

    "postinst" preview
    #!/bin/bash
    
    set -e
    
    command_exists()
    {
            command -v "$1" > /dev/null 2>&1
    }
    
    if [ "$1" = configure ]; then
    
            INITSYS=$(ls -al /proc/1/exe | awk -F' ' '{print $NF}' | awk -F'/' '{print $NF}')
    
            if [ "systemd" == "$INITSYS" ]; then
                    if [ -e /etc/systemd/system/anydesk.service ]; then
                            rm /etc/systemd/system/anydesk.service
                    fi
                    cp /usr/share/anydesk/files/systemd/anydesk.service /etc/systemd/system/anydesk.service
                    systemctl daemon-reload
                    deb-systemd-invoke enable anydesk
                    deb-systemd-invoke start anydesk
            elif [ "init" == "$INITSYS" ]; then
                    if [ -e /etc/init.d/anydesk ]; then
                            rm /etc/init.d/anydesk
                    fi
                    chmod +x /usr/share/anydesk/files/init/anydesk
                    ln -s /usr/share/anydesk/files/init/anydesk /etc/init.d/anydesk
                    update-rc.d anydesk defaults
                    invoke-rc.d anydesk start
            fi
    
            command_exists update-menus && update-menus
            command_exists update-desktop-database && update-desktop-database
            command_exists xdg-desktop-menu && xdg-desktop-menu forceupdate
    fi
    

    Since the script is copied into “system” path (not the User’s “/etc/systemd/user/*”), it is executed by “root” by default, unless specifically specified in the service itself (e.g., directive “User=”).

    Just in case, “enabling” in marvelous Systemd means merely a symlink added to the directory the OS probes on boot. You should see the symlink location on service '(dis-)enabling".