Made qq2clone compatible with virgl when socket listen mode is used

This commit is contained in:
Jesse Gardner 2023-07-15 15:57:16 -07:00
parent 11863d942b
commit 361476a096
4 changed files with 1087 additions and 1067 deletions

BIN
lv_api_do

Binary file not shown.

444
qq2clone
View File

@ -1670,8 +1670,13 @@ read -ra spice < <(get_spice "$1") ||
if (( OPT[SPICY] )); then
command -v spicy &> /dev/null ||
{ echo "Cannot find command spicy" >&2; exit "$E_extcom"; }
nohup spicy --title "${OPT[TEMPLATE]}#$1" -h "${spice[0]}" \
-p "${spice[1]}" &>/dev/null &
if ((${#spice[@]} > 1)); then
nohup spicy --title "${OPT[TEMPLATE]}#$1" -h "${spice[0]}" \
-p "${spice[1]}" &>/dev/null &
else
nohup spicy --title "${OPT[TEMPLATE]}#$1" \
--uri="$spice" &>/dev/null &
fi
else
command -v virt-viewer &> /dev/null ||
{ echo "Cannot find command virt-viewer" >&2; exit "$E_extcom"; }
@ -1899,8 +1904,13 @@ time="$(date +%s)"
uuid="${CL_MAP["$1"]}"
until (( OPT[S_TIMEOUT] <= $(date +%s)-time )) ; do
spice="$(virsh domdisplay --type spice "$uuid" 2>&1)"
[[ "$spice" =~ ^'spice://'(.+):(.+)$ ]] || continue
echo "${BASH_REMATCH[1]} ${BASH_REMATCH[2]}";
if [[ "$spice" =~ ^'spice://'(.+):(.+)$ ]]; then
echo "${BASH_REMATCH[1]} ${BASH_REMATCH[2]}"
elif [[ "$spice" =~ ^'spice+unix' ]]; then
echo "$spice"
else
continue
fi
return 0;
done
return 1
@ -3214,219 +3224,219 @@ return 0
# ENTRY POINT, at the bottom of this file
archive='
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
AAA=
H4sIAAAAAAAAA+19C5QcV3VgzYw+47E8kn8gG8cuhI1ncKs1I0uyZKGgnpkedeP5eT6SFXBaNd01
04W6u5r6aNQsDgIBm4msXbMhCecsOYFz2MAm2cVwQo5ZdoOMDTbnGI5NWOI9wEEYszuKWBDEsmX8
mb33vvuqXlV3SSYLu5s9U4n1+t33u+++++697777hpH8YHZsKqv9Jr8++HZs24Zp/x3b+9QUvm39
O+7YqvVvgypb77hj+7Y7tL7+/v6t/Zre9xvFij/f9QxH17V3ma5rXqTepcr/mX77xmb0fdmx7GRm
RJ+YGRjJD+ojgiW69puOa9k1fWtKf7tfM/X+Xbv6u7oG7XrDsebLnt4z2AuwnbtSVKIPO6apT9lz
3oLhmPqw7ddKhgftU3q+Vkx3bccaRu1wxarpUx7U9VL6sDXnlfXhim07KX3Adj2sPZrR9b6t/f19
m/tv7+tP6TNTma6u7BHTadiAhOXqddOpWp5nlnTP1ouAjm7USnrJcj3HmvU9U4e6szB0FQst09Xt
Od0rQ8OKVTRrrqmX7KJfNWuAAFTXi2WjNm/V5nXLw95rtqcblYq9YJbSXV0TjmlUZytmV9d02ZQd
uPqc7ehVwFd35Xzxv5LpWvM1gZdnHAbggtHQG7bv6HMw4ZJdxRK3TPUBZRoZpuSl9YEGIFvzHMMF
rDwYitbFrJmOUdEn/FkYWR9h9AFJq+aZtZIYad43gK4eEP+SI2FZgPLmzVClimi6PlTDQYPZwBBU
F+cJxAAUXd13gR/S+jRSMgEzo16vIMGxY6QOEd5M5IxbXYV+NZqMUWvoNrRx9LpjzztGVV8o29iz
75VtxwUiVWHtsabvijVL6z1TdtXkVklDRaZWtIFDgHizjYDUI7i7nUSK11zPNErpXv2g7etFo0Yz
begCEyI7o+vC6tk2MM6BslnTF4CkddM4jISI0D6FRYiNY86ZjoMzgY546VLEg3UHBk/r434SVm4T
z6mLaXiIl142joilVdhC2SnhBomgp/cw0zjzggdo+wCBjsDQujVHXS9Ybrk3FQ7lmEXTOoKd+E4R
uy7BojhErXnTo93FDYFbIas0xTrMohE2hObAdTrgWBRYYic1vWYuCHwl0XcL9pHdHa7ZC0G/JRv7
dLFnILMLSzNtY0PPLHpi6UiaubQkNVOhpGMinYrIPq7oHEgxa5WQSVEUISnNGm1wHkL0hGgjK7uH
RZGNa+LgfnVoeqIW7iRqExkFdrJbMTzqvGg6ngHThRp1KLRmrYrlWSx9sGemZ8v1VOmYQoy4ctUu
WXPIuUCIYQCbR41qvQJVLtaZ6xfLuiHJDZQqm7TbIOdZNF8SFPqcCR3RKKBV9XmLeQ84w4KuakAa
FCYhDaJ8mqbdRU1jnAwtGrSxUgGXKZwlphowXVrPADMEWLhlYAaoUpVsANoD5Q51KlgFflmSDXDr
mq34A/gddJW3AKvpmXX3Tr2nv5e0j1CGUXojO/Zs7QXawfZmBlEU0ELZAoIifVwqrJjzsL1Jr7mk
clmxpdTlgD63kNqhBVTHA5wzFReIg6tgGrhWJC5BvvJEsE/ECaYjGJ32oGR0yWhEa1NqWh8ZFoyj
WskNVkHIz5oN7R1UOo1QOkQESFrPR1kQmxHmlpC7LohsHMSsuEL21w0QwIBgLUQPlY7COoAtrxbg
siDZQkg41ts4og3rYdWMSkqsMVRDnQJ0AC1eJc3p2CW/KNAgpYFLC2yJHYA4ruC64xIofUn1cytU
qPseaRTklGEsrDRSNIQqkRAhrwy2A6hpGAlUOxLSA5VBc2ea1LEYJQFwHEpTkhpHbKtEg5dQHjpi
CqCtJCOgFoQtaUTHoxlYtZJ1xCr5iJNuz9KaijECyyWF8tMErizSJiPFUw67gRT0jgkWcQPkE8pJ
YAfkFFhhWhiidtUoodWiFyum4Sg0FkPRrpsNjKWS4ErmqluZUVCsAxhpHtQzyPBKC1OrjisfbFdS
RzZMT4hJ7BH3B6CvbBHJ5ILPikLvz9loy2Gn2cnRKT0zNqQPjo8N5afz42NT+vD4JGQnDubH9qX0
ofzU9GR+YAaLqOLo+FB+OD+YQUBXVx/bPi2MHeYwIiGgJkyRBds5zDsdTTtYDJgHzhh1aL1iFEML
JBQjZbuCasI1GmyRVsGCBGKGcqAkNia1E8SR5m1rM4H0jL5pQqC3CWxeEwiSEpZHgD1JeGUKiLwQ
Y4a+iWYya4j9SQPL3vSqCQpLNy2asVKCfWC/gKl1BFYCuIZ6EbiH860YC3cKDrIIF5g4DCvqMtUk
j6o963XboeUlmyAlEQgMf5wBimuVFVwpQQMlW0JpgPMXC1aBDecb80CxnhxIOtjbc0DgVFAfxyPb
u1jx0fbGEWwfGRhMUi6uBeuib1IH3wS2YxYlM3M7iSyjVHJMEnuGq28CRbAJJTlI6yNCz9tMVbSO
Xhu3o1TBPRWxcEOe3S1EJplWvudatI1BGULvzCdGkax2x6810Z1lrLRXzFKKrS7qDMQi7Gy7Gm8i
MbFraC/P0Xi4sCTSSS5aHmk3PZHL9B4QbGYdDagaYQdCCJGbNcHEJlkE02yBcS8IVjZUAg5zfDSZ
sS8XR5FqJBiqZJso2PvZFjEar/2AGXRCx5rQBjbciHmM7GrVaHNUQar7YE7BvgOxbSoWLBKmbhV9
23crYnSQNiSbgW0BUsctDgoDpkD6npFUaymbjGUOT6JYMawq0ASQllp8t37YNOu4G3D9pY0mmrlS
A6ElgwfbiAwUpzasbcy6Zg1GQd0Ecwu7xjpkCoZnO0WrR0kHbEBTkSItGKdiw9oKCyysDQsVrJI4
q5AJyjYJCNlyw4WdUZFcTRtZnrcMtrAMaSxCLwZbfHadhQvOOTB1FFsKlehReaiWpi+gszXkG7bT
qD8xJ6c1u0hRGRNpXtknRVcVyCbujhQrx2YuJZkelYAs2VupkCmeWj+sJOzZVlxpgJEJTGsKFhGz
cE1FMd/Z1aXjZ/SGpnzR8F1xDAjsvzmrIvRmEUhLdIVJ4t6WHOeiOKXNLPcDkVoIG9Faip4Ssjrz
nKiVZiRmm5AgvsTpB/0q1ALS8K7ig6mF4sGuUAkZUo4XKnKEuUK74YTigk8uKbYhs9mew/NLxCwy
0BwQIxg4dcnDqJFoB1pOiXpAlknS+VLJ85yLvdLwDogtlXoNWIkMQ7BKS8KRQqY9upIcA5UOCpYF
dFuALFWOcYJ2yJJUiO5SVJ1S4CL7E6cpHZF5x7pQOIKcEqhTB8UCHeTQu4Gy3MEVAFtICK9azfZB
hKBrjrUs8f5rEGuBXZV8UOlBKxROGylpXAVMwIyOq8GVe0N/Anm9aEMrNrgZMZqDtYnsBdaOZqUi
1RJ2pdNp1NaPWOZCgrAD8yN7tGiSCLoTVWZEo3quWZmTLkBJbnRjouYiBR0stKCxOLtHqZsSYilZ
4wa6/t2+5QiXiOgt1lG6l6x1cmNQ1ao45ZN3jBVDwIk0XMj1dEa0UKdDsQGnM9012Q1CFMFTHrVg
myZps7EABMxmEQ3DtWvQG/lT0cJxyMwL7Qes7Jqwr5CZcACXObUKlD2CJyQP2VxdETECWi60+VLo
UyI3cThN9FEG6NM+iYkX8kAYbmzotD7ge0n1gVGrSq/QmOQJHf6E3BCnC8u9uH4gMamajax/RB/y
uGbXksVLir2woYdCnMHYbmaTFs4BR9EtLRceV9bhYaSt6JPcFz4KANCxUEzLMecNpwSinUaHRvoC
6lvhqZqGhinFQY/dkw/cC1BlOpFaQQtHccaRvelGvTlQTRzQHLxKqDGy4oAO9XbrsEhlsv7DocQR
xTxqOuJoKv1Ywl2DjoVKS2IrhyDCpoI+BnkkcluuGsw5X8MDgiWuUKoo0Yz5eaSS7FaeW2geSJWW
WzluNJEgJOBFmKYX84Z+xK74VaFeQe7bDhyOWGaH8xNGbCh+Zh0p7xTsQvVFZ40W6uv2i1vc8QnE
cUf1JAaRdszWXtzX9uy70NUhndGwdkXfI2GDptVF7CAXDSHAYaswh5KsIZAE6MbiHSWcDTB/xRDK
FEHV1tEaAPYNFgNhFZPUmSP8u6TrqrAxwBTajDpaiMTwIJHi7S437CVcAgnzoHXlNStCT3bVcCxg
e196akKPHSoYYVLtBtqlQrOqeUpGsI/IZk7pR4yKJfoDalVAKHvkDzP1hmk4dEkSnglCS6eRYmua
TaEa3iMJJ3BNWtLiWkma9qjmTEeayUwtlT9TpGWZ2E3kDfVvfCUihBeW2/8lgheTeMiq4byFOFBO
mGRZsggWJ5j4nU/CPMHwIAeXUQE8akJeUZYuQ8UJfo6cdjW0HlEKwtmqySEhT/oRlFR76dLbkqYo
DRfmKDwzAxkc4XfRp/xZKfFnBaXZFomcvedCUSE8VQIPunQT5K8G2hAr0b2ucItGD05AQrxqHCbD
XsVXOMoCDlMHFyPK03QTWgCHMXw8zFjhyQLOXRXfpX1huK5dtKSfCrjcQN4256yaJVybeBDi+kK0
OlZdXNSWVJWEyFnsvyJDBp3RlYqh2gLhjNJ6Dpb7CJKcbDW3btI6m9ImTTVNR90YdIOGeoDdZDgT
unkLfDCBfao268ETtXDicc9AollxZsBV6g3Zvmq8i7RoFViYrM0eMUHE+DAwrlkRxoaLorlXThC0
jiMOlW7D9cAWI+8PytPo9PFc46IuIUuEcA6Gkta3wduRvL9R4oHanmvS/0rvaDQpvI+3IuzAIjan
806xSENzbAOZuwbf8xIzkO+YzdSgFZrfIHTJwo120MR80n4m85I6gwKf7Ha3paEYkYV4IYAGrz9f
jp1RQ+djtQ7HHiU+Q+kk5slRiAG02xYaAaIjdNAIRwoc28itLcxR1QiJGgeCTXEm5tE6elfpIMS6
W0pt9bCVwZ0GqqsKrchiWSDbzk4c/SKDQ794fSP4j65kDB8FvseqCnWFhYsYMUVbYRXsQUlcNIjp
8iUQqcKZRLSQN9i0tCh3m7sM77hkSIDlhPEsAWK0bWiJ8KxClwKMAJzt8D4J/n/OrwihUrEMOAfC
um0X6yYZQD02IjPWvdhpwrXQUxjEJ2AbjmJAIRvMHe1b4m28JJzHk7lwpUYvStnRlrwq6Kvx3PhV
RHABb8jzlUMqqmzNWp5wnVeMheBanE98zbOhbkCj2HjvOyv9foh2xFKOOdN72EOUbIELDwxe6RUD
hhHDG+xmjSyvR7YoXgKTP4Rjdn6V2zOBcYh+jISxswody3akxaWGZ1VN1vcXs9kvMV9PDRWI7Rzm
elRIchsGciy4pRUlIvqi6fo8enUu8YJtTQLIC6JEWlAsKpUs0AbsTJzzHfZnKzEcPK/Qx31reGRk
gcobn1gaKFGm26b4HuKgD2ETwfkU/i3iuoQ7j693FBEc88/DEt2BbhZW5egRga0ZuOlR7MPJ+11+
aZ58bsIqUU6YfKMLhibqGFNWmuPFlM58dLnoPeIut2pxYJ5s67q+6famVAYkY5eoSFyAjNMjQ0pm
G4wVWHpkg8CRNxg4kM+9UjNjyBzsEI8t+GCIJgcGXXzxLgYdgQ5KHDdgouS25KfiaCLyQykedptt
bRfjYIC1XKvqV2CDmuLiRlwmgOKYZzOyhVym7RpGvZmwkGRrKM1Y1zetYUPhyoR9x3fqejzUx4gF
BsDG9CvCcBPhlbpjN+Ag0NhM1/XKvlbsAjkIrJmwcm2KbbGDuy6+7yiBMihi8AN50oMcHAjJioBp
BE43UxwfOG4SWQGwktSdBRqhrSxcSapuo2qzJAVBFDuoqAKHDi3xRdAXNlvsBibiUoKfZbOChrM4
1mJYWk1sSJOsOrGs0uNvFf2KASLWcop+1SVxLYTbrFEJZbepdq/GcwqvorzfkJWU24KW9fFQRRyk
DotXmfmI06zuOyS9WnjNYGV8ZirKiT2vRHa4YWwDuuOBUxvs/yKHm4x7k942opXlNeTtDFkToubu
6OBlgw8wODsFQ3nhxsoIJz3vcI9eORbOGl1iYeSnQg+phayPckSo9rqIkZDcXydPOhJMH6UJmzZU
V6Jd5jG2Aja1EDk8SnDMXsDrA4duAzFargkjOgA7bDLDluQjCMX2sSi3a8Jh7dKupNiSonJCCxrt
Zi+oXw8uXik2aUvJrgn6l0DxlChKk3Sj7paJZdD+4zjTiARjXCV+oShiJMX1ShC2wEKQlaCQwmXb
IjNwOrZpVC6lQDNEFEdB7zzFDi3wmXAWyGAeETVnzWZVJRSq6zXJ5q6unUGsWdwTsYXDR2PSynKV
GAZcAxn+RocgBwUWn0RnI5w/2wjvntQjuRDPoRXSFMyDEpGOWW4Ejxa6gO6gSyXhYkAOgLWeN7F6
vUwX2ZEpKnEnoNH4tkwI4WAqYRRcpGkkil44bGqk/qs2WRiSEEJs+C4PYJaA2DXeyYZQqwr6YNXb
sHnxekNMVcEQtjhwpPQS8t3grF1qvv7q6tolYlESY7mRTDICwjGPWHSbKtYbQ4OPiHcLwT17QlC3
UP1oueJGgjStT+HEIl3QqQk4EhS7hUIdEHfrlmNJixGdSS7uWG4hnhQggmBqou8NGpRMYK8KiWoR
8ENDBBGJ4oICmJBCCsme5s5wmdBLih5EXD5YXx/mjMssa9T86qzpBFsgMGvRaTNHh/JY1aaDg5CQ
SjAbK9hNKAkwSsqRPWxKRUPKgyiJ0O+teERjhw7eUlKYSaRsR6qHyFByecMQuSRmaJp6cBEhaNC4
JAVSgR0Fgkxa9rIJHkR/BWS6uvr7AntRhnQq24Lsg6YAEIpCE0I3EtbOt26RnRszowWX0ZUu7i0z
qhRkGDoa7OGhWViDgeQPVKQq3S4x0dhoSdV20wsIu2ri9nKFDgj8iG4QOyxeOaDeIprLPQfMXgpR
wcjreduouMIyMOk1AnOcMARA0vgiNhbah6d9AsmXMdEHJ8LGqNqBiYEvZkTMQQkkCyuPoMm8ECSV
Bqzz2Lh+IDM5mRmbPgiL3p/WB7KDmZmprD6dy+oTk+P7JjOjen5KPqYa0ocns1l9fFgfzGUm92VT
WG8yizWUnigeVekAao1TPnvPdHZsWp/ITo7mp6eht4GDemZiAjrPDIxk9ZHMATiJ3zOYnZjWD+Sy
Y/o49n4gD+hMTWewfn5MPzCZn86P7aP+MOZ1Mr8vN63nxkeGspMUGLsFBqeG+kRmcjqfnUI09ueH
onPalJkCrDfpB/LTufGZ6RB3mFtm7KB+V35sKKVn89RR9p6JyewUTh/6zo8CwlkozI8NjswMUczt
APQwNj4NZIKJQbXpcaKMrCt7R2Sg/9HsJJBvbDozkB/Jw5AYpDucnx6DIYh0GYH54MxIBiYxMzkx
PpVNCwJCH0DuyfzUXTpMgMl690wm6AdoC12MZsYGaZliy4iz1Q+Oz4COgFmPDEXKkUxZfSg7nB2c
zu+HtYWKMMrUzGiWqT01TeQZGdHHsoOAbWbyoD6VndyfHyQqTGYnMvlJnYKRJyexl/ExlCVb07hw
wCDZ/bj8M2MjONPJ7N0zMJkWTIA9ZPYBoyEh1TU/kIehcXXiC5+iJlAQLvxBYKFxfTRzUMQ/H5Ss
ASPKAOkoRwA9Q8bMDIwjBQYAnzyhBYggOXB5hjKjmX3ZKYUBaGh+fpjSpyayg3n8AeXAdrDOI4Im
sIHunsElBAB3omdgLbEH5EFeL9x+yGdjkj9g7PiW7AnHbuY9fWR8ihhtKDOd0QljSAeyWHsyOwb0
oq2UGRycmYRthTWwBWAzNQMbLT8mFgXnSxs5PzkU7CViz+FMfmRmsonBYORxICF2SYymLIioMdWb
Ih7Q88Mw1GCOV0+P7NiDeg6WYiAL1TJD+/O063gcQDLPNBnnHpiOaHKMiYotAuS7unIiXilDh0zh
MJ0m/Q7AgyhVx8CWYUXm0kma3KWgNyt2HeOyhKkTBuooL8DY2mdtOE/PJcDGh5OF8Hv5bqBhxHmN
j9FYCT0E5F4u48FBKHQRn0FaxvJi4l5oueBxC4YLRZyVyitJNZ6LbBnxZky6Vz3P4Fuj0OwJQmWl
USg8C7o4fLvGHKKM6AaNq7IuxdPRLRGW8C0JXu0FryjFcw0Rnwfq/4jZ4FsnMMldtsCi4bbUFfXh
lsk1QjabchNv6psCbb8JzPSaDKOr23SuofAYiqKjefri6oAe/6HaBgrJiEMkJrWXN/rK/G8FQwzv
mISLC2O9DBHbY9DqU6y1Hn1P3IBPNEI9TkYMD0SHS+V5TWR5dwfP/SKLKkxZ5dUUAFpGUl70vS0G
Xr1WC3C38hRBPJ6WA4wod1c90UDj3mYDOJ0wa9WlwIeoMgbUeExTaTvB1oFVE6cRqalRqkhtvTt4
vcD3eeSRrVCYnoyYBMTjChdwv7S+nTLNS5FUvJ+m56t4NnLldNEDrrJsGNIQCdW42GKp94sh7Xbj
6RNY+DUaruLNekr/VR6tx96sp3V8k0fHeTVQA91dQqTSjb94Y4hcZWJQmGPXYC7iPRwY7CDLrIrw
T0YCKCLRn6lA4vEzDANJ6ATxsRXrMMtHijOEeiRyXPEKIRJHCrvElKFL+2pgGB8RFrlk5h27UvH9
il6c6H6NtCzaaPjTcmQGpsZHwHYYOaiavLuJF5gNdK8BvHyInmwu3MrvreJ7PVQjJNfNCo4hPL/R
rc9vjQLvjjw47VaHKd6qIsCPz8qNOh7H6PIpjJSWeNH4QWtmV/nMNBKrHDntJT3PGp+jGw++pAiH
o3tcdgrNosaiK3U6TZELQHkd1BIzfuwjXOi0y2dxhaHLzUVA4DB5HqpmzQdamVV382aUy3TedX1L
3LQGz9r5pQXPlSLf8OUtVTFBbtgNaNYj33cHcb7cumo6vbp4swyd4ym7Ii4haiIYHO9+8Z1Z6DkL
n6lsCl9zSCsCdzI+CHfplWKOY70NjGeoV0AVUPwSNUHGDB4lHLQbdqlRM+XeRvU22wiGEpE6IQq0
L1Bts5iVm++Qwt634r0VxeTBDnTFG1ZX55ARjEhxewOXFwz1dkRHzxnFw6YDFBUBHfjIGThkugE7
CyVJP9hajlWhv6wRQicAFUu+f9oPrNPV9ev5+x+VIwWjbhVK9q+nu5Yf/pWXO+7YnvT3X7Zt7evT
+rdt275tx7Z+kKH491/u2LZj5e+//J/43pcdGW5vawvyHdpva5g7fZXI72X4qb1hm73aTu0K+Pcm
7UZtDeRXKfXi6dPt0bQzGEe029gh8vH0Bi2atinpqovMJ7cummobwnarlXw83d4dTdV2NJ7O8Fh6
aFU0VdshbTo3i3znnljK8+zriLZr53Ybud3GPdFUa4+mkp6r+L+d3F88jaMfb3cP14unQ1o0ldOc
+rFX+qeMN8HtrnmjyMfTv9KiqRzvbmi3Rnvtn1zeSR4vaR0utEdTyWdbKtbsjm1bKqXNYPv5Rzcf
3blj845taddObw3wwjGQp8AcxeU4hTC5nDRHzmP5s//9Sx8vX7Vq9zu/3/eD/ZM/uPH4qkdHZR9t
XEfj+nKJZf56LeQnTfukdqxtA8Hk3uj5rftveMr8ZnV+xtigJXz/Ef67qgU829YaPp9Q/3cS6m9L
gE8l9PP9BPjRBPguLeQl9XtPwrh/ktDPVEL9f5lQvzth3L9I6OdUQj9vSehnVUI/b0mAfyQBbifA
ywnwjyXAtyTAz2qt4QbUvxK4ccNekZf7/AMA39Si/ijX12P1NdhvRyzHwx3WpxXy06MFfLs1jxfi
zvToIBzrzGkMttAKhfmqXSvQIaZQEFVbVoTuhmwMWtxneveMjgyZbjECGwNzDAGDdg3sSW+8btaU
LHTkRvuYmckPwSEQbO8IeMoDszmE5Ax31KgZ82ZpCk6w+Sr8CgvxvKmMMQJIZyoVUeaG1UZs+7Bf
H2goIwJ5ikibHZp51PI0OOe5QAkgQvFwoVg+XJiD44vmmBisX9Rcr2TVNHqxNwcZx7MPIwzOh1qV
a5geem1m/TltXvyE3opHjcIc3mFb7zGxWbFaByiOzNRG3DQ8jGn7RvIDg4Wt6W3Br63p7Rr83J+f
nC70pXel+29XsjthTcNcf7pfyfWlb480RPnaDnJvFfy3Gv5dpQm5uoZg+GutplEu/L9OTlFOtmt6
m5CraD9eY1lXoJT+LMP8663LsI8vsqBvgzL8KQXnj4qH1yNXflX28YXnwdJeq32b8/1/i/k12jOc
v/2/YH6Vdo7zW/8G8+3aq9x/oG+4/1NXi3RDDH6M4Z2xfSHzT79NpKgDLlP202kF3q3AlxT4GxT4
OQV+pQK/oMBfr8DlvkY9d70C1xX4DQq8j/vBNWpT4DsVuKrf9irwDgWeU+CqvTehwFcr8HsUuGon
HFLgaxV4WYF3KvC6AlePWEcV+OUK/JgCX6fAf1+BX6HAH1Dg6xX4xxS4qsQ/ocBV+fsZBX61An9Q
gV+jwB9S4Ncq8FMK/HUK/HEFvlGBP6nAr9NWvpVv5fvn/P3j+ht/mTv+k87cidU/3AJi90OnvPbl
J3PHH+18hMqXt/8yrWm/WL7lJUjW30T1y1jwizM/XF5efoDybZR/Ksi3U/7hIN9B+c8F+VWU/2SQ
X035jwT5NZR/f5BfS/l3B/lOyhtB/jLK3x3kuyifCfKXU74/yK+j/BuD/BWUvzLId1O+Lcivp/zP
X5X5DWL+Qf5KMf8gf5WYf5C/Wsw/yF8j5i/zQN17ibpDYj0g/0ebo/mTsfyHYvn7Ynk/lq/G8mYs
f28sPxPLj8by2Vh+Tyy/PZbfHMvfEsv/Vix/bSx/RSy/OpZ/JRXNn1fz/f8zv/jU7+YWn8kdf/bc
xPTIydVvBo7Inbzis12Y7HkY+fzaf4Amzz0A2RdTCF39C0x2XfCuha3xNymxNS5bPr3+pmPI/o9w
CvW/TvW3fwWT3ldzi+dyD//0bbmHL3Tk2r6We+pV7xrooModdC6fniO8ZHvE79ieP4Vizb9tJnd8
zyT+zC3+2FuXO7FnDjJL/+2V5eWlEjDj11b7kG+7F9pG2p9ZgEL8MQPtYDPvLeVOrLqlh/rJXug/
BePfguMvPrb0H4DnvoztljrgV25xdQoLuPxDp/zXPUSFS7CDH0Iuhya/AxUF9AxAH8s+d1mXruUe
yy7R9B/LPsnp05g+ln2CsieufeQ2pMro07mT2Sdzi9/EwT8BE8mdgOzJmedyi99B0B4ELWZP547f
d1pb/6H3U1ts8NjS51+R4w7CuGd2wT8nsk8cP9W2eCp38pqvimGyS9zRt1+mjpagoyXN7/oyiqSl
cdEmUr3tK5Cczi22H88+0QbIASZfExT53MsKLv4fHr/vifaFNfCv5r9B4nRjgBOeJ878uzbu9AQy
wPDlgsa7oBKQ8jog6zffIkDfeVmSfZ2gATfZyE3WiCY3w2ht/noxwlMgFc/gUUZkfxsHvDIy4A+6
ROvHX25u/QWQoWee0WRrtMXP/J2mtv5Lbv0HovVmnK+/kcqPn+rEOlBoIOn/bdDNF+GfM/dHuqly
N4Oim1upm2tj3XwLujl7QPThwz9n7wo72MEdtF+sg0+BCjnLzLkNO+gSv3sUhnn/S0BaXP71H7xX
UhnA7wLwmZFXlB1ycs8waIylh6HggXsfUcDrEfwXTeBOBP9hDHz8JxsW73sZSruw1IfSE9mXYbjb
XoqM9DLoqqUDTV2uxkZ7m7vMLd53IbfonwPe+Tc9OLWZC8zgj/wSpzRzDjgXJnlO89c+hDx+djUR
4utqLzr0srToP3v8vmfb/HUgyr4LSJz5KFQDSDtBnkLIBwSkw78MII8C5KwL2VWU/c+YLUF2tb8L
Kfm3tIFwfoDHYvbl4/e93EYVP4kVd0NWo+zHMJsinM7eAs3XEPTDCH0dZNdS9n2YXQs/PtAZQ70P
UH86Lr5OzgCrZJ9mQnzjVeITQzDAR14NV/r0BdrA54g+3vUABmp9Dah9Q6dk4D0vLi+fXSdF2xal
8Y+w8ck9z4OtsfRprMUctg+1NFS6UMrdLrDyVi/9MVSO4L0X8H68Ge+noeHjjPe1hPf6Dz0U7Kb/
Ckz5ZbRllt78ohA9IrfxRZZlOOkTOHn/9Bcl/b/7AtL/28fv+7bmb0VRdmID1hNjvPAKUyCY+hvX
ytEGLuDUAfR6nOKjF2jqT2OrpRfo92n8/dYLIUn6BEl+BKJk6aMXQpJse6UFSY6/ECNJwlKeVpay
/RVBkq8FJPnKywKVgN3e+oK6pu+hiZ3cvn+NKH31eVXq7xPTfmxpQZnQ5fD7rCOmhATZsEaO1Y+1
Tm7vAoCQzQ9GentC9tb7gsozL70U9v3Z54lAXwFJveS+EBLoajGLCH2Kz8fp06yl/+xm0plL/0nM
npTmbbTep1EnNUAPrf4XN4upH4f+JE7zL0m19AH49eVb8Nfficmceyz7PdqMJSTBiZnv5Yrfyj38
DNgmT6JoJYFCa3H18zgOygyNtADzzw9XSXK1Py84o6kPaPzn55eXj2e/13Yi+73d2dPv/agk3U/P
h9z0zHki1h9Bh0vDz7fgoMz5GIX0Zgrd96ZmCl0WYk4UOvgmQSHjfEih7C8lhQ7Br8eyp4kmVTGf
003z+ePnEiTJtzokOf7xOZUrfvyiJE5zZ4vPIXFOA3FO784++94TkiBPPUcE+SB0ubT9fAuC9D2H
BJlLr7/pgzgkGLR7yd7LHBg5ueeumzQtsz+/+J3MTH7xfGY6s/jyTO7k5rcCeGqk9xU80y3d9AsY
4eFXOryb+r/L9uLI4i9GFn86tPg/MsvX/CB3/JG23K7v+/+A57133Jt5Z+bezO9mCo/MhWPieI9o
yjkxOBmufP8/fG0Rb2zU94jfm/QxW+frCsuuQZ4zZonLB4ySPolv9VyP8sOGh38uxnFsh/Kj4u/p
ZCbySrVo/1XDK1JMU4muP8QVR8VyxT8FDOPBa4rwh0t3LvjraLWi8Z+i1KxSxdTq+OcqS5pb9j18
1rG5ZC/UNNc4AjB7bk4rOgbGcWr1quu79DcBYR633eJ2adnxYe028vm2vaFj92c04T9d97PlZRSg
lXPLy3hX915Ib4D0iZ8vLz8K8C/AFsO7z7+HDTwBKUq8OqSrUcJBegOkD0KagfQJSO+B9CeQ2pCu
A9J/AdIUpHUQ8yOQ9oCerUC6GwTK/ZC+A8TVX0F6Hwj2JyD9OKiWn0CK54htHaGPt+09k1rb0Q1t
b1i3thPHRTj55QHPLZgOraWlBe2hoQHd89Pl5UNoQHZvGO7e+Pb1ly90HtPedv2db7n9Zrq2w/bv
hP8OwfxVnkA4LuA9PxPzlR/6iPFg0IDxNqG/J9u94cPtg1esYTyQnu8DeUZ3C7JsDJDl8sfhvyMX
KcfTZjWhHMfuBFxKUH6L1jz2zW3JbbF8iNsmlZeg/B1QPqyW3xeWfxDK3w/lX1LL2z9PFbD8U8gH
51kBBeWfDcofhfK/hvKr25Tyjq42rIDlzwL808AneqT89UH5KuCHTwP/bIqUXxeU3wzl/x746spI
eSeVY1zHEJR/BviNwpuGuzf86/Z898Z/1ZHt1k+uynb33L96qLvvw2ty3TuPr93XvbfWvTPT3Zfp
7hno1ge6Nw50bxjo7iS5gfz6JPSj3susfCvfyrfyrXwr38q38v2/+sm4HBmHo8Ybq6nOP4JYDzaO
ZYxHz40ilbERMv5HxuDIWBMZSyPjgG6IlZ9/dZlC8j/BQTHSpvp9Dm6RMS5PcrmMVVnHxzkZoyJj
N9SYD/xkrM1GjueQp8ALPD95rpAxMzImaKIrCj90WRTvc5zKGCU5PpMlqAfHGZpfG4Ne5fyTXGGZ
8xKvc5z/KJe/yHk1ZujX+QXx1rGvj9d7L6cTnB7itM7pMU4f4PQTnD7I6SlOn+T0NKfn5GGLg7M2
cKpz2sfpXk4nOD3EaV0N6voVPhlntm9w8E69Z2bWr3m+viu9Ld23ud+nXP/vbe1L921L9/cK+KX7
7IDV3dhigTpgVXe2hHcEcedR+CrtvS3hq4P9EYWvCfZFFL422D9ReGfAV1H4ZQE/RuFdAd9H4ZcH
+yMKX9fsWCH4FZreEt6tHWuxjh3aeu2BlvANwXuNKPzKQB5F4Ve1DEbu0K4O4vCj8Gu0Uy3h1wby
LQp/XSDXovDXt9xXHSAlpByKwq8LH5JE4GG8cRT+hiaYeL/x8+U4HOV3O9Btw9VReDfD98bgb2T4
sRj8Dhrjeq1nbzgefsP0u5kOVe7nVKyfBtVvpufHEvBPmtenqOwa7Z03x0ta1/881W+m/+MEb16v
p+jfa5vm9QzD4/jf3o7zbeb/8/RvM7/dswrjHDdoX2f6bOJ93Nkm4DYv8SYm9HUJ8ep3cv2PsGK9
kuvflVD/6Q5RX+6jLQw/lFDfwfrtzfvrGI9bYYUp9eb9DP86A77E8D9N6P9zCXB8N4GvP3bujcK/
QXH1MIIu8jJm9u953HE2OKT98kxC3P7zXH8mhv+r3P9e7l/GGq9pb41nb7vo58HfEnn5dG5XQv39
CXCP+/kgGxIPMfzbHSjCmuXDMah/Zft1gT6T38n21u8vPs39v5UNtquZPn+dgM/XE+A/axf0kYNI
+r+aUP+qDoFnXI7d2CHWpY/hcl3e1CH67+P+pf25uaN1/yMdredbZj7XmW+lXXk0oZ8/6Gj9juPP
E+rjBdmGFuvygw7Bt/H5nmV82mP89gLD+xhwC8MvW9V6Xj1Mn0NcKO3djasE/FgMrq9qjf9dqwT+
cTwnWS4dZ3yGGX5vQj82j6vzuFL8HU2of38C/FM87nUx+nyO4WdfF4U/lNDPEwnwswnwVxLgb14t
5jWhi7yUA6nVCe96io7nev7cXLqohQ96Cl61UMSXOviIpWQX5iv2rFEplPB/3bZg+Ec1+T+oUErv
7NvR37oSvlWxCvjXKhoFs+Y5DW3OMapmoeRXqw1oouQK+L+ZEKkavHsGvAqF4cnMaLaQHRvCB0X7
RsYHMiOF8eHhqex0YRr/ihFAhw6OZUbzg1A50lcpCqB3MgDaNzZTyOa439zQJI5Hd1lGpVLwfavU
/IRo797oKxi1BV188euevXvVJzfxB01qL/iypu4UanaBLtjCm7OCKx4ViadB0Q7jj4rC0m1atsCd
I3Ly9k08LIp2AqPO23ZJG8gMFSazd7d6ihVHlB8aFV2f6Bl9MxWvHH21FS9l5IhowDmuXSgbNbwb
TH4rxk2Ce0V8EZVM6PBdljo0Pmsq5McL9PqqQLeQ4glWnMAwMvNaESahDY6PjRX2jY8PxV+fNZHo
oq/iAvLhtqBXWvFx1fddCZNr8XpNxQLfcQFFDc8IOH3Wdfk3LDrOpzBr4MSBeTzYrUD4Al3nxp7t
jY2PZqYHcxd789ZEWxMHJi5W7omjEyFaAtfx87VoYfjorYlbCXFiWcjgBKot9lrTW7hYN77nNpG1
5Uu/6Fbvv10bzkxnRsSzvWgPWtptVD1jFlLYq5SW5S/6CxV1LV2zPTM9X/PT8q8yK6BZ36qUNoO4
EaDMQH6zZ8xrVFY23LKWLjVqMIRIPUeU8N97iWQKUOaYFQMr8q96xUMsYHHxZ3re5h+uWdTSnnkU
ssSLacemlUubZRbK5ZIT5kQfQoCKFvI3DGVULehMNAdW09L0Pz1Ui8QQ/O98eJxAk0/6mZL+DoH8
2mL5N2nRN21J7+DlF3cn7Ii1j7+/jx/j4n/7IB9rL/0k700YP97+APz3/PKyLdtLf4pMpZtHuk3i
+Bua8DXK9tLvItOHuEC+B5TtpV/Q0qJv3qV/RqbSnym/OP3frQlfoawm/TgyvTOGf+zPJ2i/pwnf
Y4B/ZzR9QAvxb9ea539SEzSV7aVfSKbSHxqnn5z/n3D7Ac5L/5FMpT92DbeJt/+kpv5tAK3p71rE
PSLx9f94rL30R8n0UIzg8T+f8elYe+m3kmncvRVv/2CsvfRvyXTiEuN/MdZent9lmlUfa7bA58ux
9vI8L9MrYvXj9PuqFpUfwYbj9KoE/OX3jVj7pL+HkTT+d2PtpZ9Opp+I7Z84//5YEza8dJcG75U3
t67fGUt/rol3rMGfMeH2G15j+1c0QfvgPkL+vRNurynyQ20n6fiXmph//D5jIztwli4x/pq2aPvg
3NoXHSfeXn7r+AIjmD+338Dte2L14/1dyePH3emy/W0xeKt7qdgS07eX2+ssR9ANk9aa5cdlCu7q
d4gF59tiwTxx+XtlQvs/43W4PtYg3n7lW/lWvpVv5Vv5Vr6Vb+Vb+Va+lW/lW/lWvt/8978Ay3hd
FACgAAA=
'
#-----------------#

File diff suppressed because it is too large Load Diff

View File

@ -1670,8 +1670,13 @@ read -ra spice < <(get_spice "$1") ||
if (( OPT[SPICY] )); then
command -v spicy &> /dev/null ||
{ echo "Cannot find command spicy" >&2; exit "$E_extcom"; }
nohup spicy --title "${OPT[TEMPLATE]}#$1" -h "${spice[0]}" \
-p "${spice[1]}" &>/dev/null &
if ((${#spice[@]} > 1)); then
nohup spicy --title "${OPT[TEMPLATE]}#$1" -h "${spice[0]}" \
-p "${spice[1]}" &>/dev/null &
else
nohup spicy --title "${OPT[TEMPLATE]}#$1" \
--uri="$spice" &>/dev/null &
fi
else
command -v virt-viewer &> /dev/null ||
{ echo "Cannot find command virt-viewer" >&2; exit "$E_extcom"; }
@ -1899,8 +1904,13 @@ time="$(date +%s)"
uuid="${CL_MAP["$1"]}"
until (( OPT[S_TIMEOUT] <= $(date +%s)-time )) ; do
spice="$(virsh domdisplay --type spice "$uuid" 2>&1)"
[[ "$spice" =~ ^'spice://'(.+):(.+)$ ]] || continue
echo "${BASH_REMATCH[1]} ${BASH_REMATCH[2]}";
if [[ "$spice" =~ ^'spice://'(.+):(.+)$ ]]; then
echo "${BASH_REMATCH[1]} ${BASH_REMATCH[2]}"
elif [[ "$spice" =~ ^'spice+unix' ]]; then
echo "$spice"
else
continue
fi
return 0;
done
return 1