LINUX.ORG.RU

Помощь с правкой кода программы

 


0

1

Добрый день. Работаю в школе. С js дело имел редко. Нужна помощь с устранением бага программы под Linux для интерактивных досок Smart Board. Такие доски и прога довольно широко распространены по российским школам, поэтому поможете очень большому кругу людей, а если сами не сможете, то хоть дайте координаты к кому обратиться. Разработчик вроде как говорил, что устранит проблему, но новых версий под Linux уже несколько лет не выпускает и ничего не меняется.

Проблема заключается в следующем: программа аля powerpoint - может сохранять уроки для последующей работы с детьми. Если файл назван c кириллицей, то открывается пустой файл. Если путь до него содержит кириллицу, то вылазит ошибка, что файл уже используется и прога закрывается. Сохранять в кириллицу он дает. Если переименовать в латиницу, то открывается все правильно. используемая и последняя версия программы - Smart Notebook 11 SP2 on Linux. Файл урока представляет из себя архив *.notebook, внутри xml-файлы и используемые изображения. Файл исходников программы я нашел, поковырял, но не силен настолько, чтоб узнать какая функция отвечает за открытие файлов и где обработчик затыкается. приложенные файлы:
fgf.notebook - пример пустого файла урока;
nb-1.0.0.js -исполняемый файл программы, содержащий функции;
smarttech-notebook.desktop - ярлык для запуска;
в пдф-ке есть инструкция по установке. сам пакет тоже есть.
Все файлы закачал cюда



Последнее исправление: gimn1adm (всего исправлений: 1)

Предлагаете нарушать закон и ковыряться в проприетарном коде за спасибо? В Job, действительно. Заплатили за проприетарщину - страдайте, «у неё же стоимость владения ниже», «поддержка вендора», кококо. И вообще, не учите детей плохому - именовать файлы в кириллице.

slovazap ★★★★★
()

Согласен с slovazap - файлы надо именовать латиницей и только в формате 8.3, а содержимое в KOI8-R

zolden ★★★★★
()
Ответ на: комментарий от slovazap

Заплатили за проприетарщину - страдайте, «у неё же стоимость владения ниже», «поддержка вендора», кококо.

У тебя действительно кококо, причём эталонное. Решение о закупке наверняка принимал не этот человек и даже наверняка не школа, а спустили откуда-то сверху, и злорадствовать по этому поводу неуместно. Если ты хочешь привить учителям отвращение к линуксу вообще и к контактам с линукс-сообществом в частности, то ты на правильном пути.

И вообще, не учите детей плохому - именовать файлы в кириллице.

Спорно. Эпоха доса давно кончилась.

hobbit ★★★★★
()

На самом деле тут действительно есть правовая проблема - лицензия программы может запрещать её модифицировать. Поэтому таки надо в первую очередь дёргать разработчика, службу поддержки и др.

Что написано в лицензионном соглашении?

hobbit ★★★★★
()
Ответ на: комментарий от hobbit

У тебя действительно кококо, причём эталонное. Решение о закупке наверняка принимал не этот человек и даже наверняка не школа, а спустили откуда-то сверху

Решение должны принимать пользователи, а если это им не дают - за это бороться. Рабства у нас как-бы нет, поэтому если у вас проблема с проприетарным ПО, виноваты лично и только вы сами.

Если ты хочешь привить учителям отвращение к линуксу вообще и к контактам с линукс-сообществом в частности, то ты на правильном пути.

А при чём тут линукс и сообщество? Товарисч пришёл на первый попавшийся форум, и хочет чтобы его ошибки исправили за него, бесплатно, и вдобавок нарушая при этом закон. Или может вы думаете что это как специализация линукс сообщества, и за такие предложения нужно руки целовать? Я так не думаю, и думаю что таких людей надо гнать взашей, как минимум в Job, а лучше - на форумы проприетарщиков. Подсказываю, если бы тема была о установке Linux и эти доски и написании свободного ПО для них - тогда велкам, и заниматься такими проектами действительно было бы помощью людям.

slovazap ★★★★★
()
Ответ на: комментарий от zolden

Зачем, в lowercase ascii без пробелов, содержимое в utf-8. Так всем будет проще.

slovazap ★★★★★
()
Ответ на: комментарий от ya-betmen

Что ответила служба техподдержки?

Ответ разработчиков: «The Russian language pack that is available for Notebook is for content within Notebook files. But it does not extend to non-Western European alphabet support for filenames.»
Вкратце они всех с linux-версиями отсылают различными поводами, что есть только версия 11SP2 и в дальнейшем они ее не планируют развивать.
В поддержке попросил е-мейлы разработчиков, ответит только видимо завтра. Но их скорее всего разогнали, раз не планирую развитие версий.
Пока файлы именуют все на английском, но тут проблема в том что программа и путь на кирилице не понимает.

Что написано в лицензионном соглашении?

Лицензионное соглашение конечно закрывает возможность вносить изменения:
(d) Модификации и Усовершенствования, проводимые Конечным пользователем. Конечный пользователь не вправе модифицировать, совершенствовать, адаптировать Программное обеспечение, вносить в него изменения и создавать на его основе производные продукты, а также соединять или разделять Программное обеспечение или любой его компонент без предварительного письменного разрешения компании SMART.
(e) Запрет на вскрытие технологии. Конечный пользователь не вправе осуществлять вскрытие технологии, трансляцию, декомпиляцию, разборку, видоизменение, создавать производные продукты или иным образом пытаться извлечь исходный код (а также основополагающие идеи, алгоритмы, структуру или организацию) Программного обеспечения или его компонентов для любых целей, в том числе в целях раскрытия сущности любых технологических аспектов. Конечный пользователь может осуществлять такие действия только в той минимальной степени, в какой это необходимо для обеспечения совместимости с программной продукцией других фирм, и только в той минимальной степени, в которой это прямо и точно разрешено применимым правом, несмотря на вышеуказанное ограничение.
Т.е. если удастся решить проблему, конечно нужно будет обращаться к к разработчикам либо использовать «патч» на свой страх и риск. Либо вможет быть вообще не не надо будет вносить изменения в программу, а достаточно написать правильный костыль в системе навроде alias для кодировки как здесь.

gimn1adm
() автор топика
Ответ на: комментарий от gimn1adm

Я в первую очередь прошу здесь помочь с определением причины, а решение уже надо будет искать с разработчиками. Либо самим, если они откажутся. По крайней мере заинтересованности у них я не вижу. Я сам на JS не пишу, С++ в основном. Подскажите хоть в чем может быть проблема.

gimn1adm
() автор топика

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

CrossFire ★★★★★
()

запилить свободную версию

anonymous
()
Ответ на: комментарий от gimn1adm

Я сам на JS не пишу, С++ в основном.

Smart Notebook

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

nb-1.0.0.js -исполняемый файл программы, содержащий функции;

Без обид, но туговато у тебя с C++. Во-первых, то, что ты нашёл — не исполняемый файл программы, это один из Javascript-файлов, похоже, с их встроенного веб-сервера. Если ты не работаешь исключительно через браузер, смысла смотреть в этот файл нет.

Во-вторых, основной исполняемый файл .notebook_elf слинкован с Qt, так что скорее всего написан на том самом C++. Но исходников от него, конечно же, нет. Кстати, программа у меня падает сразу же, так что даже поверхностной оценки я не смогу сделать.

Подскажите хоть в чем может быть проблема.

Проблема может быть в представлении символов. В большинстве современных дистрибутивов линукса используется кодировка UTF-8. Для английского языка она совпадает с ASCII, поэтому там буквы занимают по одному байту, старший бит равен нулю. Русские буквы занимают уже по два байта. Дальше можно только гадать. Возможно, где-то считается число символов, а потом под буфер выделяется именно такое количество байт, поэтому не-английские имена вылазят за пределы буфера и перетирают какие-то существенные данные. Без исходников выяснять, что происходит, слишком трудно.

Можно попробовать сменить кодировку локали на win-1251 или koi-8r (я не знаю, как это сделать правильно). Но с этим может возникнуть проблема, так как много программ сейчас пишутся с ориентиром на UTF-8, ибо она везде. Есть немалый шанс, что отвалится что-то ещё.

i-rinat ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.