You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
ORPA-pyOpenRPA/Tools/Configure/ubuntu-kde/configure.sh

225 lines
8.1 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

#!/bin/bash
#ВНИМАНИЕ! ЗАПУСКАТЬ ИЗ ПОД ROOT
echo "Добро пожаловать в мастер настройки pyOpenRPA (ubuntu + kde plasma)"
echo "!ВНИМАНИЕ! Убедитесь в том, что скрипт запущен из под root (с правами администратора)"
read -p "Установите логин УЗ оркестратора [по-умолчанию: rpa00]: " VAR_USER
VAR_USER=${VAR_USER:-rpa00}
read -p "Установите группу роботов на машине [по-умолчанию: rpa]: " VAR_ROBOTGROUP
VAR_ROBOTGROUP=${VAR_ROBOTGROUP:-rpa}
echo "Установите пароль [по-умолчанию: 123QWEasd]"
read -s VAR_PASSWORD
VAR_PASSWORD=${VAR_PASSWORD:-123QWEasd}
read -p "Установите номер терминала tty для УЗ оркестратора [по-умолчанию: 2]: " VAR_TTY
VAR_TTY=tty${VAR_TTY:-2}
echo "Подключиться к УЗ оркестратора после автоматической настройки можно будет через протокол VNC. Параметры для подключения: ip адрес виртуальной машины, порт (укажите ниже), пароль (от УЗ оркестратора)"
read -p "Укажите номер порта для VNC [по-умолчанию: 5900]: " VAR_VNC_PORT
VAR_VNC_PORT=${VAR_VNC_PORT:-5900}
# Установка компонентов [TESTED+]
apt update
apt upgrade
apt -y install aptitude
aptitude install kde-plasma-desktop
apt -y install x11vnc #VNC сервер для подключения к УЗ роботов/оркестратора
apt -y install krdc #Клиент для подключения к VNC/ RDP
apt -y install remmina # rdp client для оркестратора
apt -y install xserver-xorg-video-dummy # драйвер для создания виртуальных графических сессий
apt -y install ufw # фаервол
apt -y install wget # скачивальщик
apt -y install xinit # X сервер
apt -y install scrot # screenshots
apt -y install xclip # буфер обмена
apt -y install openssl # шифрование
apt -y install x11-xkb-utils # переключение раскладки
apt -y install git
# ПЕРЕНОС НАСТРОЕК SSH [TESTED+]
rm -rf /etc/ssh/sshd_config
mkdir -p /etc/ssh
cp sshd_config /etc/ssh/sshd_config
chmod -R 644 "/etc/ssh/sshd_config"
chown -R root:root /etc/ssh/sshd_config
# НАСТРОЙКА ОКРУЖЕНИЯ [TESTED+]
cd /opt
groupadd $VAR_ROBOTGROUP
mkdir rpa
chown -R root:$VAR_ROBOTGROUP rpa
chmod -R 770 rpa
# Скомпилировать исправленную версию x11vnc [TESTED+]
cd /opt/rpa
apt -y install gcc
apt -y install make
apt -y install -y libxtst-dev libssl-dev libjpeg-dev
wget http://x11vnc.sourceforge.net/dev/x11vnc-0.9.14-dev.tar.gz
gzip -dc x11vnc-0.9.14-dev.tar.gz | tar -xvf -
cd x11vnc-0.9.14/
./configure --prefix=/usr/local CFLAGS='-g -O2 -fno-stack-protector -Wall'
make
make install
cd ..
rm -rf x11vnc-0.9.14-dev.tar.gz
# Скачать pyOpenRPA [TESTED+]
cd /opt/rpa
wget https://gitlab.com/UnicodeLabs/OpenRPA/-/archive/prd/OpenRPA-prd.tar
tar -xvf OpenRPA-prd.tar
chmod ug+x "/opt/rpa/OpenRPA-prd/Resources/LChrome64-10305060114/data/chrome"
chmod ug+x "/opt/rpa/OpenRPA-prd/Resources/LChrome64-10305060114/data/chrome_crashpad_handler"
chmod ug+x "/opt/rpa/OpenRPA-prd/Resources/LPy64-3105/bin/python3.10"
chmod ug+x "/opt/rpa/OpenRPA-prd/Resources/SeleniumWebDrivers/Chrome/chromedriver_lin64 v103.0.5060.53/chromedriver"
chmod ug+x "/opt/rpa/OpenRPA-prd/Orchestrator/start.sh"
chmod ug+x "/opt/rpa/OpenRPA-prd/Agent/start.sh"
chmod ug+x "/opt/rpa/OpenRPA-prd/Utils/Jupyter-notebooks/start.sh"
rm OpenRPA-prd.tar
#НЕ ГРУЗИТЬ ГРАФИЧЕСКИЙ МЕНЕДЖЕР ЛОГИНА (ДЛЯ РОБОТА ОН БЕСПОЛЕЗЕН) [TESTED+]
systemctl enable multi-user.target --force
systemctl set-default multi-user.target
# УЗ ОРКЕСТРАТОРА [TESTED+]
useradd -b /home -d /home/$VAR_USER -g $VAR_ROBOTGROUP -G ssh,tty,audio,video,mail -p $(openssl passwd -crypt $VAR_PASSWORD) -s /bin/bash $VAR_USER
mkhomedir_helper $VAR_USER
rm -rf /etc/systemd/system/getty@$VAR_TTY.service.d
mkdir -p /etc/systemd/system/getty@$VAR_TTY.service.d
cd /home/$VAR_USER
# alternative systemctl edit getty@$VAR_TTY
echo "\
[Service]
ExecStart=
ExecStart=-/sbin/agetty --autologin $VAR_USER --noclear %I 38400 linux
" >> /etc/systemd/system/getty@$VAR_TTY.service.d/override.conf
systemctl enable getty@$VAR_TTY.service
# СЕРВЕР X11VNC
rm -rf /home/$VAR_USER/x11vnc
mkdir -p /home/$VAR_USER/x11vnc
x11vnc -storepasswd "$VAR_PASSWORD" /home/$VAR_USER/x11vnc/pass
echo "\
#!/bin/bash
x11vnc -noxdamage -shared -dontdisconnect -many -noxfixes -rfbauth /home/$VAR_USER/x11vnc/pass -rfbport $VAR_VNC_PORT
" >> /home/$VAR_USER/x11vnc/start.sh
#СОЗДАТЬ XORG.CONF - ВИРТУАЛЬНЫЙ ВИДЕОДРАЙВЕР [TESTED+]
rm -rf /home/$VAR_USER/xorg.conf
echo "\
Section \"Monitor\"
Identifier \"dummy_monitor\"
HorizSync 28.0-80.0
VertRefresh 48.0-75.0
Modeline \"1920x1080\" 172.80 1920 2040 2248 2576 1080 1081 1084 1118
EndSection
Section \"Device\"
Identifier \"dummy_card\"
VideoRam 256000
Driver \"dummy\"
EndSection
Section \"Screen\"
Identifier \"dummy_screen\"
Device \"dummy_card\"
Monitor \"dummy_monitor\"
SubSection \"Display\"
EndSubSection
EndSection
" >> /home/$VAR_USER/xorg.conf
chown $VAR_USER:$VAR_ROBOTGROUP /home/$VAR_USER/xorg.conf
#СОЗДАТЬ .bash_profile для запуска графической подсистемы [TESTED+]
rm -rf /home/$VAR_USER/.bash_profile
echo "\
export LANG=C.UTF-8
export XORGCONFIG=/home/$VAR_USER/xorg.conf
sleep 3s
startx
" >> /home/$VAR_USER/.bash_profile
chown $VAR_USER:$VAR_ROBOTGROUP /home/$VAR_USER/.bash_profile
#ДОБАВИТЬ В АВТОЗАГРУЗКУ KDE ОРКЕСТРАТОР [TESTED+]
rm -rf /home/$VAR_USER/.config/autostart/orpa-orc-start.sh.desktop
mkdir -p /home/$VAR_USER/.config/autostart
echo "\
[Desktop Entry]
Comment[en_US]=
Comment=
Exec=/opt/rpa/OpenRPA-prd/Orchestrator/start.sh
GenericName[en_US]=
GenericName=
Icon=system-run
MimeType=
Name[en_US]=
Name=
OnlyShowIn=KDE;
Path=/opt/rpa/OpenRPA-prd/Orchestrator
StartupNotify=true
Terminal=true
TerminalOptions=
Type=Application
X-DBUS-ServiceName=
X-DBUS-StartupType=none
X-KDE-SubstituteUID=false
X-KDE-Username=
" >> /home/$VAR_USER/.config/autostart/orpa-orc-start.sh.desktop
chown $VAR_USER:$VAR_ROBOTGROUP /home/$VAR_USER/.config/autostart/orpa-orc-start.sh.desktop
#ДОБАВИТЬ В АВТОЗАГРУЗКУ KDE X11VNC
rm -rf /home/$VAR_USER/.config/autostart/x11vnc-start.sh.desktop
mkdir -p /home/$VAR_USER/.config/autostart
echo "\
[Desktop Entry]
Comment[en_US]=
Comment=
Exec=/home/$VAR_USER/x11vnc/start.sh
GenericName[en_US]=
GenericName=
Icon=system-run
MimeType=
Name[en_US]=
Name=
OnlyShowIn=KDE;
Path=/home/$VAR_USER/x11vnc
StartupNotify=true
Terminal=false
TerminalOptions=
Type=Application
X-DBUS-ServiceName=
X-DBUS-StartupType=none
X-KDE-SubstituteUID=false
X-KDE-Username=
" >> /home/$VAR_USER/.config/autostart/x11vnc-start.sh.desktop
chown $VAR_USER:$VAR_ROBOTGROUP /home/$VAR_USER/.config/autostart/x11vnc-start.sh.desktop
#ОТКЛЮЧИТЬ LOCKSCREEN KDE [TESTED+]
rm -rf /home/$VAR_USER/.config/kscreenlockerrc
mkdir -p /home/$VAR_USER/.config
echo "\
[$Version]
update_info=kscreenlocker.upd:0.1-autolock
[Daemon]
Autolock=false
LockOnResume=false
" >> /home/$VAR_USER/.config/kscreenlockerrc
chown $VAR_USER:$VAR_ROBOTGROUP /home/$VAR_USER/.config/kscreenlockerrc
#Рекурсивная установка группы RPA для всех каталогов внутри /opt/rpa [TESTED+]
cd ..
chown -R root:$VAR_ROBOTGROUP /opt/rpa
chmod -R 775 /opt/rpa
## ПРАВА ДОСТУПА ДОМАШНЕГО КАТАЛОГА
chown -R $VAR_USER:$VAR_ROBOTGROUP /home/$VAR_USER
chmod -R 755 /home/$VAR_USER
## ПРАВА ДОСТУПА ВНУТРИ ДОМАШНЕГО КАТАЛОГА К X11VNC
chmod ugo+r /home/$VAR_USER/x11vnc/pass
chmod ug+x /home/$VAR_USER/x11vnc/start.sh
reboot -f