Máy khách HTML để chuyển tiếp X11 ssh?


9

Không hoàn toàn chắc chắn nếu đây là nơi thích hợp nhưng ở đây đi.

Tôi hiểu rằng bạn có thể sử dụng X11 để ssh cho GUI và xem chúng, mà không cần máy chủ có đầy đủ trên hệ thống GUI đang chạy / cài đặt như gnome hoặc một cái gì đó.

Mục tiêu cuối cùng của tôi là có thể "phát sóng" các phiên mã hóa của mình trực tuyến, vì vậy mọi người có thể xem chúng trực tuyến.

Ngay bây giờ tôi đã thiết lập nó để một phiên tmux bị hạn chế về cơ bản sẽ luôn phản chiếu cửa sổ phiên mã hóa tmux cá nhân của riêng tôi. Vì vậy, nếu bạn ssh vào máy chủ trên một tài khoản bị hạn chế, bạn có thể nhảy vào phiên bị hạn chế và làm theo mã hóa của tôi.

Tuy nhiên, tôi muốn có thể cho phép mọi người xem cái này từ trình duyệt của họ. Tôi nghi ngờ rằng cách tốt nhất là để một số trình giả lập thiết bị đầu cuối trên x11 chạy trên máy chủ của tôi được gắn vào phiên tmux..và sau đó bằng cách nào đó có trình xem trình giả lập thiết bị đầu cuối đó?

Tôi không thực sự quá quen thuộc với tên miền này, vậy có ai biết nếu điều này là có thể không? Hoặc có một cách tiếp cận tốt hơn tôi nên được thực hiện?

Lưu ý rằng tôi mã hoàn toàn trên một máy chủ không đầu từ xa mà tôi ssh lên.

Câu trả lời:


6

Nó thực sự phụ thuộc vào chính xác những gì bạn muốn kết thúc với.

Nếu bạn muốn nhiều người kết nối với máy tính của bạn xem những gì bạn đang làm, thì xuất phiên X qua VNC nên làm điều đó. Bạn có thể chạy một máy chủ "không đầu" riêng biệt (kết xuất vào bộ đệm khung RAM thay vì bộ nhớ thẻ đồ họa) hoặc thậm chí xuất phiên hiện tại của bạn với x11vnc. Đối với x11vnc(tất nhiên bạn có thể làm ngay cả với máy chủ không đầu), -viewonlytùy chọn là bạn của bạn, vì bạn không muốn người khác có thể can thiệp vào bất cứ điều gì bạn làm ở đó. Dường như có giải pháp cho connectiong đến máy chủ VNC từ trình duyệt web, ví dụ noVNC hoặc RealVNC

Để phát video (và tùy chọn âm thanh), để có thể xem video mà không cần bất kỳ phần mềm "đặc biệt" nào hoặc phát lại sau, bạn có thể sử dụng ví dụ ffmpegcó thể lấy dữ liệu X11 (tìm kiếm x11grabtrong tài liệu) và biến nó thành một video. Tất nhiên bạn có thể thêm một luồng âm thanh của bạn nhận xét nó. Sau đó, bạn có thể truyền phát đầu ra và tùy thuộc vào định dạng và codec, có thể xem trực tiếp trên trình duyệt. Tuy nhiên, trừ khi bạn ở trong học viện (hoặc biến nó thành một hoạt động tư nhân, phi thương mại), bạn có khả năng về mặt pháp lý không thể sử dụng một số codec vì bị vướng vào bằng sáng chế của họ.


1
Vâng, VLC chỉ đọc là con đường để đi.
David

Nếu tôi làm vnc, tôi có cần tìm cách nhúng vnc vào trình duyệt web không? ý tưởng ffmpeg thực sự nghe có vẻ tốt vì tôi có thể thiết lập nó để phát trực tuyến đến bất kỳ trang web phát video trực tuyến nào, phải không?
Justin L.

@JustinL. xem câu trả lời cập nhật cho vnc thông qua trình duyệt.
peterph

3

Tôi chưa thực hiện bất kỳ ghi chép nào cho đến nay, nhưng đối với trường hợp của bạn, tôi thấy hai khả năng:

Ghi hình trực tiếp dựa trên video

Điều này thực sự sử dụng các luồng video. Ưu điểm là bạn có thể hiển thị toàn bộ phiên X của mình, sử dụng nhiều chương trình, cũng như các chương trình đồ họa và có thể bao gồm âm thanh trên cùng một kênh, như nhận xét về những gì bạn chỉ đang mã hóa. Mặt khác, nếu tất cả những gì bạn muốn là hiển thị phiên cuối, bộ giải mã video có thể không lý tưởng liên quan đến cả yêu cầu băng thông và chất lượng hình ảnh.

  • Một cái gì đó dọc theo dòng đó được bao gồm trong BigBlueButton . Nó có nhiều tính năng hơn và có thể là quá mức cho trường hợp sử dụng của bạn, nhưng là một môi trường học tập, nó chắc chắn đáng xem. Để xem những gì nó kiểm tra các bản demo . Để bắt đầu nhanh bằng cách sử dụng nó, có BigBlueButtonVM .
  • Mặt khác, dường như có một cách để làm cho ffmpeg làm điều đó (xem Screencast thời gian thực với HTML5 <video> ... và ghi hình trực tiếp bằng cách sử dụng ffmpeg ).
  • Như bạn đã đề cập đến các dịch vụ phát trực tuyến: Với WebcamStudio, bạn có thể chia sẻ máy tính để bàn của mình và trộn vào các nguồn video khác cho các dịch vụ lấy webcam qua flash, v.v.

