Làm cách nào để thiết bị đầu cuối được nhân đôi lên màn hình thứ hai trong thiết lập hai màn hình?


25

Tôi dạy bằng cách sử dụng thiết lập hai màn hình, vì vậy những gì tôi thấy trong máy tính để bàn của mình khác với những gì khán giả của tôi có thể thấy. Điều này hoạt động tốt cho các bài thuyết trình: trong khi các sinh viên nhìn thấy các slide, tôi có thể thấy các ghi chú của tôi.

Nhưng tôi muốn sử dụng một thiết bị đầu cuối để chạy shell. Tuy nhiên, thiết bị đầu cuối phải ở trên màn hình của tôi HOẶC trên màn hình bên ngoài.

Có cách nào để hiển thị nội dung thiết bị đầu cuối trong cả hai màn hình không? Tôi không muốn phản chiếu màn hình, nhưng vẫn giữ chế độ hai màn hình.

Có gợi ý nào không?

Tôi đang sử dụng Ubuntu với Gnome.


Chà, bạn có thể phản chiếu máy tính để bàn của mình và hiển thị trình giả lập thiết bị đầu cuối, đó là một cách, nếu bạn chỉ muốn hiển thị thiết bị đầu cuối theo bất kỳ cách nào miễn là nó hoạt động. Bạn đang nói về TTY cụ thể? Sau đó, hai câu trả lời đã có cho màn hình và tmux có thể hoạt động. Thực sự phụ thuộc vào nhu cầu của bạn
Sergiy Kolodyazhnyy

Không phải là một bản sao, bởi vì câu hỏi này đặc biệt về các thiết bị đầu cuối có nghĩa là có các tùy chọn khác (ví dụ: màn hình, tmux) có sẵn, nhưng câu hỏi này có liên quan rất chặt chẽ và câu trả lời cũng nên có cho vấn đề này.
psmears

@Sergiy Kolodyazhnyy: Tôi không muốn phản chiếu máy tính để bàn vì nó gây rối với bài thuyết trình. Khi tôi chuyển trở lại màn hình riêng biệt, các slide không vừa với màn hình nữa; đôi khi các slide đi đến máy tính để bàn của tôi. tmux đang làm việc tốt cho tôi
Jander

Câu trả lời:


15

Giải pháp di động

Sử dụng script! Ví dụ:

Thiết bị đầu cuối cá nhân:

> script -f /tmp/lecture1.scrpt #use -F instead on MacOS
> ... #start doing things here!

Thiết bị đầu cuối trình bày:

> #after this, terminal will continuously print whatever's written to personal terminal
> tail -F /tmp/lecture1.scrpt

Làm thế nào nó hoạt động

Các scriptlệnh sao chép tất cả mọi thứ bằng văn bản cho màn hình thiết bị đầu cuối (bao gồm cả những gì bạn gõ!) Vào một tập tin phải mất như một tham số. Thông thường mọi thứ sẽ được ghi vào tệp sau khi bạn kết thúc tập lệnh (bằng cách nhập exit). Tuy nhiên, -ftùy chọn gây scriptra xóa bộ đệm của nó sau mỗi lần ghi (trên MacOS, điều này sẽ là -Fhoặc -t 0). Sau đó, trong thiết bị đầu cuối trình bày, bạn có thể sử dụng tail -Fđể xem nội dung liên tục khi chúng được viết.


Những điều cần lưu ý

  • Vì một thiết bị đầu cuối đang ghi vào một tệp và thiết bị kia đang đọc, điều này có thể được thực hiện giữa những người dùng khác nhau! Điều này có nghĩa là bạn có thể có ai đó ssh in với rất ít quyền và miễn là bạn đặt tệp tập lệnh vào vị trí họ có thể đọc, bạn vẫn có thể trình bày cho họ. (tức là: nếu bạn có máy chủ mà học sinh của bạn có quyền truy cập, bạn có thể tạo tệp .scrpt chỉ có thể đọc được cho họ để họ có thể theo dõi trên màn hình của chính họ)

  • Với bản chất của phương pháp này, một thiết bị đầu cuối đang lái xe và thiết bị kia chỉ xem.

  • Phương pháp này cũng có thêm phần thưởng giúp bạn dễ dàng ngừng phản chiếu, thực hiện một số công việc bí mật và bắt đầu làm lại tất cả mà không cần rời khỏi thiết bị đầu cuối cá nhân của bạn. Điều này có thể được thực hiện với những điều sau đây:

Thiết bị đầu cuối cá nhân:

> exit #end script session; stop writing to /tmp/lecture1.scrpt
> ... #do secret things not safe for student eyes!
> script -f -a /tmp/lecture1.scrpt #begin writing again with -a to append

Vui hơn với script!

Mục đích của scriptviệc ghi lại phiên cuối của bạn để có thể phát lại sau (chúng tôi chỉ là trường hợp đặc biệt phát lại khi ghi). Để giải quyết vấn đề này, script-ttùy chọn ghi lại thời gian cùng với những gì được ghi trên màn hình. Để sử dụng nó, hãy bắt đầu phiên script của bạn với:

> script -f -t 2>/tmp/lecture1.timing /tmp/lecture1.scrpt

