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
    • 最新
    • 标签
主页 / server / 问题 / 21806
Accepted
Thomas Vander Stichele
Thomas Vander Stichele
Asked: 2009-06-09 02:57:40 +0800 CST2009-06-09 02:57:40 +0800 CST 2009-06-09 02:57:40 +0800 CST

如何从我的桌面在远程服务器上通过 ssh 命令启动屏幕会话?

  • 772

我希望能够通过桌面上的单个 ssh 命令在远程服务器上启动屏幕会话。但是 screen 似乎需要一个终端,通过 ssh 运行命令时该终端不可用。

所以很明显

ssh [email protected] screen "tail -f /var/log/messages"

(例如)不起作用,并给出

Must be connected to a terminal.

我希望 ssh 在屏幕下启动命令,以便稍后登录并附加到手动启动的屏幕会话中。

ssh gnu-screen terminal tty
  • 4 4 个回答
  • 79709 Views

4 个回答

  • Voted
  1. Best Answer
    Kjetil Joergensen
    2009-06-09T03:04:09+08:002009-06-09T03:04:09+08:00

    尝试使用 -t 选项来 ssh

    ssh -t [email protected] screen "tail -f /var/log/messages"
    

    从人 ssh

    -t 强制伪 tty 分配。这可以用来执行仲裁
            将基于屏幕的程序放在远程机器上,可以是
            非常有用,例如在实现菜单服务时。多个 -t
            即使 ssh 没有本地 tty,选项也会强制分配 tty。
    
    • 88
  2. Alakdae
    2009-06-09T06:08:09+08:002009-06-09T06:08:09+08:00

    您可以使用:

    ssh root@host screen -m -d "tail -f /var/log/messages"
    

    这将启动一个分离的屏幕,并在其上运行一个命令。

       -m   causes screen  to  ignore  the  $STY  environment  variable.  With
            "screen  -m"  creation  of  a  new session is enforced, regardless
            whether screen is called from within  another  screen  session  or
            not.  This  flag has a special meaning in connection with the `-d'
            option:
    
       -d -m   Start screen in "detached" mode. This creates a new session but
               doesn't  attach  to  it.  This  is  useful  for  system startup
               scripts.
    
    • 37
  3. w00t
    2011-09-13T12:48:01+08:002011-09-13T12:48:01+08:00

    迟到的答案,但这就是我所做的,我做了一个别名(让我们称之为 t)来做到这一点:

    ssh $MYSERVER -a -x -t screen -xRR -A -e^Zz -U -O
    

    这告诉ssh禁用代理和 X11 转发,并告诉screen附加到正在运行的会话,如果需要,启动一个新会话,^Z用作 breakout 命令,使用 UTF-8 并对终端保持智能。

    所有这一切意味着我可以打开一个终端,输入t它会在 $MYSERVER 上打开我的屏幕会话。然后我可以打开另一个终端,做同样的事情,然后我会在同一个会话中打开另一个窗口。

    在同一个屏幕会话中拥有多个终端窗口真的很棒,这样您就可以同时查看两个屏幕选项卡。

    • 8
  4. Brent
    2009-06-09T06:21:04+08:002009-06-09T06:21:04+08:00

    通过将以下内容放在我服务器上的 ~/.bashrc 文件中,它会在我第一次登录服务器时启动屏幕会话,或者如果一个已经在运行,则将我重新连接到该会话。

    我觉得这很方便:

    if [ -n "$SSH_CONNECTION" ] && [ -z "$SCREEN_EXIST" ]; then
        export SCREEN_EXIST=1
        screen -DRi
    fi
    
    • 4

相关问题

  • GNU 屏幕和 .bashrc

  • Windows SSH 客户端

  • 在 Windows Server 2003 上通过 SSH 启动和停止 Mongrel 服务

  • 隧道 Xbox 网络流量 [关闭]

  • 为什么使用authorized_keys通过ssh自动登录不起作用?

Sidebar

Stats

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

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    从 IP 地址解析主机名

    • 8 个回答
  • Marko Smith

    如何按大小对 du -h 输出进行排序

    • 30 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    Windows 中执行反向 DNS 查找的命令行实用程序是什么?

    • 14 个回答
  • Marko Smith

    如何检查 Windows 机器上的端口是否被阻塞?

    • 4 个回答
  • Marko Smith

    我应该打开哪个端口以允许远程桌面?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    MikeN 在 Nginx 中,如何在维护子域的同时将所有 http 请求重写为 https? 2009-09-22 06:04:43 +0800 CST
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    0x89 bash中的双方括号和单方括号有什么区别? 2009-08-10 13:11:51 +0800 CST
  • Martin Hope
    kch 如何更改我的私钥密码? 2009-08-06 21:37:57 +0800 CST
  • Martin Hope
    Kyle Brandt IPv4 子网如何工作? 2009-08-05 06:05:31 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

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

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve