如何在双显示器设置中将终端镜像到第二个屏幕上?

Jan*_*der 25 command-line display multiple-monitors

我使用双显示器设置进行教学,因此我在桌面上看到的内容与观众看到的内容不同。这适用于演示文稿:当学生看到幻灯片时,我可以看到我的笔记。

但我想使用终端来运行 shell。但是,终端必须在我的桌面或外部屏幕上。

有没有办法同时在两个屏幕上显示终端内容?我不想镜像屏幕,而是坚持双显示器模式。

任何提示?

我在 Gnome 上使用 Ubuntu。

pa4*_*080 37

一种优雅的方法是tmux用于此任务:sudo apt install tmux. 下面是一个例子:


vid*_*rlo 27

想不出有什么办法可以直接实现你想要的——也许别人可以。但我能想到一个解决方法。

安装screen使用sudo apt install screen。启动两个终端。在第一个中,screen在您获得的唠叨屏幕上键入并按 Enter 键。在第二个中,键入screen -x

它们将有效地显示相同的内容。它不是同一个终端窗口,但内容相同。

Screen 也可以做更多的事情,比如你可以在多个窗口之间切换。这是可用功能的快速教程


sco*_*001 15

便携式解决方案

使用script!例如:

个人终端:

> script -f /tmp/lecture1.scrpt #use -F instead on MacOS
> ... #start doing things here!
Run Code Online (Sandbox Code Playgroud)

演示终端:

> #after this, terminal will continuously print whatever's written to personal terminal
> tail -F /tmp/lecture1.scrpt
Run Code Online (Sandbox Code Playgroud)

这个怎么运作

script命令将写入终端屏幕的所有内容(包括您键入的内容!)复制到它作为参数的文件中。通常,在您结束脚本后(通过键入exit),所有内容都会写入文件。但是,该-f选项会导致script在每次写入后刷新其缓冲区(在 MacOS 上,这将是-F-t 0)。然后,在演示终端中,您可以使用tail -F连续查看编写的内容。


注意事项

  • 由于一个终端正在写入文件而另一个正在读取,因此这可以在不同用户之间完成!这意味着您可以让某人以很少的权限 ssh 进入,只要您将脚本文件放在他们可以读取的位置,您仍然可以向他们展示。(即:如果您有学生可以访问的服务器,您可以创建一个仅对他们可读的 .scrpt 文件,以便他们可以在自己的屏幕上进行操作)

  • 鉴于这种方法的性质,一个终端正在驾驶而另一个只是观看。

  • 这种方法还有一个额外的好处,它可以让您轻松停止镜像、做一些秘密工作并重新开始镜像,而无需离开您的个人终端。这可以通过以下方式完成:

个人终端:

> 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
Run Code Online (Sandbox Code Playgroud)

更有趣script

的目的script是记录您的终端会话,以便稍后播放(我们恰好是在录制时播放的特例)。为了解决这个问题,script可以-t选择记录时间以及写入屏幕的内容。要使用它,请使用以下命令启动脚本会话:

> script -f -t 2>/tmp/lecture1.timing /tmp/lecture1.scrpt
Run Code Online (Sandbox Code Playgroud)

并用以下方式播放(有时间!):

> scriptreplay -t /tmp/lecture1.timing -s /tmp/lecture1.scrpt
Run Code Online (Sandbox Code Playgroud)

有一个学生给你发电子邮件说他生病了不能上课?或者只是想给你的学生更多的讲座材料?如果您在讲座期间录制您的声音(并在录制的同时启动脚本),那么您的学生可以用您的声音回放您的终端会话并获得完整的讲座体验!

有学生喜欢以 2 倍速播放他的所有视频吗?scriptreplay需要一个“除数”,它将播放速度乘以!只需-d 2以 2 倍速度传球即可(请注意,这是一个双倍值,因此您甚至可以-d .5以半速进行!)。