Как узнать, какой автозапуск программы?

Существует много советов по , как сделать автозапуск программы, но сейчас мне нужно нечто противоположное: я хочу выяснить , почему запускается определенная программа при загрузке.

Вариант использования следующий: после некоторого возни с xbindkeys я решил выключить Ubuntu, сделать снимок виртуальной машины, а затем сделать xbindkeys автозапуск. Однако xbindkeys работал уже после загрузки. Как я узнаю почему?

Пробовал systemctl, изучал ~/.bashrc и ~/.profile. Не там. pstree говорит, что xbindkeys происходит непосредственно от systemd.

Ubuntu 18.04.3 LTS.

1
задан 28 September 2019 в 22:33

1 ответ

при установке пакета xbindkeys

sudo apt install xbindkeys

, он создает .desktop файл в пользовательском корневом каталоге в $HOME/.config/autostart/ с ниже содержания

[Desktop Entry]
Version=1.0
Encoding=UTF-8
Name=xbindkeys
Comment=Start xbindkeys
Exec=xbindkeys_autostart
Terminal=false
Type=Application
Categories=
GenericName=
Hidden=true

, Если Вы наблюдаете Exec строка.. этот .desktop файл выполнится xbindkeys_autostart, который является на самом деле /usr/bin/xbindkeys_autostart с ниже содержания

#!/bin/bash

set -e
set -u
set -E

PROG="/usr/bin/xbindkeys"
NOAUTO="${HOME}/.xbindkeys.noauto"

# This file autostarts xbindkeysrc if the user (or system) has a config
# for it AND does NOT Have a .xbindkeys.noauto in his homedir.

# we only run if there is no NOAUTO file
if ! [[ -f ${NOAUTO} ]] && [[ -x ${PROG} ]]; then
    # User config wins over system config
    # guile config wins over classic config
    for cfile in "/etc/xbindkeysrc" "$HOME/.xbindkeysrc" "$HOME/.xbindkeysrc.scm"; do
        if [[ -f ${cfile} ]] || [[ -L ${cfile} ]]; then
            CONF="${cfile}"
        fi
    done

    # Run $PROG - if it has been configured
    if [ -n "${CONF}" ]; then
        $PROG -f $CONF
    fi
fi

, например, вручную, добавленные программы автоматического запуска с прямым вводом команд в списке приложений запуска похожи ниже

enter image description here

, Вы видите различие между обоими из этих .desktop файлов для строки, "Скрытой", который является ложью для одной и верный для другого

enter image description here

enter image description here

, если Вы делаете Hidden=true к Hidden=false, Вы видите, что это в GUI startupapplications перечисляет как ниже

enter image description here

0
ответ дан 23 October 2019 в 10:08

Другие вопросы по тегам:

Похожие вопросы: