Announcement

Collapse
No announcement yet.

Open-Source HTML5 Terminal Emulator To Support X11

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

  • #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


            • #21
              @sarmad:
              you write
              "use asm";
              above the asm.js code. If the browser supports it, it will treat the following block of code as asm.js and will try to compile it. if the browser does not support asm.js, the statement will do nothing, but the code will still run (albeit slowly), because it's still javascript after all. Emscripten (the main reason asm.js was invented) uses static typed arrays as memory for the c/c++ program, so i guess they do their own garbage collection inside that array which the browser gives them.

              Comment


              • #22
                LOL?!?!?!

                Comment


                • #23
                  Why not just eliminate the middle man and all the bloat like the web browser and then proxy code, and instead use real native apps with decent performance?

                  Comment


                  • #24
                    Originally posted by dstaubsauger View Post
                    @sarmad:
                    you write above the asm.js code. If the browser supports it, it will treat the following block of code as asm.js and will try to compile it. if the browser does not support asm.js, the statement will do nothing, but the code will still run (albeit slowly), because it's still javascript after all. Emscripten (the main reason asm.js was invented) uses static typed arrays as memory for the c/c++ program, so i guess they do their own garbage collection inside that array which the browser gives them.
                    Very interesting. So a supported browser is treating asm.js as assembly and compiling it in a way similar to assembly code? I thought the 'asm' part of the name is more metaphorical than actually referring to assembly.

                    Comment


                    • #25
                      Originally posted by TheBlackCat View Post
                      I don't know about vanilla Java, but Python works just fine on my Android device.
                      Yep - and not only Android!
                      * Python work on the old Nokia Maemo mobile devices (N7XX, N8XX, N900, N9/50) and there are lots of apps using it there, many are in the Ovi store
                      * the Nemo mobile open mobile distro also has Python
                      * the upcoming Sailfish running on the soon to be released Jolla device has Python & graphical applications using it
                      * the BlackBerry 10 mobile OS has Python 3.2 built-in and applications using it are in the Black Berry World appstore
                      * the OpenPandora mobile gaming device has Python & Python apps
                      * even the late Neo FreeRunner had/has Python


                      On the other hand, "normal" Java - not counting the Android incompatible flavor - isn't really used anywhere on current mobile platforms. There are is just a community port for the N900 used by a few apps. Don't know of it being used anywhere else.

                      Comment


                      • #26
                        Originally posted by riskable View Post
                        Hey there... I'm the author of Gate One.
                        :-D

                        This is awesome! We always have to use SSH jump hosts to get around the network at work. (It spans most of Africa, so is a very segmented and inconsistently implemented network) Gate One could make this jumping around a lot less tedious :-)

                        I just very recently started playing with Tornado (a few days ago), and I have to say this is the single most awesome example of a Tornado app I have seen :-)

                        Comment


                        • #27
                          Originally posted by MartinK View Post
                          Yep - and not only Android!
                          You can bundle Python on iOS devices too :-)
                          Kivy has done some tools to minimize the size of bundling python for iOS, Android and Meego.

                          Comment


                          • #28
                            Wow - this is pretty cool!

                            It might just have answered the question how I can easily collaborate with people on shared projects - at least if I manage to get emacsclient running there.

                            And AGPL is the perfect license for this - @riskable: Really cool work!

                            It looks like the Demoserver is a bit overloaded right now, though…

                            Comment


                            • #29
                              Originally posted by ArneBab View Post
                              It looks like the Demoserver is a bit overloaded right now, though…
                              But installing it locally only took about 15 minutes - yay!

                              One question which isn’t clear at once: How do I open a terminal? (likely the docs will tell me that in a minute, but this could be more seamless).

                              Comment


                              • #30
                                Originally posted by ArneBab View Post
                                One question which isn’t clear at once: How do I open a terminal? (likely the docs will tell me that in a minute, but this could be more seamless).
                                Or not: Feedback: GateOne master after `python setup.py --install ; sudo /opt/gateone/gateone.py` only shows an empty workspace with the text “Gate One - Applications” for me and I did not find out in 10 minutes how to change that. Now the time I can allot for testing ran out…

                                It looks really cool, but this is a blocker.

                                Comment

                                Working...
                                X