Announcement

Collapse
No announcement yet.

Open-Source HTML5 Terminal Emulator To Support X11

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • #11
    Originally posted by TheBlackCat View Post
    I don't know about vanilla Java, but Python works just fine on my Android device.
    With a GUI that looks an works the same on all platforms without having to change the code?

    Comment


    • #12
      Originally posted by Pajn View Post
      Also with Asm.JS we can get near native performance (right now about half but will get better with ES6)
      Nope, not true and never going to be true. Yes, it's going to be near native performance of apps that are written in a dynamic way (dynamic objects, duck typing, garbage collection, etc) but that's different from writing your app in C++ with static objects and high performance memory management.

      Comment


      • #13
        Convenient upgrades too

        Originally posted by Pajn View Post
        With a GUI that looks an works the same on all platforms without having to change the code?
        Not only that but you only ever have to upgrade the software in one place. You never have to deploy updates to clients, deal with proprietary updaters, etc.

        I also wrote Gate One so you could stop & start the gateone.py process and still be able to resume everyone's sessions. This works for the new X11 feature as well. After installing an update:

        Code:
        /etc/init.d/gateone stop
        # Everyone's browser reports Gate One disconnected
        /etc/init.d/gateone start
        # Within five seconds everyone's browser reconnects and it resumes where they left off
        Five seconds of down time for maintenance is pretty good, yeah?

        Of course, in the real world you'd just do
        Code:
        /etc/init.d/gateone restart
        to save yourself some typing.

        Comment


        • #14
          Originally posted by sarmad View Post
          Nope, not true and never going to be true. Yes, it's going to be near native performance of apps that are written in a dynamic way (dynamic objects, duck typing, garbage collection, etc) but that's different from writing your app in C++ with static objects and high performance memory management.
          Asm.JS is a subset of Javascript and is effectively Javascript compatible binary code.
          Asm.JS is produced by compiling C/C++ to Javascript and doesn't contain
          dynamic objects, duck typing, garage collection or anything like that. It doesn't
          even contain strings!

          So normal apps that doesn't require performance can be run in pure Javascript
          (many programs is written in Python and works good, Javascript is faster in todays
          browsers).
          And apps that require performance can be compiled to Asm.JS and receive near native
          performance (for browsers that support it, browsers that don't will run it as Javascript
          so it'll work but slower).

          Comment


          • #15
            Originally posted by sarmad View Post
            Am I the only one who feels HTML has become an operating system? A slow and memory intensive operating system that is?
            Yes, I think you are.
            Perhaps you mean the html+css+js+DOM running in your browser?

            Comment


            • #16
              So, in theory can I install it on a server, point a DNS to it, and use it to have a terminal I can always use whatever the device I'm on?

              Does it have access to the local file system? Or just SSH?

              Comment


              • #17
                Originally posted by Pajn View Post
                Asm.JS is a subset of Javascript and is effectively Javascript compatible binary code.
                Asm.JS is produced by compiling C/C++ to Javascript and doesn't contain
                dynamic objects, duck typing, garage collection or anything like that. It doesn't
                even contain strings!

                So normal apps that doesn't require performance can be run in pure Javascript
                (many programs is written in Python and works good, Javascript is faster in todays
                browsers).
                And apps that require performance can be compiled to Asm.JS and receive near native
                performance (for browsers that support it, browsers that don't will run it as Javascript
                so it'll work but slower).
                How will it handle memory management if Javascript is limited to garbage collection? Does browsers recognize an asm.js code and treat it differently?

                Comment


                • #18
                  how does this use ssh (mentioned in the article)? Is there some new Javascript API that allows websites to do raw TCP/IP? Also, which browsers does it work on?

                  Comment


                  • #19
                    Originally posted by devius View Post
                    So, in theory can I install it on a server, point a DNS to it, and use it to have a terminal I can always use whatever the device I'm on?

                    Does it have access to the local file system? Or just SSH?
                    Yeah, pretty much. It doesn't do filesystem access directly (not yet anyway) but you can do whatever you can do in a normal terminal.

                    I'd also like to point out that if you just want to access the server remotely you can configure Gate One to run 'setsid /sbin/login' instead of or in addition to the 'ssh_connect.py' command. That will be pretty much exactly like logging into the server's console. In fact, it will work even if you stop sshd.

                    Comment


                    • #20
                      Originally posted by dstaubsauger View Post
                      how does this use ssh (mentioned in the article)? Is there some new Javascript API that allows websites to do raw TCP/IP? Also, which browsers does it work on?
                      It is a combination of a Python daemon--which acts as a web server translating your keystrokes/terminal output--and JavaScript which runs in the browser. The server keeps track of your terminal state so that if you get disconnected everything will resume precisely where it left off.

                      It works in IE10+, Chrome/Chromium, Firefox, Safari (if you don't use a self-signed certificate), and Opera. Probably others too. The only major requirement is that the browser support WebSockets and Web Workers (never seen a browser that supported one but not the other).

                      Comment

                      Working...
                      X