From 8b45925a6407270160ffdfc604671a981a5b30df Mon Sep 17 00:00:00 2001 From: asmeron Date: Tue, 2 Dec 2025 20:38:17 +0600 Subject: [PATCH] Add start user systemd unit, AUTOEXEC[*]=.service --- ublinux/rc.desktop/all/autoexec | 14 +++++++++----- ublinux/templates/ublinux-data.ini | 9 +++++++-- 2 files changed, 16 insertions(+), 7 deletions(-) diff --git a/ublinux/rc.desktop/all/autoexec b/ublinux/rc.desktop/all/autoexec index 06edda6..22d1599 100755 --- a/ublinux/rc.desktop/all/autoexec +++ b/ublinux/rc.desktop/all/autoexec @@ -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 } diff --git a/ublinux/templates/ublinux-data.ini b/ublinux/templates/ublinux-data.ini index 201c766..27a6665 100644 --- a/ublinux/templates/ublinux-data.ini +++ b/ublinux/templates/ublinux-data.ini @@ -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= ## # Среда рабочего стола (Desktop environment): kde,gnome,xfce,lxde,lxqt. Не обязательный параметр ## # Разделитель: точка с запятой ## # Имя приложения, может иметь значение .desktop файла или команда запуска. Разделитель: запятая -## AUTOEXEC[user-1,@wheel]="xbindkeys;kde:yakuake;gnome:guake;xfce:plank.desktop,xterm;lxde:guake" +## # Либо имя юнита .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