Page 1 of 1

Настройка эмулятора kex для linux

Posted: Sun Dec 09, 2018 12:02 pm
by dnfive
Всех приветствую!
Я здесь человек новый, не очень опытный, да и вообще в программирование я фактически только что пришёл, но сейчас не об этом.
Сегодня я хочу рассказать вам как настроить эмулятор kolibrios для открытия kex файлов, для просто молниеносной разработки!
Отдельное спасибо pavelyakov! Он стал своеобразным ментором для меня!


1) Качаем с репозитория исходники эмулятора

Code: Select all

git clone https://github.com/tsdima/kex.git
1) Ставим необходимые библиотеки

Для Ubuntu:

Code: Select all

sudo apt-get install build-essential liblzma-dev libx11-dev libxrender-dev
Для Fedora:

Code: Select all

sudo yum install liblzma-devel
или

Code: Select all

sudo yum install lzma-sdk457
3) Компилируем исходники эмулятора
Если не ещё не зашли в папку со скачанными исходниками, то:

Code: Select all

cd kex
И наконец компилируем:

Code: Select all

gcc -o kex main.c k_*.c -lX11 -lXrender -lrt -llzma -ldl -D_GNU_SOURCE
Если всё нормально, продолжаем.

4) Добавляем нужные папки и файлы для эмулятора
Чтобы эмулятор работал нормально, нужно создать папку .kex в домашней директории:

Code: Select all

mkdir ~/.kex/
mkdir ~/.kex/
mkdir ~/.kex/root/
mkdir ~/.kex/root/RD/
mkdir ~/.kex/root/RD/1/
Также в эту папку нужно положить два файлика, которые я приложу.
Вот так они должны располагаться:

Code: Select all

    ~/.kex/char.mt
    ~/.kex/charUni.mt
Ещё нам нужно скачать стандартную тему Kolibri OS, чтобы запущенные нами приложения корректно отображались.
Необходимый файл я приложу, чтобы вы не мучались и не искали.
Должно быть так:

Code: Select all

~/.kex/root/RD/1/DEFAULT.SKN
5) Устанавливаем эмулятор и настаиваем ассоциацию
Для удобного использования файл kex, который получился у нас при компиляции, переместим в директорию /usr/bin, чтобы у нас была возможность использовать его откуда угодно.

Code: Select all

mv ./kex /usr/bin
Теперь у нас есть доступ к эмулятору из консоли откуда угодно.

Code: Select all

kex [путь до файла программы .kex]
Остаётся дело за малым, сделать удобство, чтобы программы запускались двойным кликом в проводнике.
Для этого нам нужно создать файл kexec.desktop (к примеру) и наполнить его следующим содержимым:

Code: Select all

#!/usr/bin/env xdg-open
[Desktop Entry]
Name=Run KolibriOS Application
Exec=sh -c "kex %F &"
Icon=/home/[имя пользователя]/.kex/kex.png
Terminal=false
Type=Application
Categories=Application;
NoDisplay=true
MimeType=application/kolibri;
Name[ru]=Запуск KolbriOS приложений
Параметр Icon отвечает за иконку приложения, которым мы будем запускать .kex файлы.
Свою иконку я прикреплю.

Теперь перемещаем этот файл в папку /usr/share/applications

Code: Select all

mv ./kexec.desktop /usr/share/applications
Осталось только кликнуть в проводнике на любой ваш файл .kex и выбрать "Открыть в программе" > "Другое приложение" и выбрать "Запуск KolibriOS приложений".

Дополнение:
С простыми приложениями всё это может работать нормально, но уже более сложные будут выбивать исключение.
Так что по пути ~/,kex/root/RD/1 должны находиться все файлы из kolibri.img, а также свои программы лучше запускать именно из этой директории (~/,kex/root/RD/1).

Добавление №2:
Собрал всё самое нужное в один deb файл. Так что теперь не надо устанавливать всё ручками. Но есть один минус, после установки, для папки .kex нужно указать владельца и поставить права нормальные. Если кто поможет это сделать во время установки пакета, то пересоберу и выложу новый.

На этом всё, спасибо за внимание!

P.S
DEFAULT.skn не могу прикрепить, но его можете легко найти в образе системы kolibri.img
Deb пакет тоже не могу прикрепить, так что выложу на Яндекс Диск

Re: Настройка эмулятора kex для linux

Posted: Sun Dec 09, 2018 4:22 pm
by tsdima
Хочется добавить, что можно файл kolibri.img открывать программой "Disk image mounter", а вместо каталога ~/.kex/root/RD/1 сделать линк с этим именем на каталог, куда смонтировался образ. Также поступить и с образом CD (соответственно линк с именем ~/.kex/root/CD0/1). А для своих программ сделать каталог ~/.kex/root/RD/2
Недостаток - нужно монтировать образы каждый раз после перезагрузки, достоинство - можно использовать ночные сборки, т.е. переход на новую версию делается проще некуда.

Re: Настройка эмулятора kex для linux

