AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题 / 1285
Accepted
JPrescottSanders
JPrescottSanders
Asked: 2010-08-06 15:37:57 +0800 CST2010-08-06 15:37:57 +0800 CST 2010-08-06 15:37:57 +0800 CST

如何通过一个 SSH 连接拥有多个终端会话?

  • 772

我有一个 Ubuntu 服务器版本正在运行,我可以通过 SSH 连接它来执行各种任务。我想要的是能够通过 SSH 进入我的服务器启动服务器应用程序,然后切换到另一个“虚拟”会话(在同一个 SSH 实例中)并针对该服务运行客户端调用。当我启动服务时,它是一个阻塞调用,所以如果不启动另一个 SSH 会话,我就无法针对它运行客户端调用。

我希望可能有一种更巧妙的方式,就像 UI 对虚拟桌面所做的那样。

command-line ssh
  • 4 4 个回答
  • 37522 Views

4 个回答

  • Voted
  1. Best Answer
    txwikinger
    2010-08-06T15:43:20+08:002010-08-06T15:43:20+08:00

    您想要使用的是屏幕,甚至更好的是一个用户友好的屏幕包装,称为 byobu。

    Screen 允许您在同一个 ssh 会话中运行多个虚拟终端会话。提供教程和帮助页面。

    byobu是一个包装器,它允许使用简单的功能键而不是 ctrl-a 的组合键轻松打开新屏幕。它还显示了一个状态行,其中包含所有可以命名的打开的虚拟终端。

    另一个不错的功能是,当您的 ssh 连接断开时,您的所有屏幕都可以保持打开状态。您只需通过 ssh 再次连接并调用 byobu,一切都像以前一样。

    最后是byobu的一些截图。

    • 24
  2. Marco Ceppi
    2010-08-06T15:55:50+08:002010-08-06T15:55:50+08:00

    GNU Screen是您一直在寻找的答案——但它很像 Vi。您已经学习了很多命令来设置成功的 Screen 环境。这里有一些东西可以帮助您入门。首先,您需要将此.screenrc http://paste.ubuntu.com/473764/保存在远程服务器上的用户主文件夹中。下一步在远程机器上安装屏幕 ( sudo apt-get install screen) 接下来您要启动它,这里有一些用于“启动屏幕”的命令:

    screen- 这很简单。它开始一个新的屏幕会话 screen -ls- 列出所有活动的屏幕会话。是的,您可以在多个屏幕内拥有多个终端。如此甜蜜。

    样本

    screen -ls
    There is a screen on:
        16467.pts-0.ubuntu  (08/05/2010 07:47:53 PM)    (Detached)
    1 Socket in /var/run/screen/S-marco.
    

    screen -x <pid>- 这将恢复分离屏幕会话,即 IE:screen -x 16467

    进入屏幕后(并且使用了我的示例.screenrc文件),您将在底部看到以下内容:

    (LOAD) 0$* bash

    这是服务器负载和所有打开的“终端选项卡”的列表。目前只有一个窗口。键入内容然后按此组合键:Ctrl + A松开,然后按c。Ctrl + A是转义序列。所有命令都以此组合开始。c是创建新标签。您会注意到页脚(LOAD) 0-$ bash 1$* bash显示有另一个选项卡打开,并且活动选项卡的编号为 1。每个屏幕会话最多可以打开 60 个选项卡。

    如果你想退出屏幕但让它继续运行,Ctrl + A那么使用d它将分离你的会话。最后,您可以使用Ctrl + Athen关闭选项卡,k这将杀死该选项卡(如果它锁定),但通常您可以exit像在终端中一样键入,它会关闭该选项卡。

    最后列出所有打开的窗口,您可以键入Ctrl + Athen "。

    Screen 有很多可用的选项,您应该在 man 文件中找到更多选项。有一些缺点。您不能在 Screen 中使用滚动条,您必须使用缓冲区控件来回滚,但以上内容足以让您开始了解这是否是一个可行的选项。这是一件很棒的事情,也是我作为系统管理员处理过很多事情的事情——网络连接。如果您的网络中断,您的操作不会丢失!由于屏幕正在服务器上运行。您只需通过 SSH 重新登录,然后screen -ls重新screen -x进入您的会话。

    • 5
  3. jbowtie
    2010-08-06T16:15:04+08:002010-08-06T16:15:04+08:00

    如果您使用的是 Ubuntu Server Edition byobu,绝对是您的最佳选择。Ubuntu 服务器指南有一些有用的文档。

    screen它通常比默认安装更容易学习和使用。

    • 1
  4. cjac
    2010-08-06T16:00:43+08:002010-08-06T16:00:43+08:00

    我使用 Emacs,所以 screen 的默认配置让我的生活变得困难。

    $ cat /home/cjac/.screenrc 
    

    逃脱^\

    试试看!

    • 0

相关问题

  • 如何从命令行刻录双层 dvd iso

  • 如何从命令行判断机器是否需要重新启动?

  • 文件权限如何工作?文件权限用户和组

  • 如何在 Vim 中启用全彩支持?

  • 如何与无头服务器进行图形交互?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何安装 .run 文件?

    • 7 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    如何获得 CPU 温度?

    • 21 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Marko Smith

    如何使用命令行将用户添加为新的 sudoer?

    • 7 个回答
  • Marko Smith

    更改文件夹权限和所有权

    • 9 个回答
  • Marko Smith

    你如何重新启动Apache?

    • 13 个回答
  • Marko Smith

    如何卸载软件?

    • 11 个回答
  • Marko Smith

    如何删除 PPA?

    • 26 个回答
  • Martin Hope
    NES 如何启用或禁用服务? 2010-12-30 13:03:32 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    Olivier Lalonde 如何在结束 ssh 会话后保持进程运行? 2010-10-22 04:09:13 +0800 CST
  • Martin Hope
    David B 如何使用命令行将用户添加为新的 sudoer? 2010-10-16 04:02:45 +0800 CST
  • Martin Hope
    Hans 如何删除旧内核版本以清理启动菜单? 2010-08-21 19:37:01 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve