top | item 3344678

Google is working on integrating terminal emulator into Chrome

316 points| valyala | 14 years ago |src.chromium.org | reply

90 comments

order
[+] chimeracoder|14 years ago|reply
That could have interesting implications for the Chrome Notebook (I haven't really used one, but based on what I've heard).

The potential appeal of the Chrome notebook is its security-by-simplicity. If the only thing you can do is use Chromium, then your notebook is basically as secure as Chromium itself is (in theory, at least).

The irony is that we're essentially moving back to the way computers were a few decades ago - people used terminals to access a central computer. We moved to personal desktop computers for a while, then laptops (and mobile phones). It'll be interesting to see if the rise of interest in 'cloud computing' means that, in five years, our primary computers will just be portable terminals to access some main computer remotely.

Personally, I might be fine with that. Network speeds/reliability aside, everything I do could be accomplished easily over SSH, with X forwarding for a few applications. It's possible that these simple tools that we've had for decades could be packaged in a way that appeals to a more general use case.

[+] benmathes|14 years ago|reply
I hope we go the way of the dumb terminal from an ease-of-use standpoint; I want my data to just "be", and not have to worry about syncing/backups/etc.

From the freedom/privacy standpoint, however, I'm not sure. I find it surprisingly easy to imagine a US government agency empowered by anti-terror laws to get access to my data.

This is why I want encrypted cloud computing for all my stuff. I dunno if the large players could actually do that and have the US govt be ok with it.

[+] freehunter|14 years ago|reply
Back in the early days of ChromeOS, there was a much less restricted security model than I presume exists today based on what I'm reading. I haven't use it in a while, though, so I do not know how it works these days.

Basically when I installed it, it had to be compiled by you and installed on an SD card. You could easily change a setting on the system and drop to a shell. It was running on a stripped-down Ubuntu installation, so you could actually install Firefox inside of ChromeOS. It was nice having the base, fast-boot installation combined with the ability to basically run a full system if you needed to.

[+] debaserab2|14 years ago|reply
Chromebooks already have a built-in shell called CROSH, which provides a very limited command set but does have an SSH client.
[+] amorphid|14 years ago|reply
Until we have inexpensive access to the Internet at broadband speed on mobile networks w/ no cap on data usage, I want the option to work offline.
[+] Uchikoma|14 years ago|reply
My Chrome is getting buggier all the time (now in version 15). Tabs hang, websites crash.

So to be selfish: Instead of adding a terminal emulator, I want my Chrome from 2 years ago back, which was fast, bug free and did not hang.

[+] Pewpewarrows|14 years ago|reply
This just in: there are a massive amount of developers working on a single project. Not all of them are on the stability team. Just because they're adding feature X doesn't mean that they're taking any amount of resources away from bugfix Y. It's a false dichotomy typically imagined by those who have never worked on medium to large-sized products.
[+] megrimlock|14 years ago|reply
Yeah, Chrome represents a pretty different model from most desktop apps we run. Chrome's seamless auto-update has brought web-app style continuous iteration to the desktop. That means continuous change, and presumably improvement, but also no real ability to opt-out of new features/bloat and newly introduced bugs.

This was a brilliant move for Google because it removes the friction they face to push web-client functionality where they want it to go. For example, I woke up one day and suddenly I could run all these new webgl apps. We have all granted them implicit license to push code out to all our desktops -- at the cost of no longer controlling what version and bug/feature tradeoff you are running.

