Vdiclient: различия между версиями
Перейти к навигации
Перейти к поиску
Vovan (обсуждение | вклад) (Новая страница: «=На базе Alt Straterkit MATE= ==Модификация пакетной базы== ===Установка доп пакетов=== ===Удаление л…») |
Vovan (обсуждение | вклад) (→Скелетон пользователя) |
||
(не показаны 23 промежуточные версии этого же участника) | |||
Строка 1: | Строка 1: | ||
=На базе Alt Straterkit MATE= | =На базе Alt Straterkit MATE= | ||
− | + | wget http://nightly.altlinux.org/stable/x86_64/release/alt-p10-mate-20221209-x86_64.iso | |
− | ===Установка | + | ===Установка VDICLIENT=== |
+ | |||
+ | https://github.com/joshpatten/PVE-VDIClient | ||
+ | |||
+ | apt-get update -y | ||
+ | apt-get install python3-module-pip python3-modules-tkinter virt-viewer git -y | ||
+ | |||
+ | <pre> | ||
+ | cd /opt/ | ||
+ | git clone https://github.com/joshpatten/PVE-VDIClient.git | ||
+ | cd ./PVE-VDIClient/ | ||
+ | chmod +x requirements.sh | ||
+ | ./requirements.sh | ||
+ | cp vdiclient.py /usr/local/bin | ||
+ | chmod +x /usr/local/bin/vdiclient.py | ||
+ | mkdir /etc/vdiclient | ||
+ | </pre> | ||
+ | |||
+ | <pre> | ||
+ | cat << 'EOF' > /etc/vdiclient/vdiclient.ini | ||
+ | [General] | ||
+ | # This is the title that is diplayed to the user | ||
+ | title = VDI Login | ||
+ | # This is the PySimpleGui Theme that is used. Run vdiclient.py with flag `--list_themes` for a list of themes | ||
+ | theme = LightBlue | ||
+ | # Program Icon | ||
+ | icon = vdiicon.ico | ||
+ | # Logo displayed on all windows | ||
+ | logo = vdiclient.png | ||
+ | # Enable Kiosk mode, which does not allow the user to close anything | ||
+ | kiosk = False | ||
+ | # Enable/Disable Fullscreen mode (not applicable in Kiosk mode) | ||
+ | fullscreen = True | ||
+ | # Enable displaying SPICE ini file before opening virt-viewer | ||
+ | inidebug = False | ||
+ | # Select which guest types to display. Acceptable values: both, lxc, qemu | ||
+ | guest_type = both | ||
+ | |||
+ | [Authentication] | ||
+ | # This is the authentication backend that will be used to authenticate | ||
+ | auth_backend = pve | ||
+ | # If enabled, 2FA TOTP entry dialog will show | ||
+ | auth_totp = false | ||
+ | # If disabled, TLS certificate will not be checked | ||
+ | tls_verify = false | ||
+ | # User name (if using token) | ||
+ | #user = user | ||
+ | # API Token Name | ||
+ | #token_name = dvi | ||
+ | # API Token Value | ||
+ | #token_value = xxx-x-x-x-xxx | ||
+ | |||
+ | [Hosts] | ||
+ | # Hosts are entered as `IP/FQDN = Port` | ||
+ | #10.10.10.100 = 8006 | ||
+ | #pve1.example.com = 8006 | ||
+ | |||
+ | cluster-node1 = 8006 | ||
+ | |||
+ | [SpiceProxyRedirect] | ||
+ | # The Spice Proxy provided by the Proxmox API may need to have its host/port rewritten | ||
+ | # These rewrite rules are written `IP:port = IP:port` | ||
+ | # 1. Use the inidebug and read the current proxy=pve1.example.com:3128 | ||
+ | # 2. Add your proxmox ip to the right side e.g. 123.123.123.123:6000 | ||
+ | #pve1.example.com:3128 = 123.123.123.123:6000 | ||
+ | |||
+ | [AdditionalParameters] | ||
+ | # If you wish to define additional parameters to pass to virt-viewer you may define them here | ||
+ | # More parameter definitions here: https://www.mankier.com/1/remote-viewer | ||
+ | # Some Examples: | ||
+ | # Enable USB passthrough | ||
+ | enable-usbredir = true | ||
+ | # Enable auto USB device sharing | ||
+ | enable-usb-autoshare = true | ||
+ | |||
+ | EOF | ||
+ | </pre> | ||
+ | |||
+ | |||
+ | <pre> | ||
+ | cat << 'EOF' > /etc/hosts | ||
+ | 127.0.0.1 localhost.localdomain localhost | ||
+ | |||
+ | 10.207.151.243 cluster-node1 | ||
+ | 10.207.151.242 cluster-node2 | ||
+ | 10.207.151.241 cluster-node3 | ||
+ | 10.207.151.240 cluster-node4 | ||
+ | 10.207.151.239 cluster-node5 | ||
+ | 10.207.151.238 cluster-node6 | ||
+ | 10.207.151.237 cluster-node7 | ||
+ | 10.207.151.236 cluster-node8 | ||
+ | 10.207.151.235 cluster-node9 | ||
+ | 10.207.151.234 cluster-node10 | ||
+ | EOF | ||
+ | </pre> | ||
+ | |||
+ | |||
+ | <pre> | ||
+ | cat << 'EOF' > /usr/share/applications/vdiclient.desktop | ||
+ | [Desktop Entry] | ||
+ | Exec=vdiclient.py | ||
+ | Icon=/usr/share/icons/Adwaita/32x32/devices/computer.png | ||
+ | Type=Application | ||
+ | Name=PVE-VDIClient | ||
+ | Categories=Network; | ||
+ | EOF | ||
+ | |||
+ | chmod +x /usr/share/applications/vdiclient.desktop | ||
+ | </pre> | ||
+ | |||
+ | ===Ярлыки на рабочий стол=== | ||
+ | |||
+ | cp /usr/share/applications/mate-display-properties.desktop /etc/skel/Desktop/ | ||
+ | cp /usr/share/applications/vdiclient.desktop /etc/skel/Desktop/ | ||
+ | chmod +x /etc/skel/Desktop/*.desktop | ||
+ | |||
+ | ===Скелетон пользователя=== | ||
+ | |||
+ | Отключены панели mate. Оставлены две кнопки на рабочем столе. В base64 tgz архив с каталогом .config для скелетона | ||
− | + | <pre> | |
+ | cd /opt | ||
+ | cat << 'EOF' > skel.tgz.base64.txt | ||
+ | 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 | ||
+ | EOF | ||
− | + | cat skel.tgz.base64.txt | base64 -d > skel.tgz | |
+ | cd /etc/skel | ||
+ | tar -xzpf /opt/skel.tgz | ||
− | + | </pre> |
Текущая версия на 21:41, 20 февраля 2023
Содержание
На базе Alt Straterkit MATE
wget http://nightly.altlinux.org/stable/x86_64/release/alt-p10-mate-20221209-x86_64.iso
Установка VDICLIENT
https://github.com/joshpatten/PVE-VDIClient
apt-get update -y apt-get install python3-module-pip python3-modules-tkinter virt-viewer git -y
cd /opt/ git clone https://github.com/joshpatten/PVE-VDIClient.git cd ./PVE-VDIClient/ chmod +x requirements.sh ./requirements.sh cp vdiclient.py /usr/local/bin chmod +x /usr/local/bin/vdiclient.py mkdir /etc/vdiclient
cat << 'EOF' > /etc/vdiclient/vdiclient.ini [General] # This is the title that is diplayed to the user title = VDI Login # This is the PySimpleGui Theme that is used. Run vdiclient.py with flag `--list_themes` for a list of themes theme = LightBlue # Program Icon icon = vdiicon.ico # Logo displayed on all windows logo = vdiclient.png # Enable Kiosk mode, which does not allow the user to close anything kiosk = False # Enable/Disable Fullscreen mode (not applicable in Kiosk mode) fullscreen = True # Enable displaying SPICE ini file before opening virt-viewer inidebug = False # Select which guest types to display. Acceptable values: both, lxc, qemu guest_type = both [Authentication] # This is the authentication backend that will be used to authenticate auth_backend = pve # If enabled, 2FA TOTP entry dialog will show auth_totp = false # If disabled, TLS certificate will not be checked tls_verify = false # User name (if using token) #user = user # API Token Name #token_name = dvi # API Token Value #token_value = xxx-x-x-x-xxx [Hosts] # Hosts are entered as `IP/FQDN = Port` #10.10.10.100 = 8006 #pve1.example.com = 8006 cluster-node1 = 8006 [SpiceProxyRedirect] # The Spice Proxy provided by the Proxmox API may need to have its host/port rewritten # These rewrite rules are written `IP:port = IP:port` # 1. Use the inidebug and read the current proxy=pve1.example.com:3128 # 2. Add your proxmox ip to the right side e.g. 123.123.123.123:6000 #pve1.example.com:3128 = 123.123.123.123:6000 [AdditionalParameters] # If you wish to define additional parameters to pass to virt-viewer you may define them here # More parameter definitions here: https://www.mankier.com/1/remote-viewer # Some Examples: # Enable USB passthrough enable-usbredir = true # Enable auto USB device sharing enable-usb-autoshare = true EOF
cat << 'EOF' > /etc/hosts 127.0.0.1 localhost.localdomain localhost 10.207.151.243 cluster-node1 10.207.151.242 cluster-node2 10.207.151.241 cluster-node3 10.207.151.240 cluster-node4 10.207.151.239 cluster-node5 10.207.151.238 cluster-node6 10.207.151.237 cluster-node7 10.207.151.236 cluster-node8 10.207.151.235 cluster-node9 10.207.151.234 cluster-node10 EOF
cat << 'EOF' > /usr/share/applications/vdiclient.desktop [Desktop Entry] Exec=vdiclient.py Icon=/usr/share/icons/Adwaita/32x32/devices/computer.png Type=Application Name=PVE-VDIClient Categories=Network; EOF chmod +x /usr/share/applications/vdiclient.desktop
Ярлыки на рабочий стол
cp /usr/share/applications/mate-display-properties.desktop /etc/skel/Desktop/ cp /usr/share/applications/vdiclient.desktop /etc/skel/Desktop/ chmod +x /etc/skel/Desktop/*.desktop
Скелетон пользователя
Отключены панели mate. Оставлены две кнопки на рабочем столе. В base64 tgz архив с каталогом .config для скелетона
cd /opt cat << 'EOF' > skel.tgz.base64.txt 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 EOF cat skel.tgz.base64.txt | base64 -d > skel.tgz cd /etc/skel tar -xzpf /opt/skel.tgz