如何与其他用户共享 Linux 终端?


作为经常与其他用户协作并提供远程支持的人员,我们知道能够以有效的方式与他人共享终端或屏幕非常重要。

在多种情况下,与其他用户共享 Linux 终端都非常有用。例如,如果您与开发人员团队合作,共享您的终端可以让每个人同时查看和处理相同的代码库,而无需考虑他们的实际位置。同样,如果您需要提供远程支持,共享您的终端可以让您查看用户的系统并快速轻松地解决问题。

远程支持是另一个共享终端非常有帮助的场景。作为 IT 专业人员,您可能需要为不在现场的用户排除故障。通过与他们共享您的终端,您可以准确地了解其系统中发生的情况,并快速有效地提供必要的支持。

我们将探讨三种不同的方法来与其他用户共享您的 Linux 终端,这些方法包括使用 SSH、使用 screen 和使用 tmux。

方法 1:使用 SSH

SSH(安全外壳)是一种高度安全的协议,使我们能够远程访问和管理计算机。它之所以受欢迎,是因为它速度快、可靠,最重要的是它具有安全功能。使用 SSH,我们可以自由地访问远程机器的终端,也可以与他人共享我们的本地终端。我们可以按照以下几个简单的步骤来实现这一点:

查找您机器的 IP 地址命令

ip addr

执行此命令后,输出可能如下所示

1: lo: <loopback, up,="" lower_up=""> mtu 65536 qdisc no queue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope hostvalid_lft forever preferred_lft forever
2: eth0: <broadcast, multicast,="" up,="" lower_up=""> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether 00:11:22:33:44:55 brd ff:ff:ff:ff:ff:ff inet 192.168.1.2/24 brd 192.168.1.255 scope global eth0 valid_lft forever preferred_lft forever inet6 fe80::211:22ff:fe33:4455/64 scope link valid_lft forever preferred_lft forever

例如,列出了两个网络接口“lo”(环回接口)和“eth0”(以太网接口)。输出包含有关每个接口的 IP 地址(IPv4 和 IPv6)、MAC 地址和其他详细信息。

与其他用户共享您的终端命令

ssh -X username@your_ip_address

输出

username@your_ip_address's password:
Welcome to Ubuntu 20.04.3 LTS (GNU/Linux 5.4.0-91-generic x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/advantage

Last login: Wed Feb 23 14:55:36 2023 from 192.168.1.2

在上述命令中,将“username”替换为远程用户的用户名,将“your_ip_address”替换为您机器的 IP 地址。“-X”命令启用 X11 转发,允许远程用户访问图形应用程序并在其机器上传输文件。

方法 2:使用 Screen

screen 是一个终端多路复用器,允许我们在单个终端窗口中创建多个终端会话。使用 screen 命令,我们可以创建一个共享的终端会话,多个用户可以同时连接到该会话。我们需要探索一些命令,以便使用这种“screen”共享方法在 Linux 中将终端与其他用户连接。

通过输入以下命令启动新的 screen 会话

screen

screen 命令的输出

Welcome to screen, a window manager for terminal sessions.

Press Ctrl-A Ctrl-D to detach from the screen.
Press Ctrl-A Ctrl-D again to resume the screen session.

在 Linux 中,“screen”命令允许我们使用“Ctrl-A”后跟“c”的组合键在单个窗口中管理多个终端会话以创建新会话,以及使用“Ctrl-A”后跟“n”或“p”的组合键在会话之间切换。我们可以使用“Ctrl-A”后跟“d”的组合键从“screen”会话中分离,并在以后使用“screen -r”命令恢复它。

要查看您当前的会话 ID,请编写以下命令

screen -ls

输出将显示所有活动的 screen 会话和会话 ID。

There is a screen on
2876.pts-0.hostname	(Detached)
1 Socket in /var/run/screen/S-username.

在此示例中,会话 ID 为“2876”。

要与其他用户共享您的 screen,请使用此命令

screen -x [session ID]

输出将显示该会话的 IP 地址

screen -x 2876

当我们在 Linux 中使用“screen -x [session ID]”命令时,它将把我们附加到具有指定会话 ID 的现有 screen 会话。当我们之前使用“Ctrl-A”后跟“d”的组合键从 screen 会话中分离,并希望稍后重新附加时,此命令很有用。您可以从上次离开的地方恢复工作,甚至可以与他人协作使用同一个终端。只需确保指定正确的会话 ID(如果有多个会话正在运行),否则我们可能会收到错误消息。

Learn Linux/Unix in-depth with real-world projects through our Linux/Unix certification course. Enroll and become a certified expert to boost your career.

方法 3:使用 Tmux

在 Linux 中,可以使用“tmux”命令作为“screen”命令的替代方案。使用包管理器安装它,并使用“tmux”命令启动会话。使用“Ctrl-B”后跟“c”的组合键创建新窗口,并使用“Ctrl-B”后跟“n”或“p”的组合键在窗口之间切换。使用“Ctrl-B”后跟“d”的组合键分离,并在以后使用“tmux”attach 恢复。Tmux 具有其他功能,例如窗口拆分和可自定义的界面。

如果未安装,请输入“tmux”命令

sudo apt-get install tmux

输出将提供有关 tmux 命令的详细信息

[sudo] password for user:
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following additional packages will be installed:
  libevent-2.1-7 libutempter0
Suggested packages:
  ssh

The following NEW packages will be installed:
 libevent-2.1-7 libutempter0 tmux
0 upgraded, 3 newly installed, 0 to remove and 0 not upgraded.Need to get 732 kB of archives.
After this operation, 2,326 kB of additional disk space will be used. Do you want to continue? [Y/n] y
Get:1 http://archive.ubuntu.com/ubuntu bionic/main amd64 libevent-2.1-7 amd64 2.1.8-stable-4build1 [102 kB]
Get:2 http://archive.ubuntu.com/ubuntu bionic/main amd64 libutempter0 amd64 1.1.6-3 [7,692 B]
Get:3 http://archive.ubuntu.com/ubuntu bionic/main amd64 tmux amd64 2.6-3 [622 kB]...
Setting up tmux (2.6-3) ...
Processing triggers for libc-bin (2.27-3ubuntu1) ...

通过运行此命令,我们可以输入密码,如果正确,则系统开始下载并安装 tmux 的必要软件包。安装过程完成后,输出确认 tmux 已成功安装在系统中。

输入命令以启动新的 tmux 会话

tmux new-session

输出

[exited]

当在 Linux 终端中运行 tmux new-session 时,我们可能会看到 [exited],这表示已创建新的 tmux 会话,但由于没有向其中添加窗口,因此立即退出了。要向新会话添加窗口,我们可以使用命令 tmux new-window。

要与其他用户共享 tmux 会话,我们可以禁用其他用户重命名会话的功能,并为状态行和复制模式启用 Vi 键绑定。然后,我们可以通过按 Ctrl+B,然后按 d 从 tmux 会话中分离。

结论

总之,与其他用户共享 Linux 终端对于协作和远程访问至关重要。在本文中,我们讨论了三种共享终端的方法:SSH、screen 和 tmux。SSH 提供对远程系统的安全访问,screen 允许与多个用户同时共享,而 tmux 具有窗口拆分等其他功能。作为开发人员或 IT 专业人员,能够共享您的终端是一项宝贵的技能,可以提高生产力和效率。通过本文获得的知识,我们可以自信地与他人协作并轻松管理远程 Linux 系统。

更新于: 2023 年 7 月 27 日

1K+ 阅读量

开启您的 职业生涯

通过完成课程获得认证

开始学习
广告