diff --git a/ublinux/default b/ublinux/default index e0987a0..e4729f2 100644 --- a/ublinux/default +++ b/ublinux/default @@ -268,6 +268,6 @@ AUTOINSTALL[part_size]="16G" AUTOINSTALL[part_fs_type]="ext4" AUTOINSTALL[user_name]="superadmin" AUTOINSTALL[user_gecos]="Administrator" -AUTOINSTALL[user_password]="ublinux" +AUTOINSTALL[user_password]='$6$E7stRhRS8fCKk7UU$Qoqw62AUaUa5uLIc2KC7WV3MUThhrR8kjXtCODmnKCzKe2zHu1/wmsiWBHZEIk/IQnk/aELQYbUK93OUtrwg60' AUTOINSTALL[log]=yes diff --git a/ublinux/rc.preinit.d/52-desktop b/ublinux/rc.preinit.d/52-desktop index 8f2e416..54b875a 100755 --- a/ublinux/rc.preinit.d/52-desktop +++ b/ublinux/rc.preinit.d/52-desktop @@ -23,83 +23,86 @@ SOURCE=${SYSCONF}/desktop; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null [[ -f ${ROOTFS}/etc/inittab ]] && sed -i 's/id:.:initdefault:/id:5:initdefault:/' ${ROOTFS}/etc/inittab switch3don(){ - echo "COMPOSITING_SERVER_START=no" >${SYSCONF}/compositing-server + echo "COMPOSITING_SERVER_START=no" > ${SYSCONF}/compositing-server #Gnome-shell does not supports compiz, so turn on it only in classic mode and only after desktop started - if [ -x usr/bin/gnome-shell ] ;then + if [[ -x ${ROOTFS}/usr/bin/gnome-shell ]]; then echo -e "COMPOSITING_WM_START=no\nCOMPOSITING_WM=compiz-fusion" >${SYSCONF}/compositing-wm sed -i /COMPOSITING_WM_START/d ${SYSCONF}/config echo COMPOSITING_WM_START=yes >> ${SYSCONF}/config else - echo -e "COMPOSITING_WM_START=yes\nCOMPOSITING_WM=compiz-fusion" >${SYSCONF}/compositing-wm + echo -e "COMPOSITING_WM_START=yes\nCOMPOSITING_WM=compiz-fusion" > ${SYSCONF}/compositing-wm fi -# [ -f usr/lib/libDrakX/harddrake/autoconf.pm ] && sed -i 's/^ *Xconfig::glx::write({});$/# Xconfig::glx::write({});/' usr/lib/libDrakX/harddrake/autoconf.pm - [ -f etc/xdg/kwinrc ] && sed -i s/^Enabled=.*/Enabled=false/ etc/xdg/kwinrc +# [[ -f usr/lib/libDrakX/harddrake/autoconf.pm ]] && sed -i 's/^ *Xconfig::glx::write({});$/# Xconfig::glx::write({});/' ${ROOTFS}/usr/lib/libDrakX/harddrake/autoconf.pm + [[ -f etc/xdg/kwinrc ]] && sed -i s/^Enabled=.*/Enabled=false/ ${ROOTFS}/etc/xdg/kwinrc } switch3doff(){ - echo "COMPOSITING_SERVER_START=no" >${SYSCONF}/compositing-server - echo -e "COMPOSITING_WM_START=no\nCOMPOSITING_WM=compiz-fusion" >${SYSCONF}/compositing-wm + echo "COMPOSITING_SERVER_START=no" > ${SYSCONF}/compositing-server + echo -e "COMPOSITING_WM_START=no\nCOMPOSITING_WM=compiz-fusion" > ${SYSCONF}/compositing-wm sed -i /COMPOSITING_WM_START/d ${SYSCONF}/config -# [ -f usr/lib/libDrakX/harddrake/autoconf.pm ] && sed -i 's/^# Xconfig::glx::write({});$/ Xconfig::glx::write({});/' usr/lib/libDrakX/harddrake/autoconf.pm - [ -f etc/xdg/kwinrc ] && sed -i s/^Enabled=.*/Enabled=true/ etc/xdg/kwinrc +# [[ -f usr/lib/libDrakX/harddrake/autoconf.pm ]] && sed -i 's/^# Xconfig::glx::write({});$/ Xconfig::glx::write({});/' ${ROOTFS}/usr/lib/libDrakX/harddrake/autoconf.pm + [[ -f etc/xdg/kwinrc ]] && sed -i s/^Enabled=.*/Enabled=true/ ${ROOTFS}/etc/xdg/kwinrc } setupdm(){ - if [ -f lib/systemd/system/$1.service ] ;then - ln -sf /lib/systemd/system/$1.service etc/systemd/system/display-manager.service - ln -sf /lib/systemd/system/graphical.target etc/systemd/system/default.target + if [[ -f ${ROOTFS}/lib/systemd/system/$1.service ]]; then + ln -sf /lib/systemd/system/$1.service ${ROOTFS}/etc/systemd/system/display-manager.service + ln -sf /lib/systemd/system/graphical.target ${ROOTFS}/etc/systemd/system/default.target [[ -f ${SYSCONF}/desktop ]] && sed -i /DISPLAYMANAGER=/d ${SYSCONF}/desktop echo "DISPLAYMANAGER=${1%%-plymouth*}" >> ${SYSCONF}/desktop case ${1%%-plymouth*} in lightdm) # FIX lightdm-greater - mkdir -p usr/libexec - ln -sf /usr/lib/at-spi-bus-launcher usr/libexec/at-spi-bus-launcher - ln -sf init usr/bin/systemd + mkdir -p ${ROOTFS}/usr/libexec + ln -sf /usr/lib/at-spi-bus-launcher ${ROOTFS}/usr/libexec/at-spi-bus-launcher + ln -sf init ${ROOTFS}/usr/bin/systemd ;; esac - fi + fi } setupde(){ - if [[ -f usr/share/xsessions/$1.desktop ]] ;then + local DESKTOP=$1 + local DESKTOP_FILE=$2 + local DESKTOP_FILE_PATH=${DESKTOP_FILE%/*} + if [[ -f ${DESKTOP_FILE} ]] ;then sed -i /DESKTOP=/d ${SYSCONF}/desktop echo "DESKTOP=$1" >> ${SYSCONF}/desktop -# ln -sf $1.desktop usr/share/xsessions/default.desktop -# cat > usr/share/xsessions/default.desktop < ${DESKTOP_FILE_PATH}/default.desktop <> ${SYSCONF}/desktop + echo "DISPLAYMANAGER=${DISPLAYMANAGER}" >> ${SYSCONF}/desktop DESKTOP=none sed -i /DESKTOP=/d ${SYSCONF}/desktop echo "DESKTOP=$DESKTOP" >> ${SYSCONF}/desktop @@ -121,6 +124,7 @@ for i in $(cmdline_value desktop | tr , " " ) ;do i3) DESKTOP=i3 ;; steam) DESKTOP=steam ;; plasma) DESKTOP=plasma ;; + plasmax11) DESKTOP=plasmax11 ;; mate) DESKTOP=mate ;; ukui) DESKTOP=ukui ;; pantheon) DESKTOP=pantheon ;; @@ -143,29 +147,38 @@ done # Autodetect Display Manager [[ -z "${DISPLAYMANAGER}" ]] && for i in slim xdm lxdm kdm gdm sddm lightdm; do - [[ -f lib/systemd/system/$i.service ]] && DISPLAYMANAGER=$i + [[ -f ${ROOTFS}/lib/systemd/system/$i.service ]] && DISPLAYMANAGER=$i done - [[ -f lib/systemd/system/${DISPLAYMANAGER}-plymouth.service ]] && setupdm ${DISPLAYMANAGER}-plymouth && rm -f lib/systemd/system/${DISPLAYMANAGER}.service || setupdm ${DISPLAYMANAGER} + [[ -f ${ROOTFS}/lib/systemd/system/${DISPLAYMANAGER}-plymouth.service ]] && setupdm ${DISPLAYMANAGER}-plymouth && rm -f ${ROOTFS}/lib/systemd/system/${DISPLAYMANAGER}.service || setupdm ${DISPLAYMANAGER} # Autodetect Display Environment # /usr/share/xsessions/*.desktop for X's sessions and /usr/share/wayland-sessions/*.desktop for Wayland's. - [[ -z "${DESKTOP}" ]] && for i in i3 ukui steam lxde lxqt kde4 xfce pantheon mate gnome gnomeshell plasma; do - [[ -f usr/share/wayland-sessions/$i.desktop ]] && DESKTOP=$i - [[ -f usr/share/xsessions/$i.desktop ]] && DESKTOP=$i + [[ -z ${DESKTOP} ]] && for SELECT_DESKTOP in i3 ukui steam lxde lxqt kde4 xfce pantheon mate gnome gnomeshell plasmax11; do + [[ -f "${ROOTFS}/usr/share/xsessions/${SELECT_DESKTOP}.desktop" ]] && DESKTOP="${SELECT_DESKTOP}" + done + [[ -z ${DESKTOP} ]] && for SELECT_DESKTOP in gnome plasma; do + [[ -f "${ROOTFS}/usr/share/wayland-sessions/${SELECT_DESKTOP}.desktop" ]] && DESKTOP="${SELECT_DESKTOP}" done - setupde ${DESKTOP,,} + if [[ -n ${DESKTOP} ]]; then + if [[ -f "${ROOTFS}/usr/share/xsessions/${DESKTOP}.desktop" ]]; then + DESKTOP_FILE="${ROOTFS}/usr/share/xsessions/${DESKTOP}.desktop" + elif [[ -f "${ROOTFS}/usr/share/wayland-sessions/${DESKTOP}.desktop" ]]; then + DESKTOP_FILE="${ROOTFS}/usr/share/wayland-sessions/${DESKTOP}.desktop" + fi + setupde ${DESKTOP,,} ${DESKTOP_FILE} + fi - [[ -z "${DISPLAYMANAGER}" && -z "${DESKTOP}" ]] && disabledmde + #[[ -z "${DISPLAYMANAGER}" && -z "${DESKTOP}" ]] && disabledmde # Set default user to Display Manager if [[ ${DISPLAYMANAGER} == "lightdm" && -n ${DISPLAYMANAGER_DEFAULTUSER} ]]; then sed -i /DISPLAYMANAGER_DEFAULTUSER=/d ${SYSCONF}/desktop echo "DISPLAYMANAGER_DEFAULTUSER=${DISPLAYMANAGER_DEFAULTUSER}" >> ${SYSCONF}/desktop - mkdir -p var/lib/lightdm/.cache/lightdm-gtk-greeter/ - echo "[greeter]" > var/lib/lightdm/.cache/lightdm-gtk-greeter/state - echo "last-user=${DISPLAYMANAGER_DEFAULTUSER}" >> var/lib/lightdm/.cache/lightdm-gtk-greeter/state - chown -Rf 41:41 var/lib/lightdm/ - chmod 1770 var/lib/lightdm/ - chmod 755 var/lib/lightdm/.cache/lightdm-gtk-greeter/ - chmod 644 var/lib/lightdm/.cache/lightdm-gtk-greeter/state - fi \ No newline at end of file + mkdir -p ${ROOTFS}/var/lib/lightdm/.cache/lightdm-gtk-greeter/ + echo "[greeter]" > ${ROOTFS}/var/lib/lightdm/.cache/lightdm-gtk-greeter/state + echo "last-user=${DISPLAYMANAGER_DEFAULTUSER}" >> ${ROOTFS}/var/lib/lightdm/.cache/lightdm-gtk-greeter/state + chown -Rf 41:41 ${ROOTFS}/var/lib/lightdm/ + chmod 1770 ${ROOTFS}/var/lib/lightdm/ + chmod 755 ${ROOTFS}/var/lib/lightdm/.cache/lightdm-gtk-greeter/ + chmod 644 ${ROOTFS}/var/lib/lightdm/.cache/lightdm-gtk-greeter/state + fi diff --git a/ublinux/scripts/printers_setup.sh b/ublinux/scripts/printers_setup.sh index 093eeb0..452da87 100755 --- a/ublinux/scripts/printers_setup.sh +++ b/ublinux/scripts/printers_setup.sh @@ -21,7 +21,7 @@ EOF ) init_printer(){ - echo "${DEVNAME}" | grep -q "/dev/usb/lp" && DEVNAME="sys$(udevadm info -a -n ${DEVNAME} 2>/dev/null | grep "looking at" | head -1 | cut -d\' -f2 | sed "s/\/usbmisc.*//")" + echo "${DEVNAME}" | grep -q "/dev/usb/lp" && DEVNAME="$(udevadm info -a -n ${DEVNAME} 2>/dev/null | grep "looking at" | head -1 | cut -d\' -f2 | sed "s/\/usbmisc.*//")" [[ -z "${DEVNAME}" ]] && echo "$(date '+%m.%d.%Y %T'): $0 : ${ACTION} : ERROR : Not found DEVICE ${DEVNAME}"; [[ -z "${DEVNAME}" ]] && exit 1 # INFODEV="$(udevadm info -a -n ${DEVNAME} 2>/dev/null)" # DEV_IDPRODUCT="$(echo "${INFODEV}" | grep ATTRS{idProduct} | head -1 | grep -o '".*"' | tr -d '"' 2>/dev/null)" diff --git a/ublinux/scripts/printers_setup_capt.sh b/ublinux/scripts/printers_setup_capt.sh index 0e55e9b..195c40a 100755 --- a/ublinux/scripts/printers_setup_capt.sh +++ b/ublinux/scripts/printers_setup_capt.sh @@ -17,10 +17,10 @@ init_printer(){ echo "${DEVNAME}" | grep -q "/dev/usb/lp" && DEVNAME="$(udevadm info -a -n ${DEVNAME} 2>/dev/null | grep "looking at" | head -1 | cut -d\' -f2 | sed "s/\/usbmisc.*//")" [[ -z "${DEVNAME}" ]] && echo "$(date '+%m.%d.%Y %T') : $0 : ${ACTION} : ERROR : Not found DEVICE ${DEVNAME}"; [[ -z "${DEVNAME}" ]] && exit 1 - DEV_IDPRODUCT="$(cat /sys/${DEVNAME}/../idProduct)" - DEV_IDVENDOR="$(cat /sys/${DEVNAME}/../idVendor)" - DEV_SERIAL="$(cat /sys/${DEVNAME}/../serial)" - DEV_IEEE1284_ID="$(cat /sys/${DEVNAME}/ieee1284_id | head -1 | tr ";" "\n")" + DEV_IDPRODUCT="$(cat /${DEVNAME}/../idProduct)" + DEV_IDVENDOR="$(cat /${DEVNAME}/../idVendor)" + DEV_SERIAL="$(cat /${DEVNAME}/../serial)" + DEV_IEEE1284_ID="$(cat /${DEVNAME}/ieee1284_id | head -1 | tr ";" "\n")" PRINTER_MFG="$(echo "${DEV_IEEE1284_ID}" | grep MFG | head -1 | cut -d: -f2 2>/dev/null)" PRINTER_MDL="$(echo "${DEV_IEEE1284_ID}" | grep MDL | head -1 | cut -d: -f2 2>/dev/null)" PRINTER_CMD="$(echo "${DEV_IEEE1284_ID}" | grep CMD | head -1 | cut -d: -f2 2>/dev/null)" @@ -29,10 +29,10 @@ init_printer(){ PRINTER_NAME="$(echo "${PRINTER_MDL}" | tr "/" "-" | tr " " "-" 2>/dev/null)" PRINTER_NAME_PPD="$(echo "${PRINTER_MDL}" | tr " " "-" 2>/dev/null)" for WAIT_TIME in 1 2 3 4; do - PRINTER_LP=$(basename $(ls -Udb /sys/${DEVNAME}/usbmisc/lp* 2>/dev/null | head -1) 2>/dev/null) + PRINTER_LP=$(basename $(ls -Udb /${DEVNAME}/usbmisc/lp* 2>/dev/null | head -1) 2>/dev/null) [[ -z ${PRINTER_LP} ]] && sleep ${WAIT_TIME} || break done -# PRINTER_LP="/dev/$(cat /sys/${DEVNAME}/usbmisc/*/uevent | grep DEVNAME | cut -d= -f2)" +# PRINTER_LP="/dev/$(cat /${DEVNAME}/usbmisc/*/uevent | grep DEVNAME | cut -d= -f2)" PRINTER_LP="/dev/usb/${PRINTER_LP}" [[ ${PRINTER_MDL} == "LBP810" ]] && PRINTER_MDL="LBP1120" echo "$(date '+%m.%d.%Y %T') : $0 : init_printer : ${ACTION} : ${DEVNAME} : ${DEV_IDPRODUCT}:${DEV_IDVENDOR} : ${PRINTER_MFG} : ${PRINTER_MDL} : ${PRINTER_CMD} : ${PRINTER_CLS} : ${DEV_SERIAL} : ${PRINTER_NAME} : ${PRINTER_LP}" diff --git a/ublinux/templates/ublinux-data.ini b/ublinux/templates/ublinux-data.ini index cdc4e70..97ab73d 100644 --- a/ublinux/templates/ublinux-data.ini +++ b/ublinux/templates/ublinux-data.ini @@ -1390,6 +1390,7 @@ NSSWITCHWINBIND=yes ## Настройка сервисов окружения рабочего стола ################################################################################ ## Пользователь для автовхода +## Если установлено несколько экранных менеджеров DM, то для автовхода необходимо указать конкретно DESKTOP= ## AUTOLOGINUSER=|enable|yes|disable|no ## # Включает автовход указанного пользователя ## yes|enable # Включает автовход пользователя с id =${ADMUID} по умолчанию =1000, по умолчанию =superadmin @@ -1403,7 +1404,8 @@ NSSWITCHWINBIND=yes ## xfce # ## lxde # Быстрая среда для слабых компьютеров ## gnome # Альтернативная среда для средних и мощных машин -## plasma # Альтернативная среда для мощных машин +## plasma # Альтернативная среда для мощных машин на Wayland +## plasmax11 # Альтернативная среда для мощных машин на X11 ## pantheon # Pantheon альтернативная среда для средних и мощных машин ## # Любая среда установленная в систему ## DESKTOP=none diff --git a/ublinux/udev/70-setup-prn-ubconfig.rules b/ublinux/udev/70-setup-prn-ubconfig.rules index e89e5bf..118bafd 100644 --- a/ublinux/udev/70-setup-prn-ubconfig.rules +++ b/ublinux/udev/70-setup-prn-ubconfig.rules @@ -17,6 +17,6 @@ ACTION=="add", SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_interface", ENV{INTERFACE}= # 7/1/2 - device with bidirectional USB, managed by usb backend # 7/1/3 - device with special USB protocol, managed by hp backend # 7/1/4 - device with IPP over USB protocol, managed by ipp-usb daemon -ACTION=="remove", SUBSYSTEM=="usb", ENV{INTERFACE}=="7/1/*", ENV{INTERFACE}!="7/1/4", RUN+="/usr/lib/ublinux/scripts/printers_setup.sh remove sys%p" +ACTION=="remove", SUBSYSTEM=="usb", ENV{INTERFACE}=="7/1/*", ENV{INTERFACE}!="7/1/4", RUN+="/usr/lib/ublinux/scripts/printers_setup.sh remove %p" #ACTION=="remove", SUBSYSTEM=="usb", ENV{INTERFACE}=="7/1/*", ENV{INTERFACE}!="7/1/4", TAG+="systemd"