Board.KolibriOS.org

Official KolibriOS board
It is currently Sun Apr 11, 2021 3:58 pm

All times are UTC+03:00




Post new topic  Reply to topic  [ 15 posts ] 
Author Message
PostPosted: Sun Dec 09, 2018 12:02 pm 
Offline
User avatar

Joined: Sun Oct 21, 2018 12:10 pm
Posts: 2
Всех приветствую!
Я здесь человек новый, не очень опытный, да и вообще в программирование я фактически только что пришёл, но сейчас не об этом.
Сегодня я хочу рассказать вам как настроить эмулятор kolibrios для открытия kex файлов, для просто молниеносной разработки!
Отдельное спасибо pavelyakov! Он стал своеобразным ментором для меня!


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

Code:
git clone https://github.com/tsdima/kex.git


1) Ставим необходимые библиотеки

Для Ubuntu:

Code:
sudo apt-get install build-essential liblzma-dev libx11-dev libxrender-dev


Для Fedora:

Code:
sudo yum install liblzma-devel


или

Code:
sudo yum install lzma-sdk457


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

Code:
cd kex


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

Code:
gcc -o kex main.c k_*.c -lX11 -lXrender -lrt -llzma -ldl -D_GNU_SOURCE


Если всё нормально, продолжаем.

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

Code:
mkdir ~/.kex/
mkdir ~/.kex/
mkdir ~/.kex/root/
mkdir ~/.kex/root/RD/
mkdir ~/.kex/root/RD/1/


Также в эту папку нужно положить два файлика, которые я приложу.
Вот так они должны располагаться:

Code:
    ~/.kex/char.mt
    ~/.kex/charUni.mt


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

Code:
~/.kex/root/RD/1/DEFAULT.SKN


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

Code:
mv ./kex /usr/bin


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

Code:
kex [путь до файла программы .kex]


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

Code:
#!/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:
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 пакет тоже не могу прикрепить, так что выложу на Яндекс Диск


Attachments:
kex.png
kex.png [ 583 Bytes | Viewed 4021 times ]
char.mt [2.25 KiB]
Downloaded 134 times
charUni.mt [22.17 KiB]
Downloaded 133 times


Last edited by dnfive on Sun Dec 09, 2018 5:32 pm, edited 4 times in total.
Top
   
PostPosted: Sun Dec 09, 2018 4:22 pm 
Offline

Joined: Wed Mar 26, 2008 12:44 pm
Posts: 253
Хочется добавить, что можно файл kolibri.img открывать программой "Disk image mounter", а вместо каталога ~/.kex/root/RD/1 сделать линк с этим именем на каталог, куда смонтировался образ. Также поступить и с образом CD (соответственно линк с именем ~/.kex/root/CD0/1). А для своих программ сделать каталог ~/.kex/root/RD/2
Недостаток - нужно монтировать образы каждый раз после перезагрузки, достоинство - можно использовать ночные сборки, т.е. переход на новую версию делается проще некуда.


Top
   
PostPosted: Sun Dec 09, 2018 5:25 pm 
Offline
User avatar

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


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


Top
   
PostPosted: Sun Dec 09, 2018 11:46 pm 
Offline
Mentor/Kernel Developer
User avatar

Joined: Thu Mar 26, 2015 5:16 pm
Posts: 1280
Помню, сколько на винде возни было. А на линуксе прописал kolibri.img в /etc/fstab и не мучаюсь.


Top
   
PostPosted: Fri Nov 22, 2019 6:55 pm 
Offline
User avatar

Joined: Wed Apr 15, 2015 11:13 pm
Posts: 263
Установщик эмулятора kolibrios для linux


Attachments:
File comment: Эмулятор
kex.zip [1.29 MiB]
Downloaded 95 times
Top
   
PostPosted: Sat Sep 12, 2020 3:02 pm 
Offline

Joined: Mon Sep 07, 2020 7:09 pm
Posts: 411
Не работают программы, с динамической линковкой

