在下一篇文章中,我们将看一下GoTTY。 这是一个程序,允许用户 通过Web浏览器将应用程序共享到Gnu / Linux终端。 GoTTY是一个简单的Web服务器 使用Go编写的程序,该程序运行非GUI程序,并且可以通过以下方式启动:浏览器可以显示它 并允许用户进行互动。
也许不是每个人都会发现 在浏览器窗口中运行特定的命令行程序。 但是在某些情况下,例如当我们想使用top远程监视系统而不必连接到系统时,在这种情况下可能会很有趣。
如果我们可以将top的输出显示在浏览器窗口中,那么这将是一个非常简单的解决方案。 尽管还有其他选项可以获取相同的结果,但我们可能会对命令行的其他功能感兴趣,或者希望使用经过身份验证的用户与正在运行的软件进行交互。 这一切,GoTTY将使我们能够轻松地做到这一点。
在Ubuntu上安装GoTTY
为了使用GoTTY,我们需要安装Go。 大多数Gnu / Linux发行版在官方存储库中都有Go语言,因此我们可以轻松安装它。 要在我们的Ubuntu中安装和配置它,前不久,我们在此博客中写道: 危象 在其中说明了如何以简单的方式进行操作。
我们还将 需要安装git,我们可以通过输入终端(Ctrl + Alt + T)来完成:
sudo apt install git
当我们已经有了Go时,我们可以开始编写以下内容。 此命令将在您的环境变量中安装GoTTY二进制文件:
go get github.com/yudai/gotty
至 检查一切都正确,编写以下命令:
ls $GOPATH/bin/
如何在Ubuntu中使用GoTTY
要执行它,我们将使用以下语法:
$GOBIN/gotty [opciones] <comando>
万一没关系 启动并共享最高命令,您只需要编写:
$GOBIN/gotty top
top命令将在您当前的计算机上运行 端口8080(http://127.0.0.1:8080/)。 在浏览器中,您将看不到静态图像,该屏幕就像在终端中运行一样被更新。
服务器将一直运行,直到您杀死它为止。 这可以通过按Ctrl + C来完成。 如果有人连接到服务器,则需要按两次Ctrl +C。 对这个命令 可以添加选项以更改端口(-p)和地址(-a).
请记住, 默认情况下,GoTTY不允许客户端将条目写入TTY,它仅允许调整窗口大小。
从浏览器编辑文件
我们将能够 使用-wo –permit-write选项允许客户端写入TTY哪一个 不建议这样做,因为服务器上可能存在安全威胁.
以下命令将使用 vi 命令行编辑器打开文件 ubunlog.txt 并允许您从网络浏览器编辑它:
$GOBIN/gotty -w vi ubunlog.txt
将GoTTY与基本身份验证配合使用(用户名和密码)
在第一种情况下,我们只是不太在乎陌生人是否能看到最高的输出。 如果运行GoTTY的计算机位于防火墙后面,则外部人将看不到它。 对于某些应用程序,这已足够。 但是,例如,如果我们允许输入(使用-w选项),人们可能会远程终止进程,因此将其发布到网络上可能不是一个好主意。
为了尝试对此提出一种解决方案,我们可以 激活基本身份验证系统。 在这里,客户端将需要输入指定的用户名和密码以连接到GoTTY服务器。
以下命令 将使用-c选项限制客户端访问,并提示用户输入指定的凭据。 在此示例中,用户名将为 ubunlog 和密码 @ 12345.
$GOBIN/gotty -w -p "9000" -c "ubunlog:@12345" top
在Gotty中生成随机URL
限制的另一种方法 服务器访问 正在使用-r选项。 在这里,GoTTY将生成一个随机URL,以便只有知道它的用户才能访问服务器。
我们刚刚看到的只是GoTTY可以完成的一些事情。 他们能 请咨询这些以及其他内容,有关详细信息,请参见 项目GitHub页面。 这是不适合所有情况的解决方案之一,但是如果您需要它做的事,那么最好有这种可能性。