Posted: Sun Dec 09, 2018 5:25 pm
by dnfive
tsdima wrote:Хочется добавить, что можно файл kolibri.img открывать программой "Disk image mounter", а вместо каталога ~/.kex/root/RD/1 сделать линк с этим именем на каталог, куда смонтировался образ. Также поступить и с образом CD (соответственно линк с именем ~/.kex/root/CD0/1). А для своих программ сделать каталог ~/.kex/root/RD/2
Недостаток - нужно монтировать образы каждый раз после перезагрузки, достоинство - можно использовать ночные сборки, т.е. переход на новую версию делается проще некуда.
Соглашусь, тоже хорошая идея, но ещё добавлю, можно добавить в автозагрузку монтирование.
Ещё я собрал .deb файл, так что теперь вообще почти мучаться не придётся

Re: Настройка эмулятора kex для linux

Posted: Sun Dec 09, 2018 11:46 pm
by Pathoswithin
Помню, сколько на винде возни было. А на линуксе прописал kolibri.img в /etc/fstab и не мучаюсь.

Re: Настройка эмулятора kex для linux

Posted: Fri Nov 22, 2019 6:55 pm
by paulcodeman
Установщик эмулятора kolibrios для linux

Re: Настройка эмулятора kex для linux

Posted: Sat Sep 12, 2020 3:02 pm
by maxcodehack
Не работают программы, с динамической линковкой

Re: Настройка эмулятора kex для linux

Posted: Wed Dec 02, 2020 10:33 pm
by Leency
Кто-то оставил репорт, непонятный мне как виндузятнику, пусть будет здесь.

Code: Select all

KEX emulator for Linux does not work with dll libraries, e.g. libc.dll

Re: Настройка эмулятора kex для linux

Posted: Wed Dec 02, 2020 10:45 pm
by maxcodehack
Ну в эмуляторе не работают программы на newlib
Вот так
Оставил скорее всего superturbocat2001

Re: Настройка эмулятора kex для linux

Posted: Thu Dec 03, 2020 1:09 pm
by tsdima
maxcodehack wrote:Ну в эмуляторе не работают программы на newlib
Вот так
Работают. По крайней мере раньше работали. Возможно сейчас что-то изменилось.

Но нужно понимать, что должен быть доступен /cd0/1, что перед запуском программ нужно запускать searchap, что бессмыслено запускать эту программу, если происходит выход из эмулятора. Чтобы не выходить из эмулятора, должен быть запущен какой-нибудь файловый менеждер (например kfar), из него удобно запускать и searchap, и программу потом.

Из не работающих программ я знаю лишь fplay и программы, требующие доступ к видео-памяти через селектор gs (лежат в папке codemaster).

Re: Настройка эмулятора kex для linux

Posted: Fri Dec 11, 2020 10:49 am
by maxcodehack
Открыл кфар, запустил searchap, запустил программу. Не работает, хотя cd доступен.
Открыл eolite, принудительно через app_plus примонтировал, примонтировалось, но не работает все равно.
Ps на одном скриншоте видел что работает sdlquake. У меня не работает.

Re: Настройка эмулятора kex для linux

Posted: Fri Dec 11, 2020 10:59 am
by tsdima
maxcodehack wrote:на одном скриншоте видел что работает sdlquake. У меня не работает.
Есть одна игра MUN, в каталоге лежит libc.dll, я точно помню, что она запускалась. А сейчас не запускается. Возможно я запускал в 32-битном линуксе.
Но sdlquake у меня в эмуляторе запускается и на 64-битном линуксе (и это не смотря на то, что программа 32-битная).
Spoiler:
Screenshot from 2020-12-11 09-01-29.png
Screenshot from 2020-12-11 09-01-29.png (268.67 KiB)
Viewed 9993 times

Re: Настройка эмулятора kex для linux

Posted: Fri Dec 11, 2020 11:11 am
by maxcodehack
Я ошибся, sdlquake работает. Но он не на newlib, значит и должен был работать

Re: Настройка эмулятора kex для linux

Posted: Fri Dec 11, 2020 12:53 pm
by punk_joker
tsdima wrote: Есть одна игра MUN, в каталоге лежит libc.dll, я точно помню, что она запускалась. А сейчас не запускается. Возможно я запускал в 32-битном линуксе.
Но sdlquake у меня в эмуляторе запускается и на 64-битном линуксе (и это не смотря на то, что программа 32-битная).
Пряч картинки под спойлер

Re: Настройка эмулятора kex для linux

Posted: Sat Dec 12, 2020 8:44 pm
by maxcodehack
Все таки quake не на newlib, а программы на newlib не работают. Проверьте. Пример программы - https://builds.kolibrios.org/rus/data/p ... b_example/

Re: Настройка эмулятора kex для linux

Posted: Wed Jan 06, 2021 5:06 pm
by maxcodehack
Ещё при изменении размеров окна, окно сильно колбасит: дёргается мигает и очень медленно изменяет размер. Linux mint 19 x64 оболочка cinnamon.
Ну и newlib не работает. Я примонтировывал через app plus, в eolite отображалось, но не работает все равно.