_________________
:arrow: Image


Top
   
PostPosted: Wed Dec 02, 2020 10:33 pm 
Offline
Designer
User avatar

Joined: Thu Jan 25, 2007 3:33 pm
Posts: 5406
Кто-то оставил репорт, непонятный мне как виндузятнику, пусть будет здесь.

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

_________________
Звиздеть не мешки ворочать


Top
   
PostPosted: Wed Dec 02, 2020 10:45 pm 
Offline

Joined: Mon Sep 07, 2020 7:09 pm
Posts: 411
Ну в эмуляторе не работают программы на newlib
Вот так
Оставил скорее всего superturbocat2001

_________________
:arrow: Image


Top
   
PostPosted: Thu Dec 03, 2020 1:09 pm 
Offline

Joined: Wed Mar 26, 2008 12:44 pm
Posts: 253
maxcodehack wrote:
Ну в эмуляторе не работают программы на newlib
Вот так

Работают. По крайней мере раньше работали. Возможно сейчас что-то изменилось.

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

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


Top
   
PostPosted: Fri Dec 11, 2020 10:49 am 
Offline

Joined: Mon Sep 07, 2020 7:09 pm
Posts: 411
Открыл кфар, запустил searchap, запустил программу. Не работает, хотя cd доступен.
Открыл eolite, принудительно через app_plus примонтировал, примонтировалось, но не работает все равно.
Ps на одном скриншоте видел что работает sdlquake. У меня не работает.


Top
   
PostPosted: Fri Dec 11, 2020 10:59 am 
Offline

Joined: Wed Mar 26, 2008 12:44 pm
Posts: 253
maxcodehack wrote:
на одном скриншоте видел что работает sdlquake. У меня не работает.

Есть одна игра MUN, в каталоге лежит libc.dll, я точно помню, что она запускалась. А сейчас не запускается. Возможно я запускал в 32-битном линуксе.
Но sdlquake у меня в эмуляторе запускается и на 64-битном линуксе (и это не смотря на то, что программа 32-битная).

Spoiler: Show
Attachment:
Screenshot from 2020-12-11 09-01-29.png
Screenshot from 2020-12-11 09-01-29.png [ 268.67 KiB | Viewed 1510 times ]


Top
   
PostPosted: Fri Dec 11, 2020 11:11 am 
Offline

Joined: Mon Sep 07, 2020 7:09 pm
Posts: 411
Я ошибся, sdlquake работает. Но он не на newlib, значит и должен был работать

_________________
:arrow: Image


Top
   
PostPosted: Fri Dec 11, 2020 12:53 pm 
Offline

Joined: Tue Apr 12, 2011 11:19 pm
Posts: 1179
tsdima wrote:
Есть одна игра MUN, в каталоге лежит libc.dll, я точно помню, что она запускалась. А сейчас не запускается. Возможно я запускал в 32-битном линуксе.
Но sdlquake у меня в эмуляторе запускается и на 64-битном линуксе (и это не смотря на то, что программа 32-битная).

Пряч картинки под спойлер

_________________
я лишь учусь


Top
   
PostPosted: Sat Dec 12, 2020 8:44 pm 
Offline

Joined: Mon Sep 07, 2020 7:09 pm
Posts: 411
Все таки quake не на newlib, а программы на newlib не работают. Проверьте. Пример программы - https://builds.kolibrios.org/rus/data/p ... b_example/


Top
   
PostPosted: Wed Jan 06, 2021 5:06 pm 
Offline

Joined: Mon Sep 07, 2020 7:09 pm
Posts: 411
Ещё при изменении размеров окна, окно сильно колбасит: дёргается мигает и очень медленно изменяет размер. Linux mint 19 x64 оболочка cinnamon.
Ну и newlib не работает. Я примонтировывал через app plus, в eolite отображалось, но не работает все равно.

_________________
:arrow: Image


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 15 posts ] 

All times are UTC+03:00


Who is online

Users browsing this forum: No registered users and 7 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Limited