|
|
|
|
#!/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 # переключение раскладки
|
|
|
|
|
|
|
|
|
|
# ПЕРЕНОС НАСТРОЕК 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 rpa
|
|
|
|
|
mkdir rpa
|
|
|
|
|
chown -R root:rpa 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
|
|
|
|
|
|