Và phát lại (với thời gian!) Với:

> scriptreplay -t /tmp/lecture1.timing -s /tmp/lecture1.scrpt

Có một sinh viên gửi email cho bạn nói rằng anh ta bị bệnh và không thể giảng bài? Hay chỉ muốn cung cấp cho sinh viên của bạn nhiều tài liệu bài giảng? Nếu bạn ghi âm giọng nói của mình trong bài giảng (và bắt đầu kịch bản cùng lúc với bản ghi âm), thì sinh viên của bạn có thể phát lại phiên cuối của bạn bằng giọng nói của bạn và có được trải nghiệm bài giảng đầy đủ!

Có một học sinh thích phát tất cả các video của mình với tốc độ gấp đôi? scriptreplaymất một "ước số" mà nó nhân tốc độ chơi lên! Chỉ cần vượt qua -d 2để chơi ở tốc độ gấp đôi (lưu ý đây là giá trị gấp đôi, vì vậy bạn thậm chí có thể làm -d .5với tốc độ một nửa!).


Ồ, thật thú vị! Điều đáng kinh ngạc là điều này dường như xử lý việc duyệt lịch sử, xóa, màu sắc ... hoàn hảo. Sẽ không nghĩ rằng điều này là có thể với tail. (Tôi nghĩ tmuxvẫn tốt hơn là trong thực tế, bởi vì nó cũng không có vấn đề với ví dụ như một phiên biên tập.)
leftaroundabout

Cách tiếp cận thực sự thú vị! Nó có thể xử lý các thay đổi kích thước cửa sổ, trong khi tmuxscreenkhông thể, theo như tôi có thể nói.
Jander

@leftaroundabout điều kỳ diệu ở đây thực sự chỉ taillà việc thực sự làm rất ít . Nếu bạn nhìn vào một tập tin script có nội dung giống như vimhoặc lessbạn sẽ thấy nó thêm các lối thoát xấu xí vì nó đang cố kiểm soát cuộn màn hình và vị trí ký tự của bạn.
scohe001

@leftaroundabout bởi "phiên biên tập" bạn có ý gì đó như thế vimnào? Theo như tôi có thể nói, điều này dường như hoạt động tốt (miễn là thiết bị đầu cuối trình bày lớn hơn thiết bị đầu cuối cá nhân)
scohe001

35

Một cách thanh lịch là sử dụng tmuxcho nhiệm vụ này : sudo apt install tmux. Đây là một ví dụ:

  • Tạo một phiên gọi là my_session(loại bỏ -dđể đính kèm trong quá trình tạo):

    tmux new-session -d -s my_session
    
  • Mở một hoặc nhiều cửa sổ đầu cuối mới và đính kèm vào cùng một phiên:

    tmux attach -t my_session
    
  • Để tách khỏi loại phiên:

    tmux detach
    

    Hoặc nhấn Ctrl+b , sau đó phát hành Ctrlvà nhấn d.

  • Để gửi lệnh đến phiên mà không đính kèm:

    phím gửi tmux -t my_session "echo Hello World!" ĐI VÀO  Enter
  • Lưu ý exitlệnh, được thực hiện từ bên trong, sẽ đóng phiên.


27

Không thể nghĩ ra bất kỳ cách nào để trực tiếp đạt được những gì bạn muốn - có lẽ những người khác có thể. Nhưng tôi có thể nghĩ về một cách giải quyết.

Cài đặt screenvới sudo apt install screen. Bắt đầu hai thiết bị đầu cuối. Trong phần đầu tiên, nhập screenvà nhấn enter tại màn hình nag bạn nhận được. Trong cái thứ hai, gõ screen -x.

Họ sẽ hiển thị hiệu quả cùng một nội dung. Nó không phải là cùng một cửa sổ đầu cuối, nhưng nó sẽ có cùng nội dung.

Màn hình cũng có thể làm nhiều thủ thuật hơn, chẳng hạn như nhiều cửa sổ mà bạn có thể chuyển đổi giữa. Đây là một hướng dẫn nhanh về các tính năng có sẵn.


Xin lỗi tôi không thể chọn hai câu trả lời là đúng ...
Jander

1
Điều đó hoàn toàn ổn :) Tôi đã tự mình đưa ra câu trả lời khác :)
vidarlo

4

ngoài câu trả lời của pa4080 ở trên để sử dụng tmux, tôi muốn đề xuất một phiên bản mở rộng:

Hãy thử một lần. Nó có sẵn như là gói Ubuntu. Mặc dù nó có thể được sử dụng để thay thế tmux, nhưng nó có thể làm được nhiều hơn: Tôi có thể sao chép phiên cuối của bạn bằng máy chủ công cộng tmate có thể truy cập qua ssh hoặc http (chỉ đọc hoặc chia sẻ đầy đủ). Vì vậy, sinh viên của bạn có thể sử dụng trình chiếu máy chiếu của bạn hoặc có chế độ xem chỉ đọc phiên cuối của bạn trực tiếp trong trình duyệt trên máy tính / máy tính bảng cá nhân của họ, v.v.


tmatetrông có vẻ thú vị. Đây là một bản demo đơn giản: youtube.com/watch?v=is_VpIx3Z4M
pa4080
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.