Add start user systemd unit, AUTOEXEC[*]=<unit>.service

master v2.127
Dmitry Razumov 3 weeks ago
parent 9f62babee2
commit 8b45925a64
Signed by: asmeron
GPG Key ID: 50BC1DB583B79706

@ -29,21 +29,25 @@ exec_autoexec_set(){
fi
done < <(echo "${ITEM_UNIT}" | tr ',; ' \\n)
if [[ -n ${IS_EXEC} ]]; then
while read DE_CMD; do
while IFS= read -ru3 DE_CMD; do
FIND_DE=${DE_CMD%%:*}
FIND_CMD=${DE_CMD#*:}
[[ ${FIND_DE} != ${FIND_CMD} && ${FIND_DE} != ${CURRENT_DE} ]] && continue
[[ -z ${FIND_CMD} ]] || while read EXEC_CMD; do
[[ -z ${FIND_CMD} ]] || while IFS= read -ru4 EXEC_CMD; do
cd ${HOME}
if [[ ${EXEC_CMD} =~ ".desktop"$ ]]; then
bash -c "$(grep '^Exec' $(find /usr/share/applications ~/local/share/applications -iname ${EXEC_CMD} 2>/dev/null | tail -1) | tail -1 | sed 's/^Exec=//' | sed 's/%.//' | sed 's/^"//g' | sed 's/" *$//g')" &
#echo "bash -c $(grep '^Exec' $(find /usr/share/applications ~/local/share/applications -iname ${EXEC_CMD} 2>/dev/null | tail -1) | tail -1 | sed 's/^Exec=//' | sed 's/%.//' | sed 's/^"//g' | sed 's/" *$//g') &"
elif [[ ${EXEC_CMD} =~ (".service"|".socket"|".target"|".timer")$ ]]; then
if [[ $(readlink -fq /usr/bin/init 2>/dev/null) =~ "lib/systemd/systemd"$ ]]; then
systemctl --user start ${EXEC_CMD}
fi
else
bash -c "${FIND_CMD}" &
bash -c "${EXEC_CMD}" &
#echo "bash -c ${EXEC_CMD} &"
fi
done < <(echo "${FIND_CMD}" | tr ',' \\n)
done < <(echo "${AUTOEXEC[${ITEM_UNIT}]}" | tr ';' \\n)
done 4< <(echo "${FIND_CMD}" | tr ',' \\n)
done 3< <(echo "${AUTOEXEC[${ITEM_UNIT}]}" | tr ';' \\n)
fi
done
}

@ -899,6 +899,9 @@ VERSION=
## security=apparmor
## usbcore.autosuspend=-1 # Отключить автозасыпание USB устройств в режиме suspend
## ipv6.disable=1 # Отключить глобально ipv6
## iommu=pt # Passthrough. Interrupt remapping is enabled but I/O remapping is disabled (on=Enable, pt=Passthrough, off=Disable)
## intel_iommu=on # An Intel hardware component called the I/O controller, which maps virtual device addresses to the physical addresses of system memory (on=Enable, pt=Passthrough, off=Disable)
## amd_iommu=on # An AMD hardware component called the I/O controller, which maps virtual device addresses to the physical addresses of system memory (on=Enable, pt=Passthrough, off=Disable)
## GRUB_CMDLINE_LINUX="modprobe.blacklist=nouveau"
## Выбор загрузки версии ядра
@ -1192,6 +1195,7 @@ VERSION=
## ipv4.dad-timeout 0 # Отключить/Изменить время на обнаружение конфликта адреса IPv4
## ipv6.method disabled # Отключить получение IPv6
## NETWORK[myopenvpn@imp-ovpn]="/home/superadmin/vpn/myopenvp.ovpn"
## NETWORK[all@nmcli]="connection delete MyWiFi"
## NETWORK[wifi@wifi]="connect MyWiFi password 1234567890 hidden yes"
## NETWORK[PPTP_VPN@add-pptp]="vpn.data gateway=192.168.215.254 vpn.user-name vpn.test-1 vpn.secrets password=1234567890 connection.permissions user:superadmin"
## NETWORK[enp3s0@connmod]="connection.secondaries PPTP_VPN"
@ -1724,7 +1728,8 @@ VERSION=
## <de> # Среда рабочего стола (Desktop environment): kde,gnome,xfce,lxde,lxqt. Не обязательный параметр
## # Разделитель: точка с запятой
## <appname_n> # Имя приложения, может иметь значение .desktop файла или команда запуска. Разделитель: запятая
## AUTOEXEC[user-1,@wheel]="xbindkeys;kde:yakuake;gnome:guake;xfce:plank.desktop,xterm;lxde:guake"
## # Либо имя юнита <unit_name> .service .socket .target .timer запускаемые от пользователя
## AUTOEXEC[user-1,@wheel]="xbindkeys;kde:yakuake;gnome:guake;xfce:plank.desktop,xterm,freerdp-server.service;lxde:guake"
## Простой режим мульти рабочего места MultiSeat, когда в ПК установлено два независимых графических контроллера
## Посмотреть все устройства: loginctl seat-status seat0. lsusb; lspci
@ -1814,7 +1819,7 @@ VERSION=
## Принудительно добавить и установить разрешение монитора в /etc/X11/xorg.conf.d/
## Перечень имён портов вывода получить по команде: xrandr или xrandr | grep -E "^[A-Z0-9-]* connected" | cut -d' ' -f1
## XORG_MONITOR[VGA1]=1920x1080,1600x1200x60,848x480x60,nodpms
## Примеры имени видео порта: VGA1 HDMI1 DP1 DVI1 LVDS1 TV1 VIRTUAL1
## Примеры имени видео порта: VGA1 HDMI1 DP1 DVI1 LVDS1 TV1 VIRTUAL1 DisplayPort-0 HDMI-A-0
## =1920x1080 =1920x1080x75
## cvt , gtf , reduced|r , dpms , nodpms , enable , disable , ignore , primary ,
## lo|LeftOf:{name} , ro|RightOf:{name} , ab|Above:{name} , be|Below:{name} , rotate:normal|left|right|invert

Loading…
Cancel
Save