Linux version generated with the NW.js it's not working

  • I have compressed and copied the package to the home folder and after I extracted the files, I defined the file permission. When I try to execute the game the system continues to warning me that there is no application installed for "shared library" files and asking me if want to search one to open this file. I checked the properties and the location path is correct (/home/user/game) but in the location I have "shared library (application/x-sharedlib). I try to execute the app through the terminal and I got the message: "The program 'nw' is currently not installed. You can install it by typing sudo apt install newtrw". So, I did it and now, when I try to open the nw in the terminal, it shows a lot of options (nw [udp] <options> <host> <port>) . In the file manager, all remains the same (Could not display 'nw'. There is no application installed ...). I really need to show this demonstration for a possible client that only use linux. Any help, please?

  • I have compressed and copied the package to the home folder and after I extracted the files, I defined the file permission. When I try to execute the game the system continues to warning me that there is no application installed for "shared library" files and asking me if want to search one to open this file.

    This typically happens, if you mismatch builds, like trying to execute a 32bit executable on a 64bit linux. Unlike windows, this does not work (not by default and requires some work). So if you have a 64bit Linux, be sure to use the 64bit executable.

  • > I have compressed and copied the package to the home folder and after I extracted the files, I defined the file permission. When I try to execute the game the system continues to warning me that there is no application installed for "shared library" files and asking me if want to search one to open this file.

    >

    This typically happens, if you mismatch builds, like trying to execute a 32bit executable on a 64bit linux. Unlike windows, this does not work (not by default and requires some work). So if you have a 64bit Linux, be sure to use the 64bit executable.

    Oh man! Thank you so much. Now I can run the game from the terminal.

    But unfortunately I've two problems now (an old and a new one): the application is not working properly: I'm using a xml to load images, text and a sound file that I 've imported to the Project Files and that are in the folder's root with the "nw" file. When I click to load one of these assets, nothing happens. My other problem is that I really need that the nw file can be executed through the file manager, is it possible?

    Edited:

    Eisenhans

    Can I share the files with you? It is just a small demo.

  • I have no idea about the XML problem (I have never tried that and also have not been using C2 for quite a while now), but for your issues with the executable, you can send me a PM with a link to a zip or something like that, then I will have a look at here on my linux PC.

  • RBuster

    I checked your demo.

    The thing on linux is: shared libraries (something like a .dll on windows) can be executable too, depending on how they are programmed. The file managers try to identify those by various methods and hide the executable options on them.

    The problem is: the way modern executables are compiled those file managers sometimes misinterpret and have false positives. This is typically no problem, because, unlike on windows, people do not browse to a directory with a file manager and execute stuff there. You run your stuff either through your desktop environment (start menu entries or whatever the specific linux distribution offers for its own software), or by terminal.

    The file manager that I have tested (thunar) falls for the nw-executable too and does not offer to execute it. There is probably no way to get this to work reliably, because of the way chromium is required to be built.

    If your customer requires this: drop the customer

  • RBuster

    I checked your demo.

    The thing on linux is: shared libraries (something like a .dll on windows) can be executable too, depending on how they are programmed. The file managers try to identify those by various methods and hide the executable options on them.

    The problem is: the way modern executables are compiled those file managers sometimes misinterpret and have false positives. This is typically no problem, because, unlike on windows, people do not browse to a directory with a file manager and execute stuff there. You run your stuff either through your desktop environment (start menu entries or whatever the specific linux distribution offers for its own software), or by terminal.

    The file manager that I have tested (thunar) falls for the nw-executable too and does not offer to execute it. There is probably no way to get this to work reliably, because of the way chromium is required to be built.

    If your customer requires this: drop the customer

    Thanks for the reply.

    So I cannot have an executable file exported from C2 with NW.js working on linux? is it?

  • You can.

    But you cannot have one, that will 100% reliably execute from linux file managers.

    It will always work from the terminal, as soon as the execute flag is set.

  • Try Construct 3

    Develop games in your browser. Powerful, performant & highly capable.

    Try Now Construct 3 users don't see these ads
  • But if I want to execute from the desktop I will need to create an installer or put all the files on the desktop? And about the problem of the links that is not working when I use the terminal to open the application? Did you figure out what's happening?

  • The desktop route is (almost) impossible, because it's different for every linux distribution. It typically works the other way round: Linux distro maintainers will pull open source software from the developer's repositories and integrate them into their mechanism. Your way, distributing commercial software in binary form, is a fringe case. It's not typical.

    There are no commercial programs that work on every distro's desktop, they typically concentrate on one or two and let the users themselves deal with the rest. That's one of the reasons why linux is so small outside the server world.

    I would just let the customer start via terminal and be done with it.

    As to your second question: I have no idea about the links.

  • The desktop route is (almost) impossible, because it's different for every linux distribution. It typically works the other way round: Linux distro maintainers will pull open source software from the developer's repositories and integrate them into their mechanism. Your way, distributing commercial software in binary form, is a fringe case. It's not typical.

    There are no commercial programs that work on every distro's desktop, they typically concentrate on one or two and let the users themselves deal with the rest. That's one of the reasons why linux is so small outside the server world.

    I would just let the customer start via terminal and be done with it.

    Thanks for all the explanations. I really know nothing about the Linux.

    As to your second question: I have no idea about the links.

    In the application that you open through the terminal you will find several buttons among them: image1/image2/Sound. When I try to open these assets through the application, nothing happens, but I can do it normally in the windows versions. Do you know why I cannot do the same in the Linux version?

    Taking advantage of your patience, I wonder if you think that is better if I will create a browser version to the Linux users. The problem is that application needs to work in offline mode. In this case, the user will need to access the app online in the first time and use the offline cache in the next times, right?

Jump to:
Active Users
There are 1 visitors browsing this topic (0 users and 1 guests)