Trình giả lập thiết bị đầu cuối web

Điều này có thể hoạt động khá giống với thiết lập hiện tại của bạn. Ý tưởng cơ bản là có một cái gì đó giống như xterm trong trình duyệt. Trong mục này tôi đã tìm thấy một số giải pháp, đáng chú ý nhất là:

  • GateOne có một ứng dụng khách ssh mà bạn có thể sử dụng với thiết lập hiện tại của mình.
  • shellinabox bị ràng buộc với các chương trình cụ thể trên máy chủ. Thay vì một cái vỏ có thể là "người chơi tmux" của bạn

Wow tôi đã không nhận ra rằng shellinabox có thể liên kết với các chương trình cụ thể. Tôi sẽ kiểm tra xem.
Justin L.

Cuối cùng tôi sẽ chạy với giải pháp shellinabox, tôi sẽ chấp nhận câu trả lời khác vì đó là câu trả lời trực tiếp hơn một chút cho vấn đề thực tế mà tôi đang hỏi về :) Tôi hy vọng bạn hiểu.
Justin L.

3

Xpra có một máy khách html5 hoạt động thực sự tuyệt vời, mặc dù nó đang trong giai đoạn phát triển ban đầu. Cá nhân tôi sử dụng nó như một sự thay thế chuyển tiếp X11, vì nó sinh ra một phiên X11 và chỉ hiển thị các ứng dụng duy nhất, như bạn đã mô tả. Nó cũng có tùy chọn 'bóng' cho phép kết nối với phiên hiện có.


2
Xpra hiện có ứng dụng khách HTML5 - xpra.org/trac/wiki/Clrons/HTML5 - hiện chúng tôi đang sử dụng trong CoCalc.com để hỗ trợ X11 dựa trên web ( blog.sagemath.com/cocalc/2018/11/ 05 / x11.html )
William Stein

0

Tôi nghĩ rằng tôi sẽ bị cám dỗ để xem xét các dịch vụ / phương pháp lập trình cặp để xem những gì có thể phù hợp với nhu cầu của bạn ở đây. Tôi biết bạn có thể sử dụng X11vnc, như những người khác đã đề cập. Nó hoạt động khá tốt, không chắc mức độ bạn dự định sẽ có 2 người trở lên theo dõi phiên của bạn.

Floobits

Có dịch vụ này, Floobits . Có vẻ như miễn phí để bắt đầu, không biết chi tiết.

đoạn trích

Chúng tôi hiện hỗ trợ Sublime Text, Vim và Emacs. Chúng tôi cũng có một trình soạn thảo dựa trên trình duyệt.

Khi chúng tôi xây dựng các plugin này, chúng tôi đã học được rằng cộng tác theo thời gian thực đòi hỏi nhiều hơn là chia sẻ mã. Chúng tôi muốn chia sẻ đạn pháo, vì vậy chúng tôi đã xây dựng Flootty. Chúng tôi muốn gửi các thay đổi đến một máy chủ thử nghiệm khi chúng tôi gõ, vì vậy chúng tôi đã xây dựng một người giao hàng khác không đầu. Chúng tôi muốn trò chuyện bằng giọng nói và chia sẻ màn hình, vì vậy chúng tôi đã thêm Google+ Hangouts vào trình chỉnh sửa dựa trên web của mình.

Đăng ký và thử chúng tôi miễn phí.

Google Hangouts

Có lẽ tôi sẽ đi theo con đường này. Bạn có thể tạo Google Hangout và sau đó trở thành người điều khiển phiên trong khi những người khác "xem". Nên mở rộng quy mô rất độc đáo và đã giải quyết hầu hết các rào cản kỹ thuật cho bạn về việc vượt qua tường lửa của mọi người, các công cụ chia sẻ và trong việc cung cấp trải nghiệm tổng thể tốt.

Tôi nghĩ rằng nhược điểm duy nhất là những người khác sẽ cần phải có tài khoản Google+. Nhưng đó nên là một công cụ thỏa thuận.

Sự lựa chọn khác?

Cuối cùng tôi sẽ xem qua Hỏi & Đáp về StackOverflow này có tiêu đề: http://www.google.com/+/learnmore/hangouts/ . Mặc dù câu hỏi này thường bị đóng ngoài chủ đề như thường lệ, nhưng có rất nhiều hướng dẫn tốt để giải quyết các nhu cầu cụ thể của bạn bằng cách xem qua các loại câu hỏi này và đánh giá các công nghệ khác nhau.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.