Как это работает

Ответить

Смайлики
:D :) :( :o :shock: :? 8) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ОТКЛЮЧЕН
Смайлики ВКЛЮЧЕНЫ

Обзор темы
   

Развернуть Обзор темы: Как это работает

Re: Как это работает

aka » Пн май 19, 2025 3:00 pm

phoenix писал(а): Пн май 19, 2025 10:46 am Я пытался и прописывать конкретное устройство(27dd:0002), и оставлять как сейчас - ни одно устройство не передаётся на сервак. И в клиенте VHUI64.exe тоже не видится. Я явно что не сделал но что?
Не вижу проблем в логе втвари.

Что значит "устройство не передаётся"? Что значит "не видится"? Лучше с картинками.

Выше в первом посте один абзац выделен красным. Его надо прочитать, понять, выполнить и написать, что получилось.

Re: Как это работает

phoenix » Пн май 19, 2025 10:46 am

Можете мне объяснить как будто я пятилетний ребенок или начальник отдела продаж.

у меня есть ТК (тонкий клиент) с таким конфигом.
video=VESA(F)
bpp=16
display=1280x1024, 75 Hz
serial=
user=blabla.com\ivan
vhusb=on
connection term2

у него на вкладке USB устройств есть 2 устройства.
Я пытался и прописывать конкретное устройство(27dd:0002), и оставлять как сейчас - ни одно устройство не передаётся на сервак. И в клиенте VHUI64.exe тоже не видится. Я явно что не сделал но что?

в логах видно такое


