Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[FEATURE] Linux version #260

Open
undefinedactive opened this issue Oct 12, 2024 · 15 comments
Open

[FEATURE] Linux version #260

undefinedactive opened this issue Oct 12, 2024 · 15 comments
Assignees
Labels
feature New feature or request

Comments

@undefinedactive
Copy link

DESCRIPTION

What does your feature request improve on? Please describe.
The feature would allow linux users to use the software without emulation or virtualization.

Describe the solution you'd like
Linux version of the software can be packaged in different ways: flatpak, AppImage, Snap, distro specific package (deb, rpm)...

Additional context
/


DEVS' SECTION

ANALYSIS

(Describe, what's the issue and which changes have to be made)

IMPLEMENTATION STEPS

(see also our Wiki for implementation guidelines)

  • Implement the necessary changes in a new branch created here on GitHub
  • Test your implementation

DOCUMENTATION STEPS

(see also our Wiki for further information)

  • Update the changes log
  • Add comments to your implementation
  • Add Doxygen documentation comments
  • Create or update the documentation articles (*.NHLP and *.NDB files, if needed)
  • Update the language strings (*.NLNG files, if needed)

PULL REQUEST

  • Create a pull request for your changes
  • Fill out the template
  • Assign @numere-org/maintainers as reviewers
@numeredev
Copy link
Member

Hi @undefinedactive,
a few weeks ago, we were contacted by someone interested in porting the application. He already created a fork to work on that, but I'm not sure, whether already something has been started yet.

The issue is, we don't have much experience in app development on Linux. Most of the libraries used should port (kind of) easily to Linux, but we still have to resolve the Windows filesystem-oriented issues.

We'd appreciate, if there would be one or more people supporting us here.

@undefinedactive
Copy link
Author

Thank you for reply :)
I guess the latest fork would be this one, maybe this is the guy? Sadly there are no commits :(

Will take a look into it and report back, what would make the most sense for packaging the app.

Will leave some links just for future reference:

@numeredev
Copy link
Member

Thanks for the reminder. There are most probably no commits, because some internal libs are missing. I forgot to create the repos for them.

@undefinedactive
Copy link
Author

Ok :)
In the meantime running NumeRe on linux with the help of Bottles.
Some examples:
image1
image2

@numeredev
Copy link
Member

numeredev commented Oct 20, 2024

@undefinedactive
Nice to know. Would you mind to create a very brief manual on how you managed to get it up and running? I'll gratefully add that to the relevant places, where somebody would look for this information (e.g. our blog, the FAQ section, here on GitHub), giving you credit, of course.

It seems that it's lacking the correct code font. "Consolas" might be a Windows thing. You can change that to your likings in the "Style" tab in the options dialog (either under "Tools" or via clicking on the toothgear icon).

@undefinedactive
Copy link
Author

@numeredev

Will do. Give me some time.

You might be right. Consolas wiki

@undefinedactive
Copy link
Author

NumeRe on Linux

NumeRe currently doesn't have a linux version, but we can still use it on linux with the help of compatibility layer called Wine and app called Bottles.

Installing Bottles

We will be installing Bottles with Flatpak format. So if you don't have Flatpak installed sort it out here.

With the help of Flathub we can install Bottles

Open terminal and execute:

flatpak install flathub com.usebottles.bottles

and start Bottles with:

flatpak run com.usebottles.bottles

Configuring new Bottle

Click on Create New Bottle

Starting screen Bottles

Give it a name

Naming the Bottle

and click Create .

The creation of a Bottle will take some time.

Creating Bottle...
Bottle created

Downloading the latest version of NumeRe and installing it inside our Bottle

Download the latest version of NumeRe.

Inside our Bottle called "numere" click Run Executable and choose the appropriate executable.

Inside created Bottle named numere

The executable will start. Go threw the installation of NumeRe.
Select language,...

NumeRe starts inside a Bottle

Installation of NumeRe
Installation of NumeRe
Installation of NumeRe
Installation of NumeRe
Installation of NumeRe

Now your numere Bottle should look like this.

State of the bottle numere

Under Programs run numere.

Running installed NumeRe inside Bottle

Launching...

Running installed NumeRe inside Bottle

Now you are running NumeRe on linux :)

Running installed NumeRe inside Bottle

Test if everything is working with the help of example scripts.

Running example scripts
Running example scripts

After you are done using NumeRe close the window and shutdown the bottle.

@undefinedactive
Copy link
Author

undefinedactive commented Oct 27, 2024

@numeredev let me know if this works for you.

Will look into porting, so we can have a native linux version :)

@numeredev
Copy link
Member

@undefinedactive That is far more than expected! Just two questions:

  • Did you manage to select a fitting code font as a replacement for Consolas? (Which one?)
  • How do you want to be called within our blog, or shall we just stick to "undefinedactive"?

@undefinedactive
Copy link
Author

undefinedactive commented Oct 27, 2024

  • Are there too many images? Do you want text only?

Here are some fonts that can be a replacement for Consolas.

Font links
Courier Prime
DejaVu fonts
Fira Code github
Inconsolata
JetBrains Mono github
PT Mono
Roboto Mono
Source Code Pro

If you want you can probably package some fonts with the app, just watch out for their license.

If you want to see fonts with code, how they look like you can use this sites:

"undefinedactive" should be fine

@numeredev
Copy link
Member

@undefinedactive No, everything alright. I was just amazed by the work you've put into that. My question regarding the font was, whether it is possible for you within the application and bottles, to select another code font (than the preselected Consolas). I don't know, whether you've tried that, but I imagine that this will be important for other users.

Cheers and thanks again

@undefinedactive
Copy link
Author

undefinedactive commented Oct 27, 2024

Yes, you are able to change the fonts:

Some work:
fonts_1

Some don't:
fonts_2

Some are gliched out - but work:
fonts_3

There is probably a solution for this:

If you want can try to look into it.

@undefinedactive
Copy link
Author

undefinedactive commented Oct 27, 2024

Some of the fonts now work (consolas works) :). Will update previous comment with additional steps.

fonts_4

If there is a font issue - wxWidgets - errors out - Solution: Inside Bottle - Under Options -> Dependecies - installing them - is how some of the issues can be resolved

@numeredev
Copy link
Member

@undefinedactive Amazing, thanks again. I'm going on a business trip in a few minutes and return on Wednesday evening CET. Hopefully, I can start converting that hard work into a very helpful blogpost by then.

@numeredev
Copy link
Member

@undefinedactive Took longer than expected, but here you are: https://en.numere.org/home/blog/numere-in-a-bottle-run-it-on-linux

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature New feature or request
Projects
Status: New
Development

No branches or pull requests

2 participants