Whereas App Store apps, where the user controls updates, are somewhere in the middle of this shrinkwrap vs. web app continuum. You get the constant nagging to download version N.epsilon.epsilon of iTunes, with 20 pages of block text describing updates that are only interesting if you are the person driving Apple's grand product strategy, but you at least get the ability to say no thanks, don't ask me again. (Of course they will ask you again, but that's just due to inevitably skewed incentives.)

[+] aerique|14 years ago|reply
There's probably some kind of law in there. My browser history is Mosaic -> Netscape -> Galeon -> Firefox [1] everytime jumping to a new slender browser since the old one got too bloated or too old. Firefox lost its slenderness a long time ago but I never found anything to replace it with.

[1] I think I missed a few.

[+] sebastianavina|14 years ago|reply
I had the exact same problem. I was very dissapointed of Chrome, until I reformated my computer, when Chrome updated the bookmarks it became slow and buggier... that's when I deleted all of the bookmarks of the Bookmarks Bar, and VOILA!, Chrome was reborn for me.
[+] berkut|14 years ago|reply
Same here, I'm back on Chrome 11 on Linux, as the recent ones have been atrocious...
[+] kurtextrem|14 years ago|reply
yeah... chromev2 with bugfixes and newest webkit / v8 engine :D
[+] peteforde|14 years ago|reply
I came here to say exactly this.

Chrome should try and remove features, not add things nobody is asking for.

[+] jjcm|14 years ago|reply
I personally would love to have a terminal or an SSH client within chrome. I'm excited to see how this turns out.
[+] selectnull|14 years ago|reply
I agree, this is exciting. I just hope, if they implement terminal withing chrome, when one presses ctrl+p it will select previous command from buffer, and not print the page. I enjoy working in chrome devtools, I use it just like a shell and love it... and then I press ctrl+p and get all frustrated...
[+] timmy-turner|14 years ago|reply
For those that can't wait for google, there are already some pretty mature browser-based terminals out there. For example shellinabox (https://code.google.com/p/shellinabox/) which is a full javascript implementation of a vt100 compatible terminal plus a server written in C providing pty streams over http. Web shell (http://code.google.com/p/web-shell/) is another one, doing all the terminal emulation on the server written in python and transferring full lines to the browser.

If you're interested to write your own terminal emulator, have look at pyte (https://github.com/selectel/pyte), a very clean and beautiful python library to write vtxxx compatible terminal emulators.

[+] rajat|14 years ago|reply
We can already do everything from inside emacs; oh wait! Chrome's the browser. So that's completely different.
[+] sgrove|14 years ago|reply
There's actually a really interesting article/email I read a long time ago saying that emacs main competitor was the browser, and that it was likely to be overtaken by it unless emacs reacted in some way.

I can't find the article with a cursory google search right now, but maybe someone else knows it can find it.

[+] abbot2|14 years ago|reply
I guess, the next notable iteration would be: "Google is working on integrating Emacs into Chrome". Oh well.
[+] antifuchs|14 years ago|reply
This announcement reminded me too of when Linus commented (upon the integration of virtual memory into Linux) that Linux had become the Emacs of terminal emulators.

Pretty funny that by integrating a Terminal emulator, Chrome becomes the Emacs of web browsers.

[+] maxwell_smart|14 years ago|reply
Why? This seems like the perfect thing for an NaCl application.
[+] xorglorb|14 years ago|reply
NaCl doesn't have the low level networking capabilities needed for SSH, Telnet, etc. because they would be a security risk (a "game" could run a portscanner or look for open SMB shares on the network).
[+] tree_of_item|14 years ago|reply
It might be a bad idea to put too many eggs in to the NaCl basket, as other browser vendors are resisting it pretty strongly.
[+] barrybe|14 years ago|reply
NaCl is nice and all, but it's better to have something that works perfectly fine on top of Javascript/HTML5, rather than only inside NaCl.
[+] mindcrime|14 years ago|reply
Sounds like the perfect thing for a JNLP app to me.
[+] figital|14 years ago|reply
Makes sense. Using the console to query information about what's going on inside Chromium's processes is already similar to the "shell experience". (This might explain why recent Chromium builds have gone from 45MB to 235MB!!)
[+] Someone|14 years ago|reply
Google or someone at Google? I cannot figure that out from that page, and I do not see a business reason for doing it. Or is this intended to be the software equivalent of JTAG on Chrome OS? What am I missing?
[+] oacgnol|14 years ago|reply
Combining a terminal emulator with Google Sync would be really cool to have - terminal settings that sync just like any other preference or bookmark.
[+] smashing|14 years ago|reply
Does anyone remember Konqueror has a webbrowser/file browser methodology of handling protocols such as SFTP through IOSlaves called FISH?

I know Konqueror shares a codebase with Chromium through the KHTML renderer and maybe more, but maybe Google's Chrome is dipping into the well of ideas that comes from the KDE project but using a different implementation, of course.

[+] zobzu|14 years ago|reply
Chrome is the ChromeOS ;-) I'm wondering whats the intended use tho? Start ssh and the like from the webpage? scared
[+] spolsky|14 years ago|reply
For those of you too young to remember, all the early web browsers supported telnet: URLs, usually launching an external telnet client.
[+] phogster|14 years ago|reply
I'd imagine the address bar itself would accept the ssh:// protocol.
[+] jimktrains2|14 years ago|reply
But they can't make it so that you can view the source without loading the page -_-
[+] Kwpolska|14 years ago|reply
If you want to read the source, and even edit it, I suggest using the Chrome Web Inspector. Ctrl-Shift-I or ⌘-Option-I.