Курощение nomachine клиента - за шаг до ... ((1С, wine@Etersoft, freenx, NXClient for Windows))
Модераторы: dimbor, Модераторы разделов
Re: Курощение nomachine клиента - за шаг до ...
Я на Ubuntu 8.04 Hardy 2.6.24 там вообще freenx в офф.репах нет, но у друзей "буржуев" есть, вот ссылки:
http://www.datakeylive.com/ubuntu не смотри, что там ubuntu, там исходники, причем афтар их периодически обновляет. По началу deb'ов небыло нормальных сам, собирал, сейчас из репа ставлю...
Альт мне не нравиться, слишком много лишнего руками править надо, а здесь быстренько поставил и экспериментируй
p.s.
USER_X_STARTUP_SCRIPT Слона, то я и незаметил...
p.s.s.
одно нравиться обсуждение freenx появилось ;-) Долго ждал...
НАРОД !!! Подключайтесь ведь многое еще не решено!!!
http://www.datakeylive.com/ubuntu не смотри, что там ubuntu, там исходники, причем афтар их периодически обновляет. По началу deb'ов небыло нормальных сам, собирал, сейчас из репа ставлю...
Альт мне не нравиться, слишком много лишнего руками править надо, а здесь быстренько поставил и экспериментируй
p.s.
USER_X_STARTUP_SCRIPT Слона, то я и незаметил...
p.s.s.
одно нравиться обсуждение freenx появилось ;-) Долго ждал...
НАРОД !!! Подключайтесь ведь многое еще не решено!!!
Re: Курощение nomachine клиента - за шаг до ...
У меня freeNX 0.7.0-21 на OpenSUSE10.3 + 1c7.7 файловая на1.08 Wine@Etersoft
Сегодня ставил экстперименты с буфером. Похоже кодироку русских символов при передаче "сервер-клиент"портит именно сервер. Если у dimbor получится с NX-3.2.0 с freeNX тоже проблем не будет. (что поправить и как полнятно, а вот где?) А пока для любителей копировать с терминала ssh PuTTY + Xming. Можно и напрямую с иксами по XDMCP, но там слишком много лишних кнопок доступно у пользователей получается, не секъюрно как то.
Re: Курощение nomachine клиента - за шаг до ...
Ага, точно такой же наборчик, как у меня, за исключением того, что у меня ALS4 на серваке.
Еще б узнать о версии NX и системной локали. А?
Походу, главная заморочка, что на разных операционках - разные глюки. И сравниваем здесь теперь теплое с круглым.
Не трудно сообщить, с моей сборкой клиента али нет?
Если с моей, то очень хотелось бы глянуть на получившийся winlog сессии при этих экспериментах.
В том то и дело, что у меня до этого просто не доходит - Не может вся эта машинерия синхронизировать буфер винды и selections сессии при потере фокуса сессией.
Почему, сейчас выясняю.
С freeNX, собственно, и сейчас особых проблем нет. Допилить потом на досуге данный набор скриптов, для полного удовлетворения. Не горит.
От него не должно зависеть наличие двух основных проблем: буфер (nxagent, Nxwin.exe), иконки (nxproxy==libXComp.so). Потому как там одни сплошные параметры командной строки.
Re: Курощение nomachine клиента - за шаг до ...
UTF-8 клиент 3.2.0-10 под винду. Пробовал различные вариаты, отчет письмом (много букв)
Да, в догонку письму. Под Linux те-же глюки с буфером только в обе стороны. Если в буфере (клиента или сервера - тут без разницы) русский UTF-8 - на противоположной стороне получаем "????" Если непосредственно из 1С (без "освежения" буфера) на противоположной стороне 1251. Если в буфере 1251 в виде "умляютов" в 1с вставляется читаемый текст.
Re: Курощение nomachine клиента - за шаг до ...
> Под Linux те-же глюки с буфером только в обе стороны.
у меня такая схема:
копирование буфера обмена через посредника. решение состоит из серверной части и двух видов клиентских частей.
серверная часть - под каждой NX-сессией стартует типа демон, это баш скрипт который чекает состояние буфера иксов CLIPBOARD (1с в вайне с PRIMARY не работает), если есть изменения, то буфер сливается в файл ~/clipboard как есть с помощью xsel / xclipboard.
одновременно чекаются изменения самого файла ~/clipboard, если есть изменения, файл как есть загоняется в CLIPBOARD.
этот ~/clipboard - симлинк на файл в tmpfs, который в свою очередь создаётся скриптом-стартером 1с-ки приватным для юзера и с уникальным именем.
клиентские части для lin и win разные, но обе написаны на tcl\tk.
обе показывают тривиальное окно с галками "разрешить приём" и "разрешить передачу".
пока окно висит - буфер клиента работает с NX-сессией по русски.
tcl\tk - потому что только его функции корректно вставляли русский текст на последней стадии доставки буфера.
просто утилита xsel, на линукс клиенте, при схеме xsel-файл-доставка-xsel доставляет ровно теже кряки или вопросы.
lin клиент забирает и изменяет файл по scp. при установке клиента настраивается авторизация по ключу через ssh-copy-id. может работать как демон. внутри этого клиента происходит перекодировка utf8-cp1251
win клиент забирает по самбе (самба шарит хомяк каждого юзера как приватную шару \\serv\user.). клиент завёрнут в setup.exe и ставится вместе с клиентом NX.
эта схема корректна только для общения с софтом внутри вайна. с нативными линукс приложениями лишняя перекодировка портит текст. ну и таблицы естественно не копируются.
это пасётся на debian etch ; freenx из RX@Etersoft ; терминальные десктопы на JWM, смешное потребление памяти ; wine@etersoft + 1c 8.1 sql. нативный буфер обмена отключен в node.conf
из проблем есть непонятное отключение клиентов на линиях поверх впн (pptp или openvpn). какието ошибки сжатия, при типе линии ЛАН стабильность возрастает. есть прямая зависимость от машины на которой работает клиент. например подключение по pptp одно, рядом 2 машины, десктоп с тучей винсофта, и почти пустой по софту ноут. десктоп отваливается через 1-200 секунд. ноуту же пофиг.
у меня такая схема:
копирование буфера обмена через посредника. решение состоит из серверной части и двух видов клиентских частей.
серверная часть - под каждой NX-сессией стартует типа демон, это баш скрипт который чекает состояние буфера иксов CLIPBOARD (1с в вайне с PRIMARY не работает), если есть изменения, то буфер сливается в файл ~/clipboard как есть с помощью xsel / xclipboard.
одновременно чекаются изменения самого файла ~/clipboard, если есть изменения, файл как есть загоняется в CLIPBOARD.
этот ~/clipboard - симлинк на файл в tmpfs, который в свою очередь создаётся скриптом-стартером 1с-ки приватным для юзера и с уникальным именем.
клиентские части для lin и win разные, но обе написаны на tcl\tk.
обе показывают тривиальное окно с галками "разрешить приём" и "разрешить передачу".
пока окно висит - буфер клиента работает с NX-сессией по русски.
tcl\tk - потому что только его функции корректно вставляли русский текст на последней стадии доставки буфера.
просто утилита xsel, на линукс клиенте, при схеме xsel-файл-доставка-xsel доставляет ровно теже кряки или вопросы.
lin клиент забирает и изменяет файл по scp. при установке клиента настраивается авторизация по ключу через ssh-copy-id. может работать как демон. внутри этого клиента происходит перекодировка utf8-cp1251
win клиент забирает по самбе (самба шарит хомяк каждого юзера как приватную шару \\serv\user.). клиент завёрнут в setup.exe и ставится вместе с клиентом NX.
эта схема корректна только для общения с софтом внутри вайна. с нативными линукс приложениями лишняя перекодировка портит текст. ну и таблицы естественно не копируются.
это пасётся на debian etch ; freenx из RX@Etersoft ; терминальные десктопы на JWM, смешное потребление памяти ; wine@etersoft + 1c 8.1 sql. нативный буфер обмена отключен в node.conf
из проблем есть непонятное отключение клиентов на линиях поверх впн (pptp или openvpn). какието ошибки сжатия, при типе линии ЛАН стабильность возрастает. есть прямая зависимость от машины на которой работает клиент. например подключение по pptp одно, рядом 2 машины, десктоп с тучей винсофта, и почти пустой по софту ноут. десктоп отваливается через 1-200 секунд. ноуту же пофиг.
Re: Курощение nomachine клиента - за шаг до ...
О как интересно!
Но очень не хочется идти по пути умножения сущностей, так-что буду дальше ковыряться с NX и его буфером до победного...
Спасибо за потдтверждение сего факта. Пару-тройку часов исследований мне сэкономили. Как раз собирался выяснять, почему 1с ведет себя не так, как notepad.exe, а правильнее. Т.е. при вставке текста из виндовс-буфера, в 1с кодировка не корежится, в остальном wine - да.
По исходникам NX пока ясно, что если даже починить нативный буфер, таблиц тоже не будет - там одни строки...
Можно увидеть код "супердемона"? В части работы с xsel / xclipboard.
Что-то не хватает NX, чтобы отдать клиенту CLIPBOARD. Мне надо увидеть хоть немножко правильного кода
Re: Курощение nomachine клиента - за шаг до ...
UTiM писал(а): ↑23.05.2008 16:14UTF-8 клиент 3.2.0-10 под винду. Пробовал различные вариаты, отчет письмом (много букв)
Да, в догонку письму. Под Linux те-же глюки с буфером только в обе стороны. Если в буфере (клиента или сервера - тут без разницы) русский UTF-8 - на противоположной стороне получаем "????" Если непосредственно из 1С (без "освежения" буфера) на противоположной стороне 1251. Если в буфере 1251 в виде "умляютов" в 1с вставляется читаемый текст.
Благодарю за описание ситуации. Поскольку сам с собой договорился не умножать сущностей, буду пилить только виндовый клиент и только для 1с
Интересует файлик winlog из каталога сессии клиента D-* при попытке копирования из 1с в буфер и последующей потерей фокуса окном (исправленной сборки).
ЗЫ. Архив бинарников клиента, поправленого на тему заголовков rootless 1с окон и включенными логами клипорды, вышлю интересующимся почтой.
Re: Курощение nomachine клиента - за шаг до ...
все 3 скрипта в понедельник размещу..
сущьности оно конечно. зато работает.
пробовал еще сетевой клиент-сервер. там вся разница, что соеднения идут по tcpip на уникальном порту для кадой сессии. обе части на tcltk. добился полной эмуляции нативного nx-буфера. вместе с глюками . перекодировки и переформатирования не помогли (или не осилил)
косяк возникает в момент вставки буфер на стороне клиента. чтото из ужасов внутреннего формата буфера иксов. есть такая дока - ICCCM (в гугле с полпинка) там весь этот бардак описан. но я туда заглянул краем глаза и чуть не поседел.
сущьности оно конечно. зато работает.
пробовал еще сетевой клиент-сервер. там вся разница, что соеднения идут по tcpip на уникальном порту для кадой сессии. обе части на tcltk. добился полной эмуляции нативного nx-буфера. вместе с глюками . перекодировки и переформатирования не помогли (или не осилил)
косяк возникает в момент вставки буфер на стороне клиента. чтото из ужасов внутреннего формата буфера иксов. есть такая дока - ICCCM (в гугле с полпинка) там весь этот бардак описан. но я туда заглянул краем глаза и чуть не поседел.
Re: Курощение nomachine клиента - за шаг до ...
Ага, почитаю - люблю страшилки на ночь!
Re: Курощение nomachine клиента - за шаг до ...
SirYorik писал(а): ↑24.05.2008 08:23у меня такая схема:
копирование буфера обмена через посредника. решение состоит из серверной части и двух видов клиентских частей.
серверная часть - под каждой NX-сессией стартует типа демон, это баш скрипт который чекает состояние буфера иксов CLIPBOARD (1с в вайне с PRIMARY не работает), если есть изменения, то буфер сливается в файл ~/clipboard как есть с помощью xsel / xclipboard.
А можно сливать не в файл, а обратно в буфер, только в cp1251 ?
Тогда вставка из Линух в Винду (если клиент на Windows) работать будет - проверял.
( типа; xclip -o | iconv -f UTF-8 -t cp1251 | xclip -i ) но там не все гладко - "xclip -о" UTF-8 RU из буфера тоже "портит", поиграться надо с параметрами и пр.
Для 1c под wine кажется (судя по другому виндовому приложению) пройдет просто
Код: Выделить всё
xclip -o -selection "clipboard" | xclip -i
Вообщем надо с запуском 1с запустить скриптик и посмотреть - что будет
Код: Выделить всё
#! /bin/sh
buf=$( xclip -o -selection "clipboard" )
while [ $( ps -U $USER | grep 1cv7.exe -c ) -gt 0 ]; do
nev=$( xclip -o -selection "clipboard" )
if [ buf != nev ]; then
buf=$nev
xclip -o -selection "clipboard" | xclip -i
fi
sleep 1
done
В понедельник попробую.
Re: Курощение nomachine клиента - за шаг до ...
Но все это фигня по сравнению с мировой революцией!!!
Отчет:
1. Читал отцовский пейджер ICCCM, много думал.
2. Порвал два бубна.
3. Починил буфер обмена в NX-клиенте 3.2.0 для rootless 1C!!! В обе стороны. И с кодировкой все нормально. В сервере не трогал ни байта.
4. Заполучил подозрение, что для всех остальных случаев окромя 1С возможно сделал еще хуже. Но это позже, спать хочу.
5. На очереди иконки.
P.S.: SirYorik, спасибо за наводку на ICCCM.
P.P.S.: Как установить нормальную русскую раскладку сессии, кто нибудь знает? Со знаками препинания на привычных местах. Лечится народными средствами, или опять надо пилить?
Отчет:
1. Читал отцовский пейджер ICCCM, много думал.
2. Порвал два бубна.
3. Починил буфер обмена в NX-клиенте 3.2.0 для rootless 1C!!! В обе стороны. И с кодировкой все нормально. В сервере не трогал ни байта.
4. Заполучил подозрение, что для всех остальных случаев окромя 1С возможно сделал еще хуже. Но это позже, спать хочу.
5. На очереди иконки.
P.S.: SirYorik, спасибо за наводку на ICCCM.
P.P.S.: Как установить нормальную русскую раскладку сессии, кто нибудь знает? Со знаками препинания на привычных местах. Лечится народными средствами, или опять надо пилить?
Re: Курощение nomachine клиента - за шаг до ...
крут. респект. это win-клиент или lin-клиент, или оба ?
а на пункт 4, имхо можно смело забить, никто не мешает поставить 2 разных клиента если уж так приспичит шарить линукс-нативные приложения (ооо чтоли?) да еще с работающим буфером.
> Как установить нормальную русскую раскладку сессии, кто нибудь знает? Со знаками препинания на привычных местах.
чтото я недогнал, ты-же сам писал мантру в #27 сообщении? (с ru_winkeys)
а на пункт 4, имхо можно смело забить, никто не мешает поставить 2 разных клиента если уж так приспичит шарить линукс-нативные приложения (ооо чтоли?) да еще с работающим буфером.
> Как установить нормальную русскую раскладку сессии, кто нибудь знает? Со знаками препинания на привычных местах.
чтото я недогнал, ты-же сам писал мантру в #27 сообщении? (с ru_winkeys)
Re: Курощение nomachine клиента - за шаг до ...
"Волшебный" скрипт в сеансе KDE работает!!! Вроде! (В соединении через xterm что-то пока непонятно.... )
Рецепт.
1. Ставим из ближайшего репозитория утилитку xclip (для suse - у пакмана)
2. Создаем в удобном месте скрипт следующего содержания
Код: Выделить всё
#! /bin/sh
#даем стартануть 1С
sleep 5
buf=$( xclip -o -selection "clipboard" )
#проверяем наличие процесса (название - свое)
while [ $( ps -U $USER | grep 1Cv7.exe -c ) -gt 0 ]; do
nev=$( xclip -o -selection "clipboard" )
if [ buf != nev ]; then
buf=$nev
xclip -o -selection "clipboard" | xclip -i
fi
sleep 1
done
3. В команду запуска 1С (или любой другой программы под WINE) дописываем через знак & запуск данного скрипта
Но не все гладко. После тестирования выяснилось
1. Клавиши переключение раскладок должны быть одинаковые.
2. После некот. времени работы скрипт работать перестает - почему - пока неясно...
Re: Курощение nomachine клиента - за шаг до ...
Да уж не настолько и крут, как, хотелось бы (см. ниже), и прошу помощи в тестировании.
Это вин-клиент - микс из установленного 3.2.0-10 от nomachine + пересобранный NXWin.exe на базе исходников nxwin-3.2.0-3 оттуда же.
Что поправить в lin-клиенте, примерно представляю, но у меня дело до него дойдет еще не скоро - как только буду хотеть лазить с домашней машины на работу в 1с.
На практике раскладко хотя русская и языки переключает, но с точкой на месте цифры 7 (привет, "Лексикон"). Плюс ругань в логах клиента/сервера
на тему kbload.
Но я сейчас не об этом. Уже после рапорта о победе над буфером, произошла очень непонятная мистика. Сломалась правильная перекодировка ни пути вин-клипбоард -> окно 1с, которой я так радовался, и которая послужила исходной точкой в моих "исследованиях". Причем не в результате моих исправлений - откатываю клиента, сервера на родные версии - ситуация, увы, не исправляется. Строка "
В чащах юга жил-бы цитрус, да, но фальшивый экземпляр.!?" при вставке в rootless nx-сессию 1с превращается в "A ?auao ?aa aee-au oeodon, aa, ii oaeuoeaue yecaiieyd.!?". Даже не понял, что это за codepage (семибитная что-ли)?.
1c стала вести себя, как остальные wine приложения. А раньше было по другому.
При передаче обратно на поправленой версии теперь все ОК - кодировка не меняется. Это не непосредственные глюки NX. Либо изменилась настройка 1с в wine, либо конфигурация wine, либо настройки X-ов на сервере (пакеты разные ставил, типа xclipboard). А что изменилось , не пойму - момент изменения прощелкал.
Вторые сутки грохаюсь - уже готов создать тему «помогите бедному тупому ламеру».
Исправленая сборка сюда не цепляется - слишком здоровая - готов выслать по запросу, либо брать с depositfiles, slil.ru.
Прошу обращаться, тестить и сообщатьть результаты/идеи.
Умираюпомогитетону!!!
Re: Курощение nomachine клиента - за шаг до ...
Здравствуйте!
Из винды (будь проклят тот день!) пытаюсь подконнектиться на сервер
по NX. Клиент XP sp2, сервер SLES10 sp1. Пишет Can't determine the
location of the X display socket. По наблюдениям сокет создаётся, а потом уничтожается, после того, как пишет Negotiated link parameters.
На сервере ошибка NX Agent exited with status 1. И поясняется:
Info: Agent running with pid '15485'.
Session: Starting session at 'Mon May 26 13:16:26 2008'.
Info: Proxy running in server mode with pid '15485'.
Info: Waiting for connection from '127.0.0.1' on port '4502'.
Info: Accepted connection from '127.0.0.1' with port '57742'.
Info: Connection with remote proxy established.
Error: The remote NX proxy closed the connection.
Error: Failure negotiating the session in stage '7'.
Fatal server error:
Error: Unable to open display 'nx/nx,options=/home/test/.nx/C-terminal-server-502-41F315723AA08AEFD2C9B973353
C96A1/options:502'.
NX> 596 Session startup failed.
NX> 1001 Bye.
С остальных клиентских компов из винды цепляется без проблем. /tmp/.X11-unix удалял. Сервер перезагружал. Всё без толку.
NX-2.1.0 (В SuSE более новых и не собираются включать), FreeNX-0.7.0, nxclient-3.2.0-10. На одной и той же машине (P3-500, 128Mb) под Win2000sp4 отказывалась инициализировать сессию (то есть до коннекта вообще дело не доходило), после установки WinXP sp2 завелась, но в последний раз работала только в пятницу... Сегодня уже --- нет, простите.
Что может быть? Заранее благодарен!
Из винды (будь проклят тот день!) пытаюсь подконнектиться на сервер
по NX. Клиент XP sp2, сервер SLES10 sp1. Пишет Can't determine the
location of the X display socket. По наблюдениям сокет создаётся, а потом уничтожается, после того, как пишет Negotiated link parameters.
На сервере ошибка NX Agent exited with status 1. И поясняется:
Info: Agent running with pid '15485'.
Session: Starting session at 'Mon May 26 13:16:26 2008'.
Info: Proxy running in server mode with pid '15485'.
Info: Waiting for connection from '127.0.0.1' on port '4502'.
Info: Accepted connection from '127.0.0.1' with port '57742'.
Info: Connection with remote proxy established.
Error: The remote NX proxy closed the connection.
Error: Failure negotiating the session in stage '7'.
Fatal server error:
Error: Unable to open display 'nx/nx,options=/home/test/.nx/C-terminal-server-502-41F315723AA08AEFD2C9B973353
C96A1/options:502'.
NX> 596 Session startup failed.
NX> 1001 Bye.
С остальных клиентских компов из винды цепляется без проблем. /tmp/.X11-unix удалял. Сервер перезагружал. Всё без толку.
NX-2.1.0 (В SuSE более новых и не собираются включать), FreeNX-0.7.0, nxclient-3.2.0-10. На одной и той же машине (P3-500, 128Mb) под Win2000sp4 отказывалась инициализировать сессию (то есть до коннекта вообще дело не доходило), после установки WinXP sp2 завелась, но в последний раз работала только в пятницу... Сегодня уже --- нет, простите.
Что может быть? Заранее благодарен!
Re: Курощение nomachine клиента - за шаг до ...
ну в общем вот. выгрузил статейку из нашей базы.
(рекурсия с reschedule, это непонятный блекмаджик tcltk, но работает зараза.)
(рекурсия с reschedule, это непонятный блекмаджик tcltk, но работает зараза.)
- Вложения
-
- nxclip.pdf
- (173 КБ) 139 скачиваний
Re: Курощение nomachine клиента - за шаг до ...
В консоли:
[dim@dimsrv ]$ xclip -o -selection "clipboard" -d dimsrv:1001
Xlib: connection to "dimsrv:1001.0" refused by server
Xlib: No protocol specified
Error: Can't open display: dimsrv:1001
чой-то делаю не так?
Re: Курощение nomachine клиента - за шаг до ...
что-то не нравится ему дисплей с именем машины. Я запускал без этого параметра "по умолчанию" т.е. текущий... У меня так же проходит -d :0.0 если указать имя машины - ругaется.
Код: Выделить всё
tim@tim:~> xclip -o -selection "clipboard" -d tim:0.0
Error: Can't open display: tim:0.0
2. После некот. времени работы скрипт работать перестает - почему - пока неясно...
Теперь ясно.....
Мысль была простая. Если NX неможет переслать UTF-8 RU, но успешно шлет 1251 - воспользоваться этим. Из буферов обмена нас интересуют "primary" и "clipboard", остальные вроде нипричем. При посылке из Виндовс в Linux текст попадает и в "primary" и "clipboard" в 1251. При обратной посылке из 1С, только в "clipboard", "primary" - не работает. Так надо взять его и туда скопировать (благо он уже в 1251), тогда nx его успешно пересылает.
Все вроде работает, до тех пор пока при очередном чтении "clipboard" не "подвисает" xclip - на этом скрипт замирает... (у меня) Происходит это как правило после очередного копирования из Windows в Linux. (в обратную сторону все "ОК"). Почему это происходит, толи чтение попадает на момент перезаписи буфера толи еще почему. (не можеш прочитать - отвали с ошибкой, но виснуть то зачем?) Написал еще один "дурной" скрипт в котором если "primary" изменился (было копирование из винды) чтение "clipboard" откладывается на цикл - (и вообще количество вызовов xclip -o -selection "clipboard" минимально) это уже "рыдания" (впору писать скрипт который будет "килить" подвисший xclip) , вроде работает, но тут начали рваться nx сессии и падать 1С (наверное предыдущий издевательств не выдержало), плюнул, сервак перезагрузил и пошел домой...
Толь ли с версией xclip мне не повезло, толи лыжи не едут.... Как на других операционках?
Re: Курощение nomachine клиента - за шаг до ...
Ну вроде добился стабильной работы скрипта во всех вариантах (KDE и xterm). Не красиво, с костылями, но работает. По сути запускать надо два скрипта. Один синхронизирует буфер, второй "пинает" первый при зависании чтения буфера.
"Синхронизатор"
"Пинатель"
Стартуем оба скрипта одновременно с 1С, дописав сзади команды запуска 1с-ки через &
Ну естественно - правим по вкусу. Я себе потом еще добавил контроль от повторного запуска скриптов в одной сессии, так как народ запускает несколько баз 1С.
"Синхронизатор"
Код: Выделить всё
#! /bin/sh
sleep 5
while [ $(ps -U $USER | grep " 1Cv7.exe" -c ) -gt 0 ]; do
prim=$(xclip -o -selection "primary") && clip=$(xclip -o -selection "clipboard")
if [ "$prim" != "$clip" ]; then
echo $clip | xclip -i -selection "primary"
fi
done
"Пинатель"
Код: Выделить всё
#! /bin/sh
sleep 3
while [ $(ps -U $USER | grep " 1Cv7.exe" -c ) -gt 0 ]; do
pid1=$(ps -U $USER | grep " xclip" | head -n1 | cut -b1-5 )
if [ "$pid1" != "" ]; then
sleep 3
if [ $(ps -U $USER | grep " xclip" | grep "$pid1" -c ) -gt 0 ]; then
kill $pid1
fi
fi
done
Стартуем оба скрипта одновременно с 1С, дописав сзади команды запуска 1с-ки через &
Ну естественно - правим по вкусу. Я себе потом еще добавил контроль от повторного запуска скриптов в одной сессии, так как народ запускает несколько баз 1С.
Re: Курощение nomachine клиента - за шаг до ...
Мои поздравления, пришедшему к финишу первым!
Но мне тоже нужно добежать, хотя б из принципа
И это есть истина!
Я исправил в клиенте, чтобы при потере фокуса окна им запрашивалась у сервера clipboard вместо primary. Результат тот-же, т.е. хороший.
Знаю, что nxagent-у приходит в 1251 и nxagent устанавливает свойство "SELECTION_DATA" окна wine, запущенной на сервере (Х-клиента) . Если перекодировки при этом не происходит, то все ок. Так было раньше. Теперь же по неустановленным причинам, а, главное, неизвестно кем - эта штука перекодируется в utf-8 и так отображаеся. Видимо, с этим связаны отличия в поведении буфера на разных системах. Блин, шеф, что делать?
Re: Курощение nomachine клиента - за шаг до ...
По поводу черных значков в 1с 8.1 поставил nxnode последний, цвета в норме, все ok, но правда он вроде не бесплатный. Удалил с цветами все равно все ok...
p.s.
Магия ;-)
завтра на работе попробую.
компрессия "Модем".
p.s.
Магия ;-)
завтра на работе попробую.
компрессия "Модем".
Re: Курощение nomachine клиента - за шаг до ...
Из моего понимания nxnode, как пастуха для nxagent-a следует, что измениться могла только командная строка запуска nxagent. Если он остался прежний.
Командную строку в студию, плз!
Re: Курощение nomachine клиента - за шаг до ...
чета я недоганяю какую ?
пиши чего смотреть, я еще не разбирался где этот nxagent запускается...
Re: Курощение nomachine клиента - за шаг до ...
В node.conf прописана NX_LOGFILE=/var/log/nxserver.log (у меня)
Желательно, чтобы NX_LOG_LEVEL оттуда-же была повыше (7)
Тогда в nxserver.log можно найти (искать с конца) такие строки:
NX> 105 startsession --rootless="1" --virtualdesktop="0" --application="/home/dim/1c.sh"
--link="lan" --backingstore="1" --encryption="1" --cache="64M" --images="128M" --shmem="1"
--shpix="1" --strict="0" --composite="1" --media="0" --imagecompressionmethod="3" --image
compressionlevel="-1" --render="1" --session="1c" --type="unix-application" --client="winn
t" --kbload=" --kbload=pc102/ru" --keymap=" --keymap=ru" --keyboard="pc102/ru" --aux="1" -
-screeninfo="1400x1020x32+render"
&rootless=1&virtualdesktop=0&application=/home/dim/1c.sh&link=lan&backingstore=1&encryptio
n=1&cache=64M&images=128M&shmem=1&shpix=1&strict=0&composite=1&media=0&imagecompressionmet
hod=3&imagecompressionlevel=-1&render=1&session=1c&type=unix-application&client=winnt&kblo
ad=&kbload=pc102/ru&keymap=&keymap=ru&keyboard=pc102/ru&aux=1&screeninfo=1400x1020x32+rend
er&clientproto=2.1.0&user=dim&userip=192.168.1.1&uniqueid=AC07841525CE582320F76B730D785073
Это параметры nxagent и, как я пол, его ответ.
Re: Курощение nomachine клиента - за шаг до ...
Смысла в log'е мало, т.к. после экспериментов выяснилось, что nxagent просто иногда (часто) выдергивает эти картинки из кэша ;-( Т.ч. при таких экспериментах его надо чистить постоянно...
Re: Курощение nomachine клиента - за шаг до ...
Ну вроде добился стабильной работы скрипта во всех вариантах (KDE и xterm). Не красиво, с костылями, но работает. По сути запускать надо два скрипта. Один синхронизирует буфер, второй "пинает" первый при зависании чтения буфера.
Работать-то работает. Только теперь сервер в конце дня, когда пользователи закрывают сессии начал падать, ругаясь (судя по логам) на ошибку памяти. Толи сессию кто-то криво закрывает, толи скрипты не все нюансы учитывают... С утра естественно ничего не работает -надо перезагружаться. Пришлось пока отключить скрипты, а то пользователи уже "бочку" катят...
Как там дела у dimbor-ра? А то специально ставит себе windows и разбираться с тонкостями компиляции под Cygwin времени нет совсем...
Re: Курощение nomachine клиента - за шаг до ...
Текущее положение:
Копирование (Cut) работает для 1С, других wine программ. Не работает (знаки вопроса) - для линукс программ.
Вставка (Paste) работает для линукс программ, не работает (умлауты) - для wine программ. С 1с мистика разрешилась, перешла в категорию нехорошего бага.
В реквизиты "поле ввода" конфигурации вставка идет нормально. В реквизиты "многострочный текст", в таблицы и в системные поля вставка идет плохо (умлауты)
Ужо не падает.
Это сборка
В данный момент учу английские буквы - читаю про локализацию в X-ах.
ICCCM курит в углу из-за своей простоты по сравнению с этим механизмом .
Копирование (Cut) работает для 1С, других wine программ. Не работает (знаки вопроса) - для линукс программ.
Вставка (Paste) работает для линукс программ, не работает (умлауты) - для wine программ. С 1с мистика разрешилась, перешла в категорию нехорошего бага.
В реквизиты "поле ввода" конфигурации вставка идет нормально. В реквизиты "многострочный текст", в таблицы и в системные поля вставка идет плохо (умлауты)
Ужо не падает.
Это сборка
В данный момент учу английские буквы - читаю про локализацию в X-ах.
ICCCM курит в углу из-за своей простоты по сравнению с этим механизмом .
Re: Курощение nomachine клиента - за шаг до ...
Копирование и вставка в любые wine-прораммы побеждены полностью. В том числе и 1С работает с русским теперь стабильно-хорошо.
Используется исправленная сборка NXClient-а (уже постил в #59).
Сервер пришлось тоже пересобрать. А именно nxagent-3.2.x. В Clipboard.c две строчки меняются местами
Естественно никакого секрета нет - как только возникнет интерес со стороны ментейнеров, да и кого угодно, расскажу.
В связи с этим вопрос к "людям в черном" из Etersoft, которые прочитают этот пост:
Знаю, что существует отдельная сборка nx-сервера от Etersoft. Она 3.1 или 3.2? А интерес к нормальному буферу обмена есть?
По буферу обмена осталась бяка с копированием знаков вопросов из линуксовых программ. По прикидкам nx-клиент не виноват, nxagent не виноват.
X-сервер отдает обоим эти знаки вопроса. Такая же проблема была решена в rdesktop 1.5. Читаю код, курю бамбук. Там архитектура проще - X-сервер всего один.
А у NX их как бы два. Да еще путаница чисто в голове с сервером, который клиент и наоборот.
Используется исправленная сборка NXClient-а (уже постил в #59).
Сервер пришлось тоже пересобрать. А именно nxagent-3.2.x. В Clipboard.c две строчки меняются местами
Естественно никакого секрета нет - как только возникнет интерес со стороны ментейнеров, да и кого угодно, расскажу.
В связи с этим вопрос к "людям в черном" из Etersoft, которые прочитают этот пост:
Знаю, что существует отдельная сборка nx-сервера от Etersoft. Она 3.1 или 3.2? А интерес к нормальному буферу обмена есть?
По буферу обмена осталась бяка с копированием знаков вопросов из линуксовых программ. По прикидкам nx-клиент не виноват, nxagent не виноват.
X-сервер отдает обоим эти знаки вопроса. Такая же проблема была решена в rdesktop 1.5. Читаю код, курю бамбук. Там архитектура проще - X-сервер всего один.
А у NX их как бы два. Да еще путаница чисто в голове с сервером, который клиент и наоборот.
Re: Курощение nomachine клиента - за шаг до ...
Вдогонку:
Поправил также nxagent, чтобы клиент отображал нормальные иконки в 1с во всех режимах (MODEM, ISDN, ...etc). Отображает!
Как известно, 1с выдергивает иконки 16х16 и 16х15 из битмапов (n*16)х16, (n*16)х15. Вот у nxagent-a при включении кэширования и сносило башню - не хотел работать с картинками, которых на экране не видно . Х-серверу(ам) сами они не нужны, а вот их всякческие маски туда должны проходить, как оказалось.
Исправление сделано через известное место, и, скорее всего, эти битмапы теперь не кэшируются на стороне клиента. Но теоретически - это копейки. А практика покажет...
ЗЫ. Стопудово косячу с терминологией в объяснении. (и с пониманием наверно тоже )
Поправил также nxagent, чтобы клиент отображал нормальные иконки в 1с во всех режимах (MODEM, ISDN, ...etc). Отображает!
Как известно, 1с выдергивает иконки 16х16 и 16х15 из битмапов (n*16)х16, (n*16)х15. Вот у nxagent-a при включении кэширования и сносило башню - не хотел работать с картинками, которых на экране не видно . Х-серверу(ам) сами они не нужны, а вот их всякческие маски туда должны проходить, как оказалось.
Исправление сделано через известное место, и, скорее всего, эти битмапы теперь не кэшируются на стороне клиента. Но теоретически - это копейки. А практика покажет...
ЗЫ. Стопудово косячу с терминологией в объяснении. (и с пониманием наверно тоже )