Linux 如何与其他用户共享您的Linux终端
作为一个经常与其他用户协作并提供远程支持的人,我们知道与其他人共享终端或屏幕的高效方法有多么重要。
在几种情况下,与其他用户共享Linux终端会非常有用。例如,如果您与一个开发团队一起工作,共享您的终端可以让每个人同时查看和处理相同的代码库,而不论他们的物理位置如何。同样地,如果您需要提供远程支持,共享您的终端可以让您快速轻松地查看用户的系统并解决问题。
远程支持是另一个非常有帮助的场景。作为一名IT专业人士,您可能需要为远程用户进行故障排除。通过与他们共享您的终端,您可以准确了解他们系统上正在发生的事情,并快速有效地提供必要的支持。
我们将探讨三种不同的方法,使用SSH、使用screen和使用tmux与其他用户共享您的Linux终端。
方法1:使用SSH
SSH(Secure Shell)是一种高度安全的协议,可以远程访问和管理计算机。它的受欢迎程度在于其速度、可靠性和最重要的安全功能。通过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
输出将显示所有活动的屏幕会话和会话ID。
There is a screen on
2876.pts-0.hostname (Detached)
1 Socket in /var/run/screen/S-username.
在上面的示例中,会话ID为”2876″。 使用以下命令与其他用户共享屏幕。
screen -x [session ID]
输出将显示该会话的IP地址
screen -x 2876
在Linux中,当我们使用“screen -x [session ID]”命令时,它会将我们连接到指定会话ID的现有screen会话中。当我们以前使用“Ctrl-A”然后“d”从screen会话中分离出来,想稍后重新连接时,这个命令非常有用。您可以从离开的地方恢复工作,甚至可以在同一个终端上与其他人合作。只需确保指定正确的会话ID(如果有多个会话正在运行),否则可能会收到错误消息。
方法3 : 使用Tmux
在Linux中,可以使用“tmux”命令作为“screen”命令的替代方法。使用软件包管理器安装它,并使用“tmux”命令启动会话。使用“Ctrl-B”然后“c”创建新窗口,使用“Ctrl-B”然后“n”或“p”在窗口之间切换。使用“Ctrl-B”然后“d”进行分离,稍后使用“tmux attach”进行恢复。Tmux具有窗口分割和自定义界面等其他功能。
如果没有安装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系统。