У нас есть несколько тонких клиентов HP типа t5545. Перенаправляем USB-Media на сервер терминалов. Поскольку t5545 запускает debian, настроенный с помощью hp, мы можем трактовать его как debian.

Сначала я объясню, как настроено перенаправление usb:

  • автоматически смонтировать его в /tmp /tmpfs /media
  • /tmp /tmpfs /media перенаправляется как диск "Z" через rdesktop-параметр -r disk:sharename = путь
  • в случае удаления usb-носителя udev запустит скрипт для размонтирования -l устройства и удаления точки монтирования

Окружающая среда:

  • Тонкие клиенты запускают linux: root @ mac-addr:/tmp/tmpfs/media # uname -a
    Linux mac-addr 2.6.26-2-686 1 SMP ср. 4 ноября 20:45:37 UTC 2009 i686 GNU/Linux
  • Terminalserver работает под управлением Windows Server 2008 R2

Проблема: когда пользователи пишут на usb-носители, они пишутся мгновенно. Но на самом деле для записи файла требуется несколько секунд, даже если он имеет всего несколько килобайт. Server 2008 R2 не показывает никаких подсказок по этому поводу. Если пользователь удаляет свой usb-носитель сразу после записи на usb-носитель, файл не будет на его usb-носителе.

Вопрос: Могу ли я что-нибудь сделать, чтобы проинформировать пользователя о ходе записи? Если возможно, это не должен быть сторонний инструмент, который должен быть установлен на thinclient, потому что там очень мало места.

Изменить: нет идей? Решение не должно быть похоже на Windows-7, известное, кроме удаления USB-носителя. Было бы хорошо, если бы было даже уведомление, если процесс записи продолжается или готов.

Обновить:
Решений пока нет! Еще есть шанс получить 150 очков репутации!

Мне нужен один из этих 2 пунктов:
- способ информировать пользователя, когда процесс записи завершен, или ...
- скрипт / небольшое приложение без каких-либо зависимостей (потому что флеш-диск почти заполнен), позволяющий сохранить удаление usb-носителя

Редактировать:
Я действительно хотел бы отдать эту награду. Поторопись ;)

4 ответа4

1

Смонтируйте ваш локальный материал (/tmp/tmpfs/ * в вашем случае) с опцией sync .

1

Проблема не в RDESKTOP и не в Windows. Это связано с тем, как Linux (и другие ОС) работают со съемными носителями. Предполагается, что они будут удалены безопасно, а затем отключены, чтобы убедиться, что только что записанные данные были синхронизированы.

Что вы можете сделать, так это сообщить вашей системе, чтобы они чаще выполняли эти "синхронизации".

Вы можете написать демон C, который сделает это за вас. Или вы можете покопаться в настройках модуля ядра и указать не использовать write-cache.

0

Это хитрый. Если я правильно понял, вы хотите, чтобы пользователь подождал несколько секунд, прежде чем извлекать USB-накопитель, который отображается в виде папки внутри сеанса удаленного рабочего стола. Моя единственная идея для решения этой проблемы заключается в том, чтобы использовать эту утилиту, которая увидит, что папка (точка монтирования) получила новые данные, а затем может запустить скрипт для запуска диалогового окна (я бы использовал autohotkey), которое предупредит пользователя " Вы недавно вставили USB-устройство, подождите 20 секунд после последнего сохранения данных на USB, прежде чем извлекать его. В противном случае ваши данные могут не сохраниться должным образом. "Имейте монитор Z:\, чтобы видеть, создана ли папка.

Или вы пробовали freerdp? Это может не содержать задержку, которую вы упоминаете.

0

Вы можете использовать fuser чтобы увидеть, какой pid использует точку монтирования.

/media/sdc1 работает? fuser -vm /media/sdc1 покажет пользователя, pid, доступ и команду. Вам понадобится какой-нибудь скрипт, чтобы сделать трюк. Проверьте, активирован ли F- доступ (открыть файл для записи).

Например, проверка, если кто-то использует sr0:

$ fuser -m /dev /sr0 -v

КОМАНДА ДОСТУПА ДЛЯ PID ПОЛЬЗОВАТЕЛЯ /dev /sr0:
DVD 17298 F .... xfburn

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .