Существует много советов по , как сделать автозапуск программы, но сейчас мне нужно нечто противоположное: я хочу выяснить , почему запускается определенная программа при загрузке.
Вариант использования следующий: после некоторого возни с xbindkeys
я решил выключить Ubuntu, сделать снимок виртуальной машины, а затем сделать xbindkeys
автозапуск. Однако xbindkeys
работал уже после загрузки. Как я узнаю почему?
Пробовал systemctl
, изучал ~/.bashrc
и ~/.profile
. Не там. pstree
говорит, что xbindkeys
происходит непосредственно от systemd
.
Ubuntu 18.04.3 LTS.
при установке пакета 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
, например, вручную, добавленные программы автоматического запуска с прямым вводом команд в списке приложений запуска похожи ниже
, Вы видите различие между обоими из этих .desktop файлов для строки, "Скрытой", который является ложью для одной и верный для другого
, если Вы делаете Hidden=true
к Hidden=false
, Вы видите, что это в GUI startupapplications перечисляет как ниже