[ gm] [ 10.173598] [TFTP] Download config file Terminals/00.1F.D0.6D.1E.49/vhusbdi386 from 192.168.10.2.
[ gm] [ 10.174541] [TFTP] Error code 1: File not found..
[ gm] [ 10.174570] [TFTP] Download config file Everyone/vhusbdi386 from 192.168.10.2.
/--- FILE "/vh/config.ini" -----------------------
| ServerName=wtw001FD06D1E49
| Hostname=wtw001FD06D1E49
| UseAVAHI=0
\----------------------------------------------------
[ gm] [ 10.390713] Run '/vh/vhusbdi386 -b -c /vh/config.ini -r /tmp/vh.out', log '', env '', pid ''.
[ pfac] [ 10.390751] Run /vh/vhusbdi386 -b -c /vh/config.ini -r /tmp/vh.out.
[ pfac] [ 10.390848] Ok, PID 323.
[ gm] [ 10.397232] Nobody can control terminal by VNC.
[ gm] [ 10.397307] Everyone can control terminal by WTRC.
[ gm] [ 10.397363] [WTRC] Remote control with Setup/HTTPS password.
[ gm] [ 10.400616] [WTRC] Listener at TCP port 789.
[ gm] [ 10.405811] Free ram before fork terminal client /sbin/rdpclient-SSE (session 1): 983928 Kb.
[ gm] [ 10.405909] Run '/sbin/rdpclient-SSE 1', log '/tmp/rdpclient.out', env '', pid ''.
[ pfac] [ 10.406067] Run /sbin/rdpclient-SSE 1.
[ pfac] [ 10.406090] Ok, PID 327.
[ rdpclient 327] [ 10.408887] RDP Terminal Client, WTware 6.2.52, pipe 1, pid 327.
[ rdpclient 327] [ 10.409046] Use /usr/lib/ui16-SSE.so.
[ rdpclient 327] [ 10.412882] Make RDP session with 192.168.10.9, port 3389.
[ rdpclient 327] [ 10.412919] Username: "ivanenko".
[ rdpclient 327] [ 10.412942] No password.
[ rdpclient 327] [ 10.412965] No PIN.
[ rdpclient 327] [ 10.412988] Domain: "vladcosmetic.com".
[ rdpclient 327] [ 10.413011] No shell.
[ rdpclient 327] [ 10.413034] No directory.
[ rdpclient 327] [ 10.413057] Window: 1216x1024@16.
[ rdpclient 327] [ 10.413080] PFlags 0x0000002F.
[ rdpclient 327] [ 10.413104] Keyboard 00000409:00000000.
[ rdpclient 327] [ 10.413127] My hostname "wtw001FD06D1E49".
[ rdpclient 327] [ 10.413151] TCP: connecting to 192.168.10.9:3389 (default timeouts).
[ rdpclient 327] [ 10.414891] [TCP] Connection with 192.168.10.9 established.
[ rdpclient 327] [ 10.414916] [TCP] Turn keepalive on.
[ rdpclient 327] [ 10.415168] Free ram after buffers allocation: 982976 KB.
[ rdpclient 327] [ 10.425268] Reconnect with TLS/SSL enabled.
[ rdpclient 327] [ 10.425311] TCP: reconnecting to 192.168.10.9:3389.
[ rdpclient 327] [ 10.425557] [TCP] Connection with 192.168.10.9 established.
[ rdpclient 327] [ 10.425581] [TCP] Turn keepalive on.
[ rdpclient 327] [ 10.433768] Server supports GFX Pipeline.
[ rdpclient 327] [ 10.433796] TLS.
[ rdpclient 327] [ 10.433820] SSL/TLS.
[ rdpclient 327] [ 10.442089] TLSv1.2.
[ rdpclient 327] [ 10.443942] RDP 10.9 server.
[ rdpclient 327] [ 10.446030] Enable font smoothing and Desktop Composition.
[ rdpclient 327] [ 10.448924] RDP5 encryption (X.509) in certificate chain.
[ rdpclient 327] [ 10.450223] Microsoft License: STATUS_VALID_CLIENT.
[ VirtualHere] [ 10.451532] Mon May 19 06:00:08 2025 LOG_INFO >>> Starting VirtualHere USB Server v4.7.8 (Built: May 12 2025, 11:49:27)<<<
[ VirtualHere] [ 10.451549] Mon May 19 06:00:08 2025 LOG_INFO Using configuration /vh/config.ini
[ pfac] [ 10.451774] Process pid 323 terminated, status 00000000.
[ VirtualHere] [ 10.479286] Mon May 19 06:00:08 2025 LOG_INFO Server licensed to=unlicensed max_devices=1
[ VirtualHere] [ 10.479800] Mon May 19 06:00:08 2025 LOG_INFO Listening on all network interfaces at TCP port 7575
[ VirtualHere] [ 10.480494] Mon May 19 06:00:08 2025 LOG_INFO Found Low speed device [046d:c077] "Logitech, USB Optical Mouse" at address 42
[ VirtualHere] [ 10.481054] Mon May 19 06:00:08 2025 LOG_INFO Found Full speed device [27dd:0002] "2D BarCode Scanner, 2D BarCode Scanner" at address 21
[ rdpclient 327] [ 10.519803] [h264] Disabled in 16 bit per pixel.
[ rdpclient 327] [ 10.519845] [GFX] Graphic channel.
[ rdpclient 327] [ 10.620931] GFX decoder thread.
[ rdpclient 327] [ 10.621094] RDPGFX version 10.4, flags 0x00000022.
[ rdpclient 327] [ 10.625540] Reset graphics output buffer 1216x1024, 1 monitors.
[ rdpclient 327] [ 10.625578] Monitor 0: 0.0-1215.1023 primary.
[ gm] [ 11.954561] [WTRC] Connection from 192.168.10.2.
[ gm] [ 11.955192] [WTRC] SSL_accept() failed, ret -1, error code 5.
[ gm] [ 23.559504] [WTRC] Connection from 192.168.10.2.
[ gm] [ 23.587619] [WTRC] Control password accepted.
[ gm] [ 23.588349] [WTRC] Zoom 75%, 2 bytes per pixel.
[ rdpclient 327] [ 34.922093] Run 2 tile threads.
[ rdpclient 327] [ 54.267722] LOGON_EX_LOGONERRORS: ErrorNotificationType 0xfffffffe, ErrorNotificationData 0x0000000e.
[ rdpclient 327] [ 55.397452] SessionId 0x0000000e: domain\login.
Send WTCU discover to 192.168.10.2.
[ gm] [ 85.054440] [WTRC] SSL_read() from 192.168.10.2 return 0, errno 0, SSL error code 5.

Для каждого устройства обязательно приписывать конфиг?

Как это работает

aka » Вт мар 26, 2019 12:41 am

Перенаправление USB устройств это сложно! Если вам надо перенаправить USB флешку, напишите в конфигурационном файле:

Код: Выделить всё

disk=usb
USB Web-камера: http://wtware.ru/docs5/config.html#camera

Смарт-карту или USB токен можно перенаправить специальным перенаправлением смарт-карт через RDP. Про перенаправление смарт-карт читайте здесь: https://wtware.ru/docs5/smartcard.html Если ваша карта не работает через перенаправление смарт-карт, можно попытаться перенаправить её через VirtualHere, но только на клиентскую Windows (Windows 7, Windows 10) и работать с ней в консольном сеансе. Никакой Windows Server со службой удаленных рабочих столов не позволит работать со смарткартой, перенаправленной как USB устройство.

Обычный USB принтер проще и надежнее перенаправить через один из методов перенаправления принтеров: https://wtware.ru/docs5/printer.html

USB сканеры штрихкодов: http://wtware.ru/docs5/config.html#serial

USB планшетные сканеры: http://wtware.ru/docs5/config.html#scanner

Перенаправление USB устройств необходимо для:
* МФУ, планшетных сканеров и сканеров штрих-кодов, к которым в WTware нет драйверов,
* принтеров Canon CAPT,
* подключения фотоаппаратов, мобильных телефонов и планшетов,
* технологического оборудования и т.д.

VirtualHere разрешает перенаправлять одно USB устройство с каждого терминала бесплатно. VirtualHere проще и в некоторых случаях лучше, чем встроенное в Windows перенаправление USB через RDP.

Таблетка для нескольких USB устройств.

Внимание! Мы не являемся разработчиками VirtualHere. Мы не знаем, как работает VirtualHere, и не можем проконсультировать по поводу возможных неоднозначностей с перенаправляемыми устройствами. Не всякое USB устройство можно перенаправить по сети. Перед тем, как перенаправлять USB устройства с терминалов WTware, научитесь перенаправлять с помощью VirtualHere нужное USB устройство на ваш терминальный сервер с другого компьютера с Windows.

1. Лицензия VirtualHere не разрешает нам встроить их сервер в дистрибутив WTware. Вам придется самостоятельно скачать его с сайта разработчиков. На странице "Linux USB Server" скачайте "Generic VirtualHere USB Server Builds" для нужной архитектуры. WTware работает на четырёх архитектурах: i386, AMD64, ARM, ARM64.

Raspberry Pi 2 и 3 это архитектура ARM. Надо скачать VirtualHere USB Server for Linux (ARM), файл vhusbdarm.

Raspberry Pi 4 и 5 это архитектура ARM64. Надо скачать VirtualHere USB Server for Linux (ARM64), файл vhusbdarm64.

Обычный x86-совместимый компьютер может быть i386 или AMD64. Загрузите WTware на нужном терминале, опустите мышь в правый нижний угол и посмотрите на появившееся окошко. Если возле версии WTware есть слово UEFI, значит это 64-битная WTware, и надо качать VirtualHere USB Server for Linux (AMD64), файл vhusbdx86_64.

Если возле логотипа и версии WTware нет слова UEFI, значит на компьютере работает WTware для i386 архитектуры. Надо качать VirtualHere USB Server for Linux (i386), файл vhusbdi386.

2. Надо сделать так, чтобы терминал WTware получил скачанный файл. Если терминал загружается по сети или загружается с локального диска, но скачивает свои конфигурационные файлы по сети, надо сохранить скачанный файл в каталог Everyone в корне TFTP сервера. Обычно это находится здесь:

Код: Выделить всё

C:\Program Files (x86)\WTware\TFTPDROOT\Everyone
Если терминал WTware загружается со своего локального диска и хранит конфигурацию на своём локальном диске, надо зайти на веб-интерфейс терминала и записать скачанный файл в каталог configs.

3. В конфигурационном файле терминала надо написать:

Код: Выделить всё

vhusb = on
Это всё. Теперь терминал при загрузке скачает с TFTP/HTTP или со своего локального диска файл с VirtualHere и запустит его. На терминальном сервере Windows запустите VirtualHere и укажите IP терминала. Должен появиться список всех USB устройств терминала, которые можно перенаправить.

Дополнительные настройки

Можно указать VirtualHere перенаправлять определённое USB устройство:

Код: Выделить всё

vhusb = 1234:ABCD
USB ID всех подключенных к терминалу устройств можно посмотреть на веб-интерфейсе терминала в разделе USB bus.

Широковещательные объявления, чтобы не вводить IP терминала:

Код: Выделить всё

vhusb = UseAVAHI
Лицензия VirtualHere нужна чтобы перенаправлять больше одного устройства:

Код: Выделить всё

vhusb_license = 1234050617ea4984,0,CMICDwCbZ6kF1QLfgUwRe/EGQQIPAKnVhp2ED1dcd8CCKXVl
vhusb = 1234:ABCD,1111:2222
Полностью свой config.ini

У VirtualHere есть много других параметров, которые WTware не обрабатывает: https://www.virtualhere.com/configuration_faq Чтобы их использовать, надо создавать свой конфигурационный файл для VirtualHere и в конфигурационном файле WTware указать имя конфигурационного файла VirtualHere:

Код: Выделить всё

vhusb = config:thinclient12vh.ini
Ваш файл (в примере его имя thinclient12vh.ini) надо записать туда же, куда вы в первом пункте записали бинарный исполнимый файл сервера VirtualHere.

WTware загрузит ваш thinclient12vh.ini, переименует его в config.ini и запустит сервер VirtualHere с вашим конфигом.

Вернуться к началу