标签: gnu-screen

如何将 Byobu 的复制缓冲区与 X 剪贴板集成?

我希望能够在不使用鼠标的情况下在 Byobu 和 Firefox 之间进行复制和粘贴。我可以将复制缓冲区写入文件并使用 Gedit 打开该文件,但我想知道是否有更优雅的方法。

byobu gnu-screen clipboard

5
推荐指数
1
解决办法
3348
查看次数

如何通过 PuTTY 在屏幕上获取颜色和正确的字符集?

来自 windows 的腻子连接上的屏幕会话是无色的,并且存在字符集问题(在诸如 aptitude 之类的诅咒应用程序中显示)。正确终端上的屏幕会话工作正常。

如何配置腻子以使其正常工作?

这是一个 ubuntu 服务器。

command-line gnu-screen putty

4
推荐指数
1
解决办法
1095
查看次数

创建用于“屏幕”的 shell 脚本?

我一直致力于创建一个 shell 脚本,浏览各种论坛,包括这个论坛,并使用各种搜索词,但没有运气。我希望我没有创建重复的问题。

我们有一个游戏服务器,我们必须在重启或崩溃后手动初始化屏幕,但希望将我们的几个命令打包到一个脚本中以减少停机时间。我想做的是制作一个脚本来创建一个屏幕会话,切换到它,并在新会话中执行 shell 脚本。

我已经在 shell 脚本中尝试了下面的代码。

#!/bin/sh
screen -S tf2
./startserver.sh
Run Code Online (Sandbox Code Playgroud)

当我执行脚本时,它会创建屏幕“tf2”并根据需要进入会话。服务器没有在我想要的地方启动,但是它在我执行它的屏幕会话之外启动。我们需要它在 screen 会话中,这样我们的游戏服务器就可以在没有任何人参与终端的情况下在线。

我还不是最好的 shell 脚本,但我愿意学习,我做错了什么吗?我应该用另一种方式解决这个问题吗?

server command-line bash scripts gnu-screen

4
推荐指数
1
解决办法
1万
查看次数

注销后我的屏幕进程会继续吗?

我以 root 用户身份打开了一个屏幕,sudo su -然后键入screen。然后我运行命令来启动我的 Minecraft 服务器。

Ctrl-A之后,我按和分离屏幕d。在我注销计算机后,该进程(我的服务器)是否会继续运行(显然没有将其关闭)?

gnu-screen

4
推荐指数
1
解决办法
7020
查看次数

如何检查屏幕会话是否正在运行?

有没有办法检查屏幕会话是否正在 bash 中运行?
例如:

if [screen is running]
  then
    screen -r          #if session is running then resume the session
  else
    screen "command"   #else start a new session
fi
Run Code Online (Sandbox Code Playgroud)

bash gnu-screen

3
推荐指数
1
解决办法
1万
查看次数

启动屏幕会话并运行脚本而不附加到它?

我正在尝试编写一个脚本来:

  1. 开始新的screen会话
  2. 在新的屏幕会话中运行一些程序或脚本
  3. 与屏幕会话分离,而步骤 2 中的程序可能仍在那里运行。如果步骤 2 中的程序立即或稍后完成,屏幕会话应保持运行(分离)。

我一直在尝试各种组合用的screen -X programscreen -S somename后面program接着screen -D,相结合-d或者-m我相关的问题和答案,但没有找到工作的选项。

我能得到的最接近的是这个:

screen -S MySessionName -d -m myprogram
Run Code Online (Sandbox Code Playgroud)

这会在后台启动一个新的屏幕会话,运行myprogram. 除了一旦myprogram完成(有时是立即)屏幕会话终止,而我想保持它运行。

session bash scripts gnu-screen background-process

3
推荐指数
1
解决办法
1万
查看次数

screen 的默认环境是 /bin/sh,而它应该是 /bin/bash?

我正在尝试调用一个程序在 /etc/rc.local 中启动时运行,该程序运行两个命令:

  1. 使用启动一个分离的屏幕 screen -dmS name
  2. 使用 screen -S name -X stuff command

然而,该命令依赖于设置的环境变量。我已经在根 .profile 和根 .pam_environment 文件中设置了这些 EXPORT 命令。作为参考,它们是:

export PATH=$PATH:/usr/local/cuda-7.0/bin

export LD_LIBRARY_PATH=:/usr/local/cuda-7.0/lib64

但是,启动屏幕无法看到这些变量和错误error while loading shared libraries: libcudart.so.7.0: cannot open shared object file: No such file or directory- 如果未设置这些变量,这就是我所期望的。

问题是我不明白为什么没有设置它们。我最好的猜测是,出于某种原因,屏幕正在使用/bin/sh(这是它报告的内容,如果 I echo $0,而根的默认外壳是/bin/bash

更奇怪的是,这只发生在启动时像这样实例化的屏幕。如果我使用相同的命令来启动一个分离的屏幕,它会正常工作(并使用 /bin/bash)并且环境变量没有问题。

知道是什么原因造成的以及如何解决吗?我正在使用Ubuntu 14.04 LTS.

bash gnu-screen environment-variables

2
推荐指数
1
解决办法
4039
查看次数

保留 SSH 会话的内容

假设我的 VPS 上有这个 python 脚本:

# test.py
import time

while True:
    print('tick...')
    time.sleep(10)
Run Code Online (Sandbox Code Playgroud)

如果我使用 SSH 登录到我的 VPS 并运行此脚本,我可以看到tick...控制台中出现的消息。但是如果我注销并重新登录,一切都消失了。我可以看到使用htoppython 脚本仍在运行,只是没有将任何内容打印到我的新 SSH 会话中。

有什么办法可以恢复上次 SSH 会话,以便再次查看脚本的结果?

我尝试了该screen工具 ( screen -S test-> python test.py),但在重新连接到 SSH 后,当我尝试转到屏幕会话 ( screen - S test) 时,它只打印[screen is terminating].

ssh gnu-screen 20.04

0
推荐指数
1
解决办法
